XWayland is capping framerate to 60 fps with KWin in borderless fullscreen (Wine)
Opening a new bug, since old one is closed and this is more specific one.
When using KWin/Xorg, I get unlimited framerate in Wine, even though my monitor has 60 Hz refresh rate.
However KWin/XWayland is capping framerate to 60 fps (Wine relies on XWayland in such case). I noticed it with games run in fullscreen borderless mode (not true fulscreen).
According to the previous bug report, only true fullscreen would work with XWayland without capping by default, and in other cases compositors need to support it.
I opened KWin bug about it: https://bugs.kde.org/show_bug.cgi?id=401797
However, KWin developers said, that KWin doesn't really cap things:
KWin is synced to the frame rate of the screen. On the other hand KWin does not limit the frame rate of windows. They can render as many frames as they want. Just KWin won't render them.
You have to ask the XWayland developers why they cap the frame rate. As I wrote KWin does not limit applications, they can render at whatever frame rate they want. We honestly don't care at all.
Is there some way for XWayland not to cap windowed cases as well?
The use case for having the framerate uncapped while monitor has fixed refresh rate is benchmarking. In my case I measure performance of The Witcher 3 + Wine + dxvk + (radv or amdvlk). Swapping newer version in the stack and checking how it changes performance.
The Witcher 3 in Wine produces borderless fullscreen (it doens't work well in true fullscreen). Benchmarks show unlimited framerate in KWin/X, but it's capped in KWin/Xwayland.
Configuration:
- OS: Debian testing with kernel 4.19.5
- XWayland: 1.20.3
- Plasma / KWin: 5.14.3
- GPU: Sapphire Pulse Radeon Vega 56
- Graphics: OpenGL/Vulkan: Mesa master (for Wine and games), Mesa 18.3.0-rc5 (for the desktop).