ITADN

Hardware cursor fails silently on external display → CPU 99% with software cursor fallback

#14433ClosedExamera1005 创建于 2026-05-11
E
Examera1005commented
**System Info:** ``` Hyprland 0.55.0 (v0.55.0) Aquamarine: 0.11.0 GPU: Intel Alder Lake (integrated) External display: HDMI connected via USB-C / DP Alt Mode Mouse: Logitech G502 SE HERO (1000Hz) OS: CachyOS (Arch Linux), kernel 7.0.5 ``` --- Description: When moving the mouse on the external display (connected via USB-C to HDMI adapter), CPU spikes to 99% on a single logical core. The scheduler migrates the thread continuously, indicating a busy-wait or synchronous infinite loop behavior. This happens because: 1. The DRM atomic commit for the hardware cursor plane (DRM_PLANE_TYPE_CURSOR) is silently rejected by the Intel i915/xe driver on this specific connector (DP Alt Mode path) 2. Aquamarine falls back to software cursor 3. At 1000Hz mouse polling rate, each evdev interrupt triggers full scene damage tracking + OpenGL texture re-upload 4. Render time exceeds 1ms per frame → thread main cannot keep up → CPU saturation Workaround: - cursor { no_hardware_cursors = true } in hyprland.conf - Reduce mouse polling rate to 250Hz (via ratbagctl/piper) Expected behavior: - Hardware cursor should work OR software cursor should not cause CPU saturation _________ This desciption was done by opencode's Minimax2.5 Free
关闭于 2026-05-11 1 条评论