AMD and Valve Are Working to Improve the ACPI CPUFreq Driver for Better Gaming Performance on Linux

Alessio Palumbo
Linux OS Now Has A Market Share of 4.44%, Highest Ever In Years 1

The upcoming release of the Steam Deck could mean great things for gaming on Linux. The handheld PC due to ship in December 2021 (provided you're one of the lucky few pre-order customers who managed to catch the initial stock) is Valve's latest attempt to break through in the hardware market, following the earlier Steam Machines project with renewed focus and dedication.

While the Steam Deck will allow you to install Windows on it, by default it runs a modified Arch Linux distro with the latest version of SteamOS. Games will run through Proton, a compatibility layer that Valve is working hard to improve so that it may be compatible with an even greater spectrum of titles.

Related Story AMD Posts HDMI 2.1 FRL & DSC Patches To Linux Kernel, Keeping FRL Disabled By Default

However, it is widely known that some games aren't nearly as performant on Linux as they are on Windows, especially on AMD hardware (which Valve used for the Steam Deck, of course, powered by an AMD APU featuring Zen 2 and RDNA 2 technology).

That is mainly due to the ACPI CPUFreq driver, which led to poor CPU performance scaling. According to Phoronix, though, AMD and Valve have partnered to address this issue.

AMD will outline these improvements during the upcoming X.Org Developers Conference (XDC), the virtual event for developers working on all things Open graphics (Linux kernel, Mesa, DRM, Wayland, X11, etc.). The talk, titled 'A new CPU performance scaling proposal for tuning VKD3D-Proton' and presented by Ray Huang, will take place on September 17th.

The CPU performance scaling is one of key parts in Linux Kernel, it is to manage the CPU frequency according to kernel and processor status and widely used by many user mode application to talk to the processors. The system information APIs in Wine will use the CPU performance scaling interfaces to manage the multi-core processor schedule timing compatibilities from windows application to Linux environment for VKD3D-Proton (the full Direct3D 12 API on top of Vulkan) on Steam. The original CPU performance scaling module is based on the legacy kernel common ACPI cpufreq driver on AMD processors. We found it was not very performance/power efficiency for modern AMD platforms. So this talk is to introduce a new CPU performance scaling design for AMD platform which has better performance per watt scaling on such as 3D game like Horizon Zero Dawn with VKD3D-Proton on Steam.

The idea is inspired by co-working with Valve software guys for tuning animation slow down problem (https://github.com/ValveSoftware/Proton/issues/4125) of VKD3D-Proton on steam.

Alessio Palumbo Photo

About the author: With over two decades of experience in gaming journalism, Alessio Palumbo has led the gaming vertical at Wccftech since August 2015. He started working at a young age for Italian websites like Everyeye.it, Gamestar.it, Nextgame.it, and Multiplayer.it before kickstarting the indie English-language publication Worlds Factory as its founder and Editor in Chief. In the last decade, he has coordinated the overall output of Wccftech's gaming section, managed PR relations, assigned reviews, produced daily news coverage, edited gaming content as needed, and delivered game reviews. Arguably, his trademark content is the long series of exclusive developer interviews that have been cited by Wikipedia and by the biggest news media and gaming publications. His passion for technology also makes him knowledgeable when it comes to gaming hardware and tech. His favorite genres include RPGs, MMORPGs, and action/adventure games.

Follow Wccftech on Google to get more of our news coverage in your feeds.

Button