1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Intel To Improve "Out Of The Box" Linux Gaming

Mesa

Published on 07 February 2013 04:23 PM EST
Written by Michael Larabel in Mesa
Comment On This Article

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.


Latest Linux Hardware Reviews
  1. ASUS AM1I-A: A Mini-ITX Board For Socketed Kabini APUs
  2. Mini-Box M350: A Simple, Affordable Mini-ITX Case
  3. Overclocking The AMD AM1 Athlon & Sempron APUs
  4. AMD Athlon 5350 / 5150 & Sempron 3850 / 2650
Latest Linux Articles
  1. Ubuntu 12.04.4 vs. 13.10 vs. 14.04 LTS Desktop Benchmarks
  2. AMD OpenCL Performance With AM1 Kabini APUs
  3. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
  4. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
Latest Linux News
  1. The Improv ARM Board Still Isn't Shipping; Riding A Dead Horse?
  2. Debian To Maintain 6.0 Squeeze As An LTS Release
  3. Wasteland 2 Is Finally Released For Linux Gamers
  4. FreeBSD Advances For ARM, Bhyve, Clang
  5. Ubuntu 14.04 LTS "Trusty Tahr" Officially Released
  6. Ubuntu 12.04 LTS vs. 14.04 LTS Server Benchmarks
  7. QEMU 2.0 Released With ARM, x86 Enhancements
  8. Running The Unity 8 Preview Session On Ubuntu 14.04 LTS
  9. R600 Gallium3D Disables LLVM Back-End By Default
  10. Fedora 21 Gets GNOME 3.12, PHP 5.6, Mono 3.4
  11. Fedora Workstation Is Making Me Quite Excited
  12. Maynard: A Lightweight Wayland Desktop
Latest Forum Discussions
  1. The GNOME Foundation Is Running Short On Money
  2. Updated and Optimized Ubuntu Free Graphics Drivers
  3. Radeon 8000M problematic on Linux?
  4. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  5. After Jack Keane, RuseSoft will briing Ankh 3 to Linux through Desura
  6. Suspected PHP Proxy Issue
  7. Change installation destination from home directory
  8. Bye bye BSD, Hello Linux: A Sys Admin's Story