GNOME Bugzilla – Bug 650096
OpenGL Games vblank_mode=0 and CLUTTER_VBLANK=none doesn't work
Last modified: 2011-06-15 08:14:43 UTC
Hello! When using Gnome 3 with Mutter switching VSYNC off doesn't work as expected. With Metacity and Compositing setting "vblank_mode=0" VSYNC is completely off, all OpenGL-Games run with full performance. Using Metacity works with Gnome 2 and 3. With Gnome 3 and Mutter, switching off VSYNC seems to work for applications like "glxgears" but not for IOQuake3 (maybe because of fullscreen?). Steps to reproduce: 1. install IOQuake3 (or OpenArena) 2. launch quake3 3. open console 4. cg_drawfps 1 5. timedemo 1 6. demo four (part of Quake3) vblank_mode=0 and CLUTTER_VBLANK=none are always set! /sys/..*longpathhere*.../power_method is set to profile, mode is default! * Gnome 2 with Metacity (compositing off): 60 fps // bad, but can be ignored * Gnome 2 with Metacity (compositing on): ~120 fps // framerate is stable * Gnome 3 with Mutter: 67 fps // framerate is jumping sometimes above 120, most time FIXED to 60 fps * Gnome 3 with Metacity (manual fallback-mode, compositing off): 60 fps // bad, but can be ignored * Gnome 3 with Metacity (manual fallback-mode, compositing on): 160 fps // framerate stable, additional increase of framerate about 40 fps is maybe caused by better driver Hardware: Acer Timeline 3280 with Mobile-Radeon5650 Software: Archlinux (stable), with Vanilla-Kernel 2.6.39-rc4 and xf86-video-ati-6.14.1-1 with Gallium. What is expected: VYSNC-Setting should be respected by Mutter, compared to Metacity a average fps above 120 fps should be the result. The "jumping" of the framerate above 60 fps for some seconds during the demo could be a hint? Thank you for your work! I will try to upload lspci, package-list and everything else you can use during the weekend.
This is not a gnome bug! http://people.freedesktop.org/~agd5f/pflip/0003-ddx-ati-Add-option-SwapbuffersWait-to-control-vsync-.patch I'am disabled SwapbuffersWait via "xorg.conf". But I don't know why Metacity+Compositor doesn't require this. Also that confuse every user who doesn't want VSYNC! Because vblank_mode is useless without disabled SwapbuffersWait. There should be a environment-variable for SwapbuffersWait, or better SwapbuffersWait should be affected automatically by vblank_mode. Phoronix is maybe not be best source, but they care about OpenGL and Gaming on GNU/Linux: http://www.phoronix.com/scan.php?page=article&item=ati_r500_pflipper&num=2