Thursday, October 18

How-To Improve Gaming Performance in Ubuntu 12.10

Ubuntu 12.04 and Unity interface has been criticized for poor gaming performance as many users were finding higher frame rate in 3D games while using other desktop environments like Gnome Shell, Unity2D and Classic Gnome.

The good thing is, Unity and Compiz developers have done some pretty neat work in Ubuntu 12.10 that will allow you to improve gaming performance.

Apart from under the hood improvements in Ubuntu 12.10, there are couple of tweaks that you can use to increase FPS (frames per second) in 3D games. If you don't game on Ubuntu desktop, I will suggest you to not to apply these tweaks as there can be some side effects. However, if you are gamer, then these tweaks will be worth it.

In Compiz Config Settings Manager, you will find a setting called 'Unredirect Fullscreen Windows' under Composite section.


When this feature is enabled, drawing occurs directly on the screen rather than first drawing off-screen and then copying the drawn content back onto the screen. This feature alone can boost FPS in fullscreen games to a great extent.

Unredirect Fullscreen Windows is disabled by default in Ubuntu 12.10 as there are some driver and compiz bugs associated with it. So until these issues are fully sorted out, it won't be enabled by default. Ubuntu developers have some valid reasons for not enabling it by default.

You can test improvement in FPS on your system by running glxgears -fullscreen before and after enabling Unredirect Fullscreen Windows.

Do not try to use this tweak in Ubuntu 12.04. While recent Unity changelog in Ubuntu 12.04 mentions a fix for Unredirect Fullscreen Windows, it is not fully working yet. See comments at the end of this bug. The fix in question will ensure that Unity loads on next login when Unredirect Fullscreen Windows is enabled, but there won't be a visible performance gain.

The next tweak is disabling 'Sync to Vblank' in CCSM and in your graphic drivers. Sync to vblank limits your FPS and matches it to your monitor refresh rate. 

Sync to vblank can be turned off by disabling it in CCSM, disabling it in your graphic driver control panel and by adding export vblank_mode=0 line in ~/.bashrc.


Try to notice the difference in FPS yourself when running glxgears with sync to vblank enabled and disabled. Sync to vblank turned on by default is not a bad thing as it will prevent visual tearing and it ensures smooth video playback. But it also limits FPS in games, so as I said earlier, only apply these tweaks if you like to improve performance of 3D games.

Lastly, if you are using open source Radeon drivers for AMD cards, read our guide on enabling OpenGL 3.0 support that will improve gaming performance on your system.

0 comments:

Post a Comment

Preload Image 1 Preload Image 2 Preload Image 3 Preload Image 4 Preload Image 5