Skip to main content

AMD Developer Discusses New Linux CPPC Drivers For Ryzen, Steam Deck

Ryzen 5000 (Cezanne) Processor
(Image credit: AMD)

In preparation for the Steam Deck launch in the coming months, AMD and Valve have been hard at work building a new CPU driver that will enhance the performance and power efficiency of Ryzen-based processors on the Linux platform. One of AMD's developers, Ray Huang, shared details of the new driver in a presentation last Friday at the X.Org Developers Conference (XDC2021). You can check out the video below for full details. 

According to the presentation, the new CPU driver started development when Valve found problems with the current ACPI CPUFreq driver being used today on all Intel and AMD Processors running a Linux OS. The developer found performance problems with games using its Proton compatibility layer, that was caused by incorrect sysfs calls to Wine from the CPUFreq driver. This is particularly worrying because Valve needs this problem fixed if it wants the Steam Deck to run games smoothly with its custom Zen 2 SoC and Linux-based SteamOS.

Once Valve contacted AMD about the matter, AMD also found other issues pertaining to the older ACPI driver, which were causing problems with Ryzen's performance and power efficiency on Linux.

The problem with the old ACPI driver is largely tied to its age. The driver was created by Intel years ago and was designed for 1st generation Core CPUs and older. Needless to say, this ancient driver cannot take full advantage of all the features AMD's latest Ryzen CPUs can offer.

AMD is addressing the known issues with its new CPPC driver; effectively the new driver will be able to target any power state it wants for the appropriate workload. AMD will achieve this by providing its own P-state driver to control CPU clock speeds (instead of the Intel version in the ACPI driver), and through the use of multiple governors to control and predict CPU workloads.

In preliminary tests with a Ryzen 7 5750G, AMD found that the new driver has already boosted Zen 3's performance per watt by 10-25%. In TBench and Speedometer 2.0, AMD found a 10.6% improvement in power efficiency using the OnDemand governor. But the largest improvement was from the Gitsource Benchmark, which saw a 26.6% improvement in power efficiency with the same governor.

In a gaming test, AMD showed off a quick demo of Horizon Zero Dawn running on a Ryzen 7 Pro 5750G, locked to 60FPS, to demonstrate the enhancements made to AMD's new P-state driver. The test shows that the new AMD P-state driver, reduces the clock speed of idle cores significantly, to just 400mhz. Meanwhile, all the idle cores running on the older ACPI driver are only going down to just 3.8GHz.

The new CPPC driver is still in early development, with no official release date just yet. Current goals for AMD include getting the new driver as stable as possible in the Linux kernel and getting the CPPC driver into the official Linux kernel.

For more details, check out the slides below:

Image 1 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 2 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 3 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 4 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 5 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 6 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 7 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 8 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 9 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 10 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 11 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 12 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 13 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 14 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 15 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 16 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 17 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 18 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 19 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 20 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 21 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)
Image 22 of 22

AMD Linux CPPC Driver Presentation

(Image credit: AMD)