In preparation for the Steam Deck launch in the coming months, AMD and Valve have been working hard to develop a new CPU driver that will improve the performance and energy efficiency of Ryzen-based processors on the Linux platform. One of the developers at AMD, Ray Huang, announced details of the new driver in a presentation at the X.Org Developers Conference (XDC2021) last Friday. You can watch the video below for all the details.
According to the presentation, development of the new CPU driver began when Valve discovered problems with the current ACPI CPUFreq driver, which is now used on all Intel and AMD processors with a Linux operating system. The developer found performance issues with games with its Proton compatibility layer caused by incorrect sysfs calls to Wine from the CPUFreq driver. This is particularly worrying as Valve needs to fix this issue if we want the Steam Deck to run smoothly with its custom Zen 2 SoC and Linux-based SteamOS.
After Valve contacted AMD about this, AMD also found other issues related to the older ACPI driver that were causing problems with the performance and energy efficiency of Ryzen on Linux.
The problem with the old ACPI driver is largely related to its age. The driver was developed by Intel years ago and was developed for Core CPUs of the 1st generation and older. Needless to say, this age-old driver cannot take full advantage of all the features of AMD’s latest Ryzen CPUs.
AMD is addressing the known issues with its new CPPC driver; effectively, the new driver is able to achieve any desired energy state for the corresponding workload. AMD will achieve this by providing its own P-state driver to control CPU clock rates (instead of the Intel version in the ACPI driver) and by using multiple regulators to control and predict CPU workloads.
In preliminary tests with a Ryzen 7 5750G, AMD found that the new driver has already increased the Zen 3’s performance per watt by 10-25%. In TBench and Speedometer 2.0, AMD has found an improvement in energy efficiency of 10.6% with the OnDemand controller. The biggest improvement, however, came from the Gitsource benchmark, which saw an energy efficiency improvement of 26.6% using the same controller.
In a gaming test, AMD showed a quick demo of Horizon Zero Dawn running on a Ryzen 7 Pro 5750G and locked at 60 FPS to demonstrate the improvements to AMD’s new P-state driver. The test shows that the new AMD P-state driver significantly reduces the clock rate of the idle cores to just 400 MHz. Meanwhile, all idle cores running on the older ACPI driver only go down to 3.8 GHz.
The new CPPC driver is still in the early development phase and has not yet been officially released. Current goals of AMD include making the new driver in the Linux kernel as stable as possible and integrating the CPPC driver into the official Linux kernel.
For more information, see the following slides: