Vsync is forced in OpenGL game (Crusader Kings 3)
❯ inxi -GSC -xx
System: Host: mjb Kernel: 5.9.8-zen1-1-zen x86_64 bits: 64 compiler: gcc v: 10.2.0
Desktop: KDE Plasma 5.20.3 tk: Qt 5.15.1 wm: kwin_x11 dm: LightDM
Distro: EndeavourOS
CPU: Info: 6-Core model: AMD Ryzen 5 2600 bits: 64 type: MT MCP arch: Zen+ rev: 2
L2 cache: 3072 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
bogomips: 92402
Speed: 3832 MHz min/max: 1550/3850 MHz boost: disabled Core speeds (MHz):
1: 3832 2: 3845 3: 3838 4: 3838 5: 3839 6: 3840 7: 3826 8: 3841 9: 3832 10: 3845
11: 3844 12: 3834
Graphics: Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
vendor: Sapphire Limited Nitro+ driver: amdgpu v: kernel bus ID: 06:00.0
chip ID: 1002:67df
Display: x11 server: X.org 1.20.9 compositor: kwin_x11 driver: amdgpu
resolution: <missing: xdpyinfo>
OpenGL: renderer: Radeon RX 580 Series (POLARIS10 DRM 3.39.0 5.9.8-zen1-1-zen
LLVM 11.0.0)
v: 4.6 Mesa 20.2.2 direct render: Yes
Describe the issue
- Turn compositor off so it doesn't interfere
- Open "Crusader Kings 3" in fullscreen (OpenGL native game, I don't have any other to test atm)
- Go to settings, turn off vsync.
- Game is still locked at 75hz, my monitor's refresh rate.
I can force it off with vblank_mode=0 but then game's own vsync doesn't work anymore.
If I simply enable vsync in-game and don't set vblank_mode=0, it stutters heavily (double vsync?).
Probably worth mentioning I have VRR/Freesync enabled and TearFree disabled on my xorg conf.
Regression
I can't be 100% sure it's not the game's fault but it did use to work as expected on mesa 20.1.x, it didn't force vsync on by default and I could turn it on/off in-game.