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. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. The Cost Of Ubuntu Disk Encryption
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
Latest Linux News
  1. Unity 8, Mir Made Progress This Week On Features
  2. LLVM Clang 3.3 RC2 Is Ready For Testing
  3. AMD RadeonSI Gallium3D Begins Simple CL Demos
  4. Intel Shows Off GNOME3-Based Tizen Shell
  5. Linux Desktop Security Could Be A Whole Lot Better
  6. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  7. New NVIDIA Linux Driver Supports The GeForce GTX 780
  8. Chrome 28 To Offer More Speed Improvements
  9. Digia Announces "Boot To Qt" Project
  10. X.Org Libraries Hit By Round Of Security Issues
  11. Wayland's Weston Gets Output Scaling Support
Latest Forum Talk
  1. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. AMD RadeonSI Gallium3D Begins Simple CL Demos
  3. Sun x4500 firmware
  4. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  5. Could the forum help improve the quality of...
  6. Linux Desktop Security Could Be A Whole Lot Better
  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