KWin Compositing and GLX rework with Nvidia driver

Roman Gilg subdiff at gmail.com
Tue Aug 20 19:45:25 BST 2019


Hi Erik,

I'm doing at the moment a rework of compositing pipeline and GLX
backend. I'm following a rather radical approach in throwing away old
cruft and streamlining the code:
https://phabricator.kde.org/D23105

I want to simplify code drastically and for that have a primary code
path of an event driven compositing loop reacting to vblank finish
events because that's simple and it's how we do it in Wayland DRM
backend as well. Only as fallback there is a timer if event driven
synchronization with vblanks is not supported on the hardware

I tested the current rework code now with Nvidia proprietary driver
where synchronization is not supported, but it seems to work fine here
with the fallback timer. Still, if there is an extension Nvidia uses
for vblank notification that I don' know about, we could do the same
as on Intel/AMD with GLX_INTEL_swap_event and synchronize the paint
with the frame times.

What I didn't test yet is an Optimus setup. Do you have such a test
setup at hand from your previous work on KWin? Also general feedback
on the rework would be great. Best would be to do this directly on the
WIP Phab code review linked above.

Cheers,
Roman


More information about the kwin mailing list