Improving User-Accessible Vsync Controls

I too would like to see this implemented, and I also don’t use window effects/animations at all, so the “tearing makes animations look bad” thing is irrelevant to me.

Yes, this is going against the “every frame is perfect” thing that Wayland was/still is going for, yes it’s another niche feature that barely anybody is ever going to use, and yes, it is indeed true that way too many apps contribute way more latency than a 60Hz refresh cycle ever could (Electron stuff mostly), but still. I’ve been looking for this (anywhere in Wayland-land, not just KDE), and no compositor anywhere seems to have this implemented (Kwin only supports tearing for fullscreen apps, Sway has a force tearing option but also only works on fullscreen, and not much else seems to bother even with that)…

I really don’t want to be on Xorg anymore over this (though I am currently making myself run it with compositing for other reasons, but disabling it is so much better), it’s basically unmaintained and can barely handle e.g. video playback (without dropping frames) properly (yes I know that you won’t get videos to play properly with tearing, but that’s where I go out of my way to turn it back off… this is why this should be a user-accessible option), and future (and current in many cases) hardware compatibility is meh conceptually so I’d love to upgrade here, but…

I want my tearing back. And I’m not even that old, I was perfectly capable of running wayland for quite a while actually but went to Xorg “temporarily”, then had compositing disabled for a while and it’s a lot better imo.

Also, some apps behave terribly when running under a vsynced desktop: Electron stuff, for instance, is not good on composited Xorg but actually somewhat bearable if you turn it off (a lot better on Wayland, but still worse than with tearing on Xorg)… yes, that’s an application issue and not a server issue, but at least that’s another reason one might want to turn desktop-wide vsync off.

Also:

I have done this successfully now (compiling a hack of kwin that tears always).

anybody know what this patch is and what it does? Couldn’t figure this out myself… unfortunately I can’t contribute anything code-wise here myself.