Summary: | vsync setting of OpenGL programs is ignored | ||
---|---|---|---|
Product: | Mesa | Reporter: | thedribbleondo |
Component: | Mesa core | Assignee: | mesa-dev |
Status: | RESOLVED NOTOURBUG | QA Contact: | mesa-dev |
Severity: | normal | ||
Priority: | medium | CC: | notasas |
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | Xorg log |
Description
thedribbleondo
2017-03-05 08:24:13 UTC
If sync-to-vblank can't be disabled in the game settings, you can override it with the environment variable vblank_mode=0. I experience the same problem with Dirt: Showdown. Vsync is "OFF" in game settings, but it stays stubborn at 60fps. Please attach the Xorg log file and the ~/.drirc file corresponding to the problem. (In reply to Michel Dänzer from comment #1) > If sync-to-vblank can't be disabled in the game settings, you can override > it with the environment variable vblank_mode=0. Tested this very briefly, and it worked! Adding it to the list of commands Steam itself executes on runtime fixes the issue, adding this top the Payday 2 launch options does not. Created attachment 130088 [details]
Xorg log
Actually this is quite an old problem with my setup as well - ingame vsync settings are ignored (always acts as on regardless of the setting) and I always have to resort to vblank_mode override. i965, anv or radv don't have this problem on the same setup so assigning to radeonsi.
Some maybe relevant settings:
window manager: xfwm4
compositing: off
no ~/.drirc file
TearFree: on
DRI: 3
mesa+llvm git (or older)
What's worse, this forced vsync occasionally goes out of sync with the display refresh and I get stuttering (the game is surely fast enough, 100+ fps with vblank_mode override). So if I run 60fps OpenGL game like Talos, it first runs smoothly, after a while starts stuttering (for half a minute or so), then goes back to smooth again and so on and on, while the fps counter shows "clean" 60.
Since explicitly setting vblank_mode=0 works, it sounds like either the games are not actually disabling sync-to-vblank properly (an apitrace of toggling the sync-to-vblank setting in-game might shed some light on this), or vblank_mode is set to 3 (which forces sync-to-vblank regardless of what the application requests) in ~/.drirc or /etc/drirc. Anyway, there's no radeonsi specific code involved in this. E.g. the VSync setting in Unigine Valley works as expected for me (note that changing the setting only takes effect after clicking the OK button as well). I wanted to do more testing today, but it doesn't seem to reproduce any more on my games, except for The Talos Principle. I can confirm vsync works correctly on Unigine Valley, Left 4 Dead 2, Black Mesa, Tomb Raider, I don't have Dirt: Showdown or Payday 2. For Talos, I think I've found what's going on and sent a patch: https://lists.freedesktop.org/archives/mesa-dev/2017-March/147099.html (In reply to Grazvydas Ignotas from comment #8) > For Talos, I think I've found what's going on and sent a patch: > https://lists.freedesktop.org/archives/mesa-dev/2017-March/147099.html Per Ian's followup, that's actually a Talos issue. Might be the same or similar issues in Payday 2, Dirt: Showdown and other games. Resolving this report as not our bug, since there's no evidence of a bug in Mesa or other driver components. Please only reopen if such evidence turns up. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.