Radeon (X) Karten amdgpu, firmware und Sound unter Debian

Nach dem Einbau einer neuen Grafikkarte der Radeon RX Serie, ging das Bild zwar out of the Box aber dem HDMI Anschluß war kein Sound zu entlocken.
Das erste grep von amdgpu auf /var/log/messages brachte mal fogendes:

<div class="line number1 index0 alt2"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.576969] [drm] amdgpu kernel modesetting enabled.</code></div>
<div class="line number2 index1 alt1"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.584346] amdgpu 0000:09:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff</code></div>
<div class="line number3 index2 alt2"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.585443] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_mc.bin</code></div>
<div class="line number4 index3 alt1"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.585456] amdgpu 0000:09:00.0: VRAM: 4096M 0x000000F400000000 - 0x000000F4FFFFFFFF (4096M used)</code></div>
<div class="line number5 index4 alt2"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.585458] amdgpu 0000:09:00.0: GTT: 256M 0x0000000000000000 - 0x000000000FFFFFFF</code></div>
<div class="line number6 index5 alt1"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.585535] [drm] amdgpu: 4096M of VRAM memory ready</code></div>
<div class="line number7 index6 alt2"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.585536] [drm] amdgpu: 4096M of GTT memory ready.</code></div>
<div class="line number8 index7 alt1"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.586209] amdgpu 0000:09:00.0: Direct firmware load for amdgpu/polaris11_pfp_2.bin failed with error -2</code></div>
<div class="line number9 index8 alt2"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.586470] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_pfp.bin</code></div>
<div class="line number10 index9 alt1"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.586547] amdgpu 0000:09:00.0: Direct firmware load for amdgpu/polaris11_me_2.bin failed with error -2</code></div>
<div class="line number11 index10 alt2"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.586878] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_me.bin</code></div>
<div class="line number12 index11 alt1"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.586958] amdgpu 0000:09:00.0: Direct firmware load for amdgpu/polaris11_ce_2.bin failed with error -2</code></div>
<div class="line number13 index12 alt2"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.587178] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_ce.bin</code></div>
<div class="line number14 index13 alt1"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.587442] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_rlc.bin</code></div>
<div class="line number15 index14 alt2"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.587697] amdgpu 0000:09:00.0: Direct firmware load for amdgpu/polaris11_mec_2.bin failed with error -2</code></div>
<div class="line number16 index15 alt1"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.588945] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_mec.bin</code></div>
<div class="line number17 index16 alt2"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.589030] amdgpu 0000:09:00.0: Direct firmware load for amdgpu/polaris11_mec2_2.bin failed with error -2</code></div>
<div class="line number18 index17 alt1"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.590191] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_mec2.bin</code></div>
<div class="line number19 index18 alt2"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.592064] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_sdma.bin</code></div>
<div class="line number20 index19 alt1"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.592299] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_sdma1.bin</code></div>
<div class="line number21 index20 alt2"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.594007] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_uvd.bin</code></div>
<div class="line number22 index21 alt1"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.595121] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_vce.bin</code></div>
<div class="line number23 index22 alt2"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.595990] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_k_smc.bin</code></div>
<div class="line number24 index23 alt1"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.663554] amdgpu: [powerplay] </code></div>
<div class="line number25 index24 alt2"><code class="plain plain">Jun 23 11:17:17 wsaz kernel: [   20.663574] amdgpu: [powerplay] </code></div>
<div class="line number26 index25 alt1"><code class="plain plain">Jun 23 11:17:18 wsaz kernel: [   21.430145] fbcon: amdgpudrmfb (fb0) is primary device</code></div>
<div class="line number27 index26 alt2"><code class="plain plain">Jun 23 11:17:18 wsaz kernel: [   21.729509] amdgpu 0000:09:00.0: fb0: amdgpudrmfb frame buffer device</code></div>
<div class="line number28 index27 alt1"><code class="plain plain">Jun 23 11:17:18 wsaz kernel: [   21.777089] [drm] Initialized amdgpu 3.23.0 20150101 for 0000:09:00.0 on minor 0</code></div>

Die aktuellen Firmwaredateien gibt es hier auf github
Danach schaut die Sektion über das Laden von Firmware Files mal so aus

Jun 23 12:38:52 wsaz kernel: [ 20.476899] [drm] amdgpu kernel modesetting enabled.
Jun 23 12:38:52 wsaz kernel: [ 20.484763] amdgpu 0000:09:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
Jun 23 12:38:52 wsaz kernel: [ 20.485641] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_mc.bin
Jun 23 12:38:52 wsaz kernel: [ 20.485652] amdgpu 0000:09:00.0: VRAM: 4096M 0x000000F400000000 - 0x000000F4FFFFFFFF (4096M used)
Jun 23 12:38:52 wsaz kernel: [ 20.485654] amdgpu 0000:09:00.0: GTT: 256M 0x0000000000000000 - 0x000000000FFFFFFF
Jun 23 12:38:52 wsaz kernel: [ 20.485753] [drm] amdgpu: 4096M of VRAM memory ready
Jun 23 12:38:52 wsaz kernel: [ 20.485754] [drm] amdgpu: 4096M of GTT memory ready.
Jun 23 12:38:52 wsaz kernel: [ 20.486427] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_pfp_2.bin
Jun 23 12:38:52 wsaz kernel: [ 20.486699] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_me_2.bin
Jun 23 12:38:52 wsaz kernel: [ 20.486864] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_ce_2.bin
Jun 23 12:38:52 wsaz kernel: [ 20.487134] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_rlc.bin
Jun 23 12:38:52 wsaz kernel: [ 20.488543] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_mec_2.bin
Jun 23 12:38:52 wsaz kernel: [ 20.489734] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_mec2_2.bin
Jun 23 12:38:52 wsaz kernel: [ 20.491658] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_sdma.bin
Jun 23 12:38:52 wsaz kernel: [ 20.491899] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_sdma1.bin
Jun 23 12:38:52 wsaz kernel: [ 20.493707] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_uvd.bin
Jun 23 12:38:52 wsaz kernel: [ 20.494815] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_vce.bin
Jun 23 12:38:52 wsaz kernel: [ 20.495852] amdgpu 0000:09:00.0: firmware: direct-loading firmware amdgpu/polaris11_k_smc.bin
Jun 23 12:38:52 wsaz kernel: [ 20.563420] amdgpu: [powerplay] 
Jun 23 12:38:52 wsaz kernel: [ 20.563439] amdgpu: [powerplay] 
Jun 23 12:38:53 wsaz kernel: [ 21.283884] fbcon: amdgpudrmfb (fb0) is primary device
Jun 23 12:38:53 wsaz kernel: [ 21.370372] amdgpu 0000:09:00.0: fb0: amdgpudrmfb frame buffer device
Jun 23 12:38:53 wsaz kernel: [ 21.398235] [drm] Initialized amdgpu 3.23.0 20150101 for 0000:09:00.0 on minor 0

Und jetzt der sound

Um die Soundausgabe unter HDMI zu aktivieren muß beim opensource AMDGPU Driver das DC akivieren.

Damit amdgpu den DC Mode verwendet gehört noch eine Kernelparameter via grub mitgegeben, und zwar amdgpu.dc=1

cat /etc/default.grub

...
GRUB_CMDLINE_LINUX_DEFAULT="amdgpu.dc=1 quiet"
...

Dann klappt auch der Sound, es muß halt noch das richtige Device in PulseAudio augewählt werden (zb mit pavucontrol), in KDE kann man das richtige Device auch in den systemeinstellungen -> Multimedia -> Einrichten der Audio-Hardware einstellen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.