Hey, ran into a hardware-cursor issue on a rotated monitor that I think might be different from #225 . Opening this separately since the driver stack is different, but happy to merge if it's the same root cause.
Symptom: with HW cursors on, the cursor sprite stops short of one physical edge of my portrait monitor, like the sprite thinks the monitor is smaller than it actually is. The underlying pointer position is fine. I can click UI in the apparently-unreachable strip, the cursor sprite just doesn't get drawn there. Setting cursor:no_hardware_cursors = true makes it go away.
#225's case is zen5 CPU + amdgpu + locally-built with -march=native. I'm also on a zen5 CPU but the affected monitor is hanging off a discrete NVIDIA card, and my hyprland/aquamarine packages are CachyOS prebuilt from their znver4 repo (so not -march=native). Probably a different code path.
One thing that might help narrow it down: while debugging I noticed the bug is asymmetric across transforms. Tested all four at runtime via hyprctl keyword monitor "...transform N" on the same physical setup:
- transform=0: no issue, all edges reachable
- transform=1: no issue, all edges reachable
- transform=2: cursor clips the same physical edge (bottom from my view)
- transform=3: cursor clips the same physical edge (this is my normal setting)
So T=0/1 are fine, T=2/3 are broken. Both of the broken ones include a 180° rotation component. Felt suspicious enough to mention.
System:
- Hyprland 0.55.0 (CachyOS package 0.55.0-3.1)
- aquamarine 0.11.0 (CachyOS package 0.11.0-2.1)
- nvidia driver 595.71.05 (open kernel module)
- Linux 7.0.6-1-cachyos
- AMD Ryzen 9 9950X3D (zen5)
- Discrete GPU driving the rotated monitor: NVIDIA RTX 4090 (PCI 10DE:2684)
- Integrated GPU also present (AMD Radeon Granite Ridge / amdgpu) but not driving anything visible. - The monitors live on the NVIDIA card
- Affected monitor: Dell G3223Q physically rotated 90° CCW, configured as
transform=3 in Hyprland, 3840x2160@144 scale 2
dmesg is quiet. Nothing about cursor / drm / nvidia when I trigger it.
Hey, ran into a hardware-cursor issue on a rotated monitor that I think might be different from #225 . Opening this separately since the driver stack is different, but happy to merge if it's the same root cause.
Symptom: with HW cursors on, the cursor sprite stops short of one physical edge of my portrait monitor, like the sprite thinks the monitor is smaller than it actually is. The underlying pointer position is fine. I can click UI in the apparently-unreachable strip, the cursor sprite just doesn't get drawn there. Setting
cursor:no_hardware_cursors = truemakes it go away.#225's case is zen5 CPU + amdgpu + locally-built with
-march=native. I'm also on a zen5 CPU but the affected monitor is hanging off a discrete NVIDIA card, and my hyprland/aquamarine packages are CachyOS prebuilt from their znver4 repo (so not-march=native). Probably a different code path.One thing that might help narrow it down: while debugging I noticed the bug is asymmetric across transforms. Tested all four at runtime via
hyprctl keyword monitor "...transform N"on the same physical setup:So T=0/1 are fine, T=2/3 are broken. Both of the broken ones include a 180° rotation component. Felt suspicious enough to mention.
System:
transform=3in Hyprland, 3840x2160@144 scale 2dmesg is quiet. Nothing about cursor / drm / nvidia when I trigger it.