[platforms/X11] Disable VSync for QtQuick Windows
Summary: QtQuick windows created by KWin currently use the default swap interval of 1, meaning buffer swaps will block until vblank. However, this results in a problematic interaction on hybrid graphics systems running the proprietary NVIDIA driver. VSync on such setups relies on a system called "PRIME synchronization", where the xf86-video-modesetting driver controlling the display will signal the NVIDIA driver when vblank has occurred. The issue is that it will only do so if there has been damage to the screen. So, when KWin creates a QtQuick window, compositing will stop waiting on the window to render, therefore no damage to the screen will occur. But this means that no vblank notifications will be delivered to the NVIDIA driver, so the glXSwapBuffers call by the QtQuick window will block perpetually. The end result is a freeze of the desktop. To get around this, we can simply disable vsync for QtQuick windows by setting the swap interval for the de...
parent
105ae7bb
Please register or sign in to comment