Tech

Linux 7.1 Fixes Audio For The Steam Deck OLED After Being Broken 2 Years On The Upstream Kernel


It turns out the Steam Deck OLED gaming handheld has not had working audio support with the mainline (upstream) Linux kernel since a change in late 2023 that was merged for Linux 6.8. There was an AMD ASoC audio change that inadvertently broke audio support for the Steam Deck OLED handheld but not affecting the original LCD model. Valve’s downstream Steam OS kernel has compensated for this known breakage and other distributions targeting the Steam Deck OLED have carried the patch, but now there is a proper solution upstream ahead of Linux 7.1-rc2.

An AMD Audio Co-Processor “ACP” change to the ASoC machine driver code for new CPU DAI and DAILINK creation for the I2S BT instance ended up regressing working audio support on the Steam Deck OLED due to an issue with the Steam Deck OLED audio topology file. But in the case of Steam OS officially just targeting their own hardware, it’s easy to patch in a fix/workaround compared to the mainline kernel. Finally now with Linux 7.1 and potentially to be back-ported to existing stable series is a solution to restore audio support on the Steam Deck OLED while also ensuring other platforms aren’t broken in the process.

Steam Deck OLED

Guilherme Piccoli of Igalia authored a DMI quirk for the AMD ACP driver code to specifically fix the issue. He explained of the problem and resolution:

“Commit 671dd2ffbd8b introduced a change that “broke” Steam Deck’s audio probe, in the OLED model



Notice the quotes in “broke”: it’s not really a bug in such commit, but instead a problem with a topology file from Steam Deck OLED. This was discussed to great extent in, and Cristian proposed a pretty simple and functional change that resolved the issue for the Deck’s issue. That change, though, would break other devices, so it wasn’t accepted upstream. And the proper suggested solution (fix the topology) was never implemented, so Valve’s kernel (and anyone that wants to boot the mainline on Steam Deck OLED) is carrying that fix downstream.

So, we propose hereby a different approach: a DMI quirk, as many already present in the sound drivers, to address this issue solely on Steam Deck OLED, not breaking other devices and as a bonus, allowing simple patch up in case eventually the topology file gets fixed (we’d just need to check against any DMI info reflecting that or the topology/FW versions).

The motivation of such upstream quirk is related to users that want to test latest kernel trees on their devices and get no only non-working sound device, but seems some games (like Ori and the Blind Forest) can’t properly work without a proper functional audio device.”

That patch was merged this week to the mainline Linux kernel as part of the ASoC fixes. With that DMI quirk in place, the mainline Linux kernel should happily be playing audio with the Steam Deck OLED.

This change will be found in Sunday’s Linux 7.1-rc2 kernel release.



Click to comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Most Popular

To Top