With the Linux kernel 6.14 out now, I noted in my quick-look overview about a bug that was fixed for the Steam Deck OLED model. Collabora have given a little more info on their work for this issue and how it was a challenge.
The problem? Sometimes when resuming from suspend, the Steam Deck OLED would enter a unrecoverable faulty state. Thankfully, a solution was found by developer Cristian Ciocaltea at Collabora.
Collabora put up a blog post about some of their work that went into Linux kernel 6.14, with the Steam Deck OLED issue being noted:
Linux 6.14 aims to fix an audio breakage issue on the Valve Steam Deck OLED variant when the system resumes from suspend. It's worth noting the investigations raised major challenges, as the reproducible rate varied randomly, in some cases being necessary to go through hundreds of successful suspend/resume cycles. On top of that, it was virtually impossible to make efficient use of any kernel debugging techniques due to the annoying side effect of hiding the actual problem. Eventually, Cristian Ciocaltea managed to submit a patch series providing a new ACP quirk to address the issue, as well as a few additional improvements to the AMD Vangogh/ACP SOF drivers.
Showing off the power of open source here, with multiple companies and groups involved in the development and as a result issues like this can be found and fixed to benefit a lot of people. Nice to see it get solved!
Currently, the Steam Deck (as of SteamOS 3.7 preview) uses Linux kernel 6.11. Even if Valve don't upgrade the SteamOS Linux kernel to 6.14 yet, they will likely cherry-pick the patch and back-port it to their current kernel version.
I can attest how frustrating it is to try and debug a hardware issue that's intermittent. Seriously well done for persevering.
See more from me