Intel To Improve "Out Of The Box" Linux Gaming

Posted by Michael Larabel on February 07, 2013

Ian Romanick of Intel has laid out plans for improving the automatic configuration of game quality and performance settings under Linux in an effort to improve the out-of-the-box experience for drivers and graphics cards on the open-source operating system.

Last weekend at FOSDEM 2013 in Brussels, Ian Romanick expressed plans to enhance the "out of the box" / automatic configuration experience for games on Linux. He wrote in his talk's abstract, "Every game for desktop PCs has the ability for the user to tune quality and performance settings. However, for the out-of-the-box experience, these games also need to detect the hardware installed in the user's system to select the initial settings. On Windows and Mac, there are a number of system interfaces provided for this purpose, but on Linux it is surprisingly difficult. This talk will cover some current best practices used by shipping Linux games. It will also introduce some interfaces under development to improve the current state of affairs."

His ongoing work is to basically allow better defaults when launching games on Linux for settings like shader quality, texture sizes, etc. He's been talking with several game developers -- including Valve -- and the current interfaces for determining core system attributes is a mess.

In his communication with various studios, the common ways game developers are having to resort to determining system attributes relevant to them (such as the graphics card being used) is by using libpci (the Linux PCI library) and going through the vendor and device IDs of VGA adapters, looking at the OpenGL strings (GL_RENDERER / GL_VENDOR / GL_VERSION), and some different OpenGL extensions that sometimes work (such as GL_ATI_meminfo).

These current methods basically fail as they are a mess to implement, don't always work in case of multi-GPU systems (depending upon what GPU is active, integrated vs. discrete, GPU offloading, etc) and the reported strings aren't always stable. Each vendor is basically reporting information differently, creating an OpenGL context first is necessary for obtaining some of this information, and "probing PCI information using the external library just sucks."

Aside from game studios, this lack of standardized hardware / driver information reporting under Linux is something that's been a personal gripe of mine for years. Some of my complaints were expressed in Phoronix, Benchmarking At XDC2012 and Verbose GPU, CPU Information Under Linux. Aside from just finding out the active GPU and the OpenGL version in a standardized way, it's also far from being standardized for having a way to find out the GPU clock frequencies and other system vitals that are useful for performance monitoring, measurements, and debugging.

Within the Phoronix Test Suite and its Phodevi (Phoronix Device Interface) library it's generally come down to needing to implement separate code-paths for each of the open and closed-source drivers or even multiple code-paths for a single driver when they break their debugfs interfaces or other reported data between kernel / driver releases. Sadly, there's been little improvements to date in terms of standardized reporting under Linux.

In terms of the information desired by game developers, Ian Romanick is hoping to have some solution devised within Mesa by "this time next year." He's still seeking feedback and suggestions from various game developers and considering other solicitations. This would basically be a yet-to-be-developed feature for Mesa 9.2 / Mesa 10.0. Hopefully the settled for solution will also have been implemented by the proprietary AMD and NVIDIA drivers on Linux too...

Embedded below is Romanick's FOSDEM talk for those wanting more details. Also see the other Phoronix coverage of this annual European open-source event filled with lots of great technical talks.


Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. KDE's KWin Made Lots Of Progress In 4.11
  2. Ubuntu Announces Carrier Advisory Group
  3. Qt 5.1 Release Candidate 1 Has Arrived
  4. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  5. Subversion 1.8 Presents New Features
  6. LLVM 3.3 Officially Released
  7. LLVM/Clang Now Uses Loop Vectorizer At New Levels
  8. Intel GPU Driver Tries To Rip Out FBDEV Support
  9. Coreboot Doing AMD USB 3.0, Q35 QEMU Emulation
  10. VP9 Codec Now Enabled By Default In Chrome
  11. openSUSE 13.1 M2 Plays On PulseAudio 4.0
Latest Forum Talk
  1. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  2. Ubuntu Announces Carrier Advisory Group
  3. Planetary Annihilation Plans To Come To Linux
  4. LLVM 3.3 Officially Released
  5. Intel Haswell-Based Apple MacBook Air, HD 5000...
  6. Intel GPU Driver Tries To Rip Out FBDEV Support
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite