Skip to content

HW cursor sprite clipped on transforms 2/3 with NVIDIA dGPU (related to #225, different stack) #302

@vctrstrm

Description

@vctrstrm

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions