Performance Counters Stuck For Linux GPU Drivers

While it mostly concerns developers, another current shortcoming of the open-source Linux graphics drivers is the lack of suitable performance counters support.

During Ian Romanick's discussion at FOSDEM about, "GPU hardware detection for automatic configuration of game quality/performance settings", Martin Peres of the Nouveau project brought up performance counters for being able to read exposed information by the hardware that helps driver developers and game developers with useful real-time hardware performance information such as about cache usage, PCI-E bandwidth utilization, and other hardware attributes.

The details about Romanick's interesting talk will be shared in a separate article, but when it comes to performance counters for open-source Linux GPU drivers it is another area where open-source drivers lag behind the proprietary graphics drivers. The open-source state comes down to:

Intel: They don't support any performance counters for their graphics hardware by the open-source driver. Intel has lots of developers to work on the support, but for now at least they're being blocked by the Intel legal department. It looks like Intel's trying to keep their graphics performance counters a closely-guarded secret since it exposes so many low-level hardware details.

The Intel GPU performance counters have been described as being extremely programmable and do allow for on-the-fly adjustments. The available counters on the graphics side are said to be similar to Intel's CPU performance counters but with even more options for developers. The problem is that it's too much and so Intel doesn't want to make it all public. Intel Open-Source Technology Center developers are pushing for portions of the performance counters infrastructure to be opened at least for the most important and commonly sought after counters.

Nouveau: Martin Peres says the reverse-engineered NVIDIA graphics driver has figured out how to read the GeForce performance counters, but they really aren't sure what the data means.

When the open-source graphics drivers on Linux begin to expose their hardware performance counters, the data will likely be exposed to application/game developers through an OpenGL extension like the already existing GL_AMD_performance_monitor.

Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via Twitter and Google+ or contacted via MichaelLarabel.com.