On 11/13/25 08:33, rat marrow wrote:
> I came here from a discussion on the Hyprland repo a few months back: 
> https://github.com/hyprwm/Hyprland/discussions/10823#discussioncomment-13601563
>  
> <https://github.com/hyprwm/Hyprland/discussions/10823#discussioncomment-13601563>
> 
> I was initially planning to just bide my time until maybe, just maybe, 
> someone with more know-how would have the same issue I have and take action 
> on it, but I figured maybe reaching out couldn’t hurt?
> 
> To preface, I do not have the technical knowledge to fully /understand/ what 
> I am asking for, as in what would have to be done to support such a 
> functionality.
> 
> I also want to say that I am not coming from the perspective of gaming, as 
> there have been many strides in conditional tearing control. This is about 
> the desktop experience.
> 
> As I’m sure you all know, in X11, assuming one hasn’t modified the 
> functionality in some way, the cursor is updated as soon as possible. This 
> means minimal latency, at the cost of barely noticeable tearing on the cursor 
> plane,

There's no tearing of the cursor plane that I know of (it's up to the KMS 
driver).


> and artifacts where, as an example, a window you are dragging will lag behind 
> the cursor.
> 
> Now, obviously for a lot of users, the latency trade-off is worth the more 
> visually perfect frame, but there are some people (Hi!) who would be willing 
> to sacrifice that perfection for a more responsive system.
> 
> What I am asking for, put simply, is functionality that allows an end-user to 
> enable this behaviour and accept the trade-offs that come with it.

The choices you're describing are mostly up to the Wayland compositor.

I implemented more or less the same cursor handling as Xorg in mutter in 
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4249 . I was asked by 
kernel KMS developers not to do this though, because it might tickle kernel 
bugs (in which case Xorg should tickle at least some of them as well 
though...), so I abandoned it.

Instead, I'm proposing a HW_DONE_DEADLINE CRTC property, which the compositor 
can use to minimize cursor latency. See 
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4540 , which also 
references the kernel changes.

(Speaking to AMD developers, apparently my assumption that AMD GPUs can reflect 
cursor position changes while a frame is being scanned out was wrong, in which 
case this should allow getting cursor latency very close to Xorg, certainly 
within a millisecond)


-- 
Earthling Michel Dänzer       \        GNOME / Xwayland / Mesa developer
https://redhat.com             \               Libre software enthusiast

Reply via email to