HDA ATI HDMI audio «amdgpu» device missing after kernel 5.18, still works via «radeon» module
This bug report is mirrored and was started here: https://bugs.archlinux.org/task/75624
My Kaveri HDMI/DP Audio Controller
has stopped working after upgrading to Linux 5.19.1, the device is completely missing. I only get a «Dummy Device» in pipewire.
I have been force-loading amdgpu
in this integrated CIK GPU via kernel command-line for years with radeon.cik_support=0 amdgpu.cik_support=1 amdgpu.dc=1
. If I remove that then radeon
loads by default and I get HDMI sound back, but I lose Vulkan and better graphics performance. Which are some terrible drawbacks.
Workaround
After a lot of fiddling managed to get HDMI sound to work again in Linux 5.19 and up by just not preloading the amdgpu
module in mkinitcpio.conf
:
I had it like this, which has worked right until 5.18:
MODULES="radeon amdgpu"
Any of these work, doesn't matter, as long as amdgpu
is no longer preloaded the HDMI sound sink for my monitor reappears:
MODULES="radeon"
MODULES=""
Additional info
I have bisected the regression as much as possible via precompiled packages, and this was definitely introduced with the 5.19
series, as it was working until a few days ago. I tested the lts
and hardened
Arch Linux kernels, which are a bit behind, and they also work fine. Then I rolled back to the normal linux-5.18.16
and also confirmed that it was fine.
I have also tried to do a proper git bisect
, unfortunately booting is completely borked in early 5.19-rcX
versions, they fixed booting at 5.19-rc3
so I can't narrow or bisect it properly any further.
So to sum things up:
amdgpu
's HDMI audio doesn't work with these, but the kernel boots normally:
- Linux 6.0-rc1
- Linux 5.19-rc4 (
03c765b0e3b4cb5063276b086c76f7a612856a9a
) - Linux 5.19-rc3 (
a111daf0c53ae91e71fd2bfe7497862d14132e3e
)
loglevel=7
for the kernel parameters it seems to stop right after initializing the Net subsystem hashtable, so I can't bisect:
Maybe unrelated, but these freeze right on boot, milliseconds after kernel init, if I use - Linux 5.19-rc2
- Linux 5.19-rc1
5d4af9c1f04ab0411ba5818baad9a68e87f33099
0737e018a05e2aa352828c52bdeed3b02cff2930
1e308c6fb7127371f48a0fb9770ea0b30a6b5698
Everything works:
c011dd537ffe47462051930413fed07dbdc80313
bf23729c7a5f44f0e863666b9364a64741fd3241
- Linux 5.18 (
4b0986a3613c92f4ec1bdc7f60ec66fea135991f
) - Linux 5.18.16-arch1-1
- Linux 5.18.17-hardened1-1-hardened
- Linux 5.15.60-1-lts
- Anything older than this