RX 480 AMDGPUドライバはDebian Sidからロードされません。

RX 480 AMDGPUドライバはDebian Sidからロードされません。

私は最近RX480を搭載したPCを構築し、次のようにオープンソースのAMDGPUドライバスタックをインストールしました。このガイド。私が完全に従わなかった唯一のステップはカーネルコンパイルでした。私はDebian実験リポジトリから4.7.0rc7カーネルをダウンロードしました。

出力uname -a

Linux Eleanor 4.7.0-rc7-amd64 #1 SMP Debian 4.7~rc7-1~exp1 (2016-07-14) x86_64 GNU/Linux

グラフィックカードの初期化はうまくいくようです...

出力dmesg | grep amd

[    0.000000] Linux version 4.7.0-rc7-amd64 ([email protected]) (gcc version 5.4.0 20160609 (Debian 5.4.0-6) ) #1 SMP Debian 4.7~rc7-1~exp1 (2016-07-14)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.7.0-rc7-amd64 root=UUID=3117fb8f-0774-4d8e-97aa-3b8e936eff78 ro quiet
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.7.0-rc7-amd64 root=UUID=3117fb8f-0774-4d8e-97aa-3b8e936eff78 ro quiet
[    2.153126] usb usb1: Manufacturer: Linux 4.7.0-rc7-amd64 ehci_hcd
[    2.165066] usb usb2: Manufacturer: Linux 4.7.0-rc7-amd64 ehci_hcd
[    2.166215] usb usb3: Manufacturer: Linux 4.7.0-rc7-amd64 xhci-hcd
[    2.169419] usb usb4: Manufacturer: Linux 4.7.0-rc7-amd64 xhci-hcd
[    2.170615] usb usb5: Manufacturer: Linux 4.7.0-rc7-amd64 xhci-hcd
[    2.173869] usb usb6: Manufacturer: Linux 4.7.0-rc7-amd64 xhci-hcd
[    2.249402] usb usb7: Manufacturer: Linux 4.7.0-rc7-amd64 ohci_hcd
[    2.309116] usb usb8: Manufacturer: Linux 4.7.0-rc7-amd64 ohci_hcd
[    2.369146] usb usb9: Manufacturer: Linux 4.7.0-rc7-amd64 ohci_hcd
[    3.586002] [drm] amdgpu kernel modesetting enabled.
[    3.596360] amdgpu 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
[    3.597447] amdgpu 0000:01:00.0: firmware: direct-loading firmware amdgpu/polaris10_mc.bin
[    3.597459] amdgpu 0000:01:00.0: VRAM: 8192M 0x0000000000000000 - 0x00000001FFFFFFFF (8192M used)
[    3.597460] amdgpu 0000:01:00.0: GTT: 8192M 0x0000000200000000 - 0x00000003FFFFFFFF
[    3.600719] [drm] amdgpu: 8192M of VRAM memory ready
[    3.600720] [drm] amdgpu: 8192M of GTT memory ready.
[    3.602047] amdgpu 0000:01:00.0: amdgpu: using MSI.
[    3.602072] [drm] amdgpu: irq initialized.
[    3.602267] amdgpu: powerplay initialized
[    3.603145] amdgpu 0000:01:00.0: firmware: direct-loading firmware amdgpu/polaris10_pfp.bin
[    3.603623] amdgpu 0000:01:00.0: firmware: direct-loading firmware amdgpu/polaris10_me.bin
[    3.604144] amdgpu 0000:01:00.0: firmware: direct-loading firmware amdgpu/polaris10_ce.bin
[    3.604371] amdgpu 0000:01:00.0: firmware: direct-loading firmware amdgpu/polaris10_rlc.bin
[    3.605133] amdgpu 0000:01:00.0: firmware: direct-loading firmware amdgpu/polaris10_mec.bin
[    3.605991] amdgpu 0000:01:00.0: firmware: direct-loading firmware amdgpu/polaris10_mec2.bin
[    3.606549] amdgpu 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000200000008, cpu addr 0xffff8800b7e0f008
[    3.606652] amdgpu 0000:01:00.0: fence driver on ring 1 use gpu addr 0x000000020000001c, cpu addr 0xffff8800b7e0f01c
[    3.606681] amdgpu 0000:01:00.0: fence driver on ring 2 use gpu addr 0x0000000200000030, cpu addr 0xffff8800b7e0f030
[    3.607618] amdgpu 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000200000044, cpu addr 0xffff8800b7e0f044
[    3.607885] amdgpu 0000:01:00.0: fence driver on ring 4 use gpu addr 0x0000000200000058, cpu addr 0xffff8800b7e0f058
[    3.607936] amdgpu 0000:01:00.0: fence driver on ring 5 use gpu addr 0x000000020000006c, cpu addr 0xffff8800b7e0f06c
[    3.607959] amdgpu 0000:01:00.0: fence driver on ring 6 use gpu addr 0x0000000200000080, cpu addr 0xffff8800b7e0f080
[    3.607981] amdgpu 0000:01:00.0: fence driver on ring 7 use gpu addr 0x0000000200000094, cpu addr 0xffff8800b7e0f094
[    3.608003] amdgpu 0000:01:00.0: fence driver on ring 8 use gpu addr 0x00000002000000a8, cpu addr 0xffff8800b7e0f0a8
[    3.608401] amdgpu 0000:01:00.0: firmware: direct-loading firmware amdgpu/polaris10_sdma.bin
[    3.610223] amdgpu 0000:01:00.0: firmware: direct-loading firmware amdgpu/polaris10_sdma1.bin
[    3.623985] amdgpu 0000:01:00.0: fence driver on ring 9 use gpu addr 0x00000002000000bc, cpu addr 0xffff8800b7e0f0bc
[    3.624056] amdgpu 0000:01:00.0: fence driver on ring 10 use gpu addr 0x00000002000000d0, cpu addr 0xffff8800b7e0f0d0
[    3.633260] amdgpu 0000:01:00.0: firmware: direct-loading firmware amdgpu/polaris10_uvd.bin
[    3.647029] amdgpu 0000:01:00.0: fence driver on ring 11 use gpu addr 0x000000000109c420, cpu addr 0xffffc9000325a420
[    3.648313] amdgpu 0000:01:00.0: firmware: direct-loading firmware amdgpu/polaris10_vce.bin
[    3.653698] amdgpu 0000:01:00.0: fence driver on ring 12 use gpu addr 0x00000002000000f8, cpu addr 0xffff8800b7e0f0f8
[    3.654283] amdgpu 0000:01:00.0: fence driver on ring 13 use gpu addr 0x000000020000010c, cpu addr 0xffff8800b7e0f10c
[    3.725085] amdgpu 0000:01:00.0: firmware: direct-loading firmware amdgpu/polaris10_smc.bin
[    4.358248] fbcon: amdgpudrmfb (fb0) is primary device
[    4.767814] amdgpu 0000:01:00.0: fb0: amdgpudrmfb frame buffer device
[    4.784116] [drm] Initialized amdgpu 3.2.0 20150101 for 0000:01:00.0 on minor 0

GDM3はグラフィカルエラーなしで正常に起動しましたが、ドライバがインストールされるまで実行されませんでした。しかし、遅れる怖いGNOMEのアニメーションが無効になり、デスクトップ環境がまだコインを収集しようとしている老婦人のようにフレームをドロップするため、ドライバが実際に完全にロードされないことは非常に明らかです。 GNOMEを起動した後、Xorgログファイルのエラーメッセージを見てみましょう。

出力cat .local/share/xorg/Xorg.0.log | grep "(EE)"

        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   216.095] (EE) Failed to load module "ati" (module does not exist, 0)
[   216.096] (EE) Failed to load module "fbdev" (module does not exist, 0)
[   216.096] (EE) Failed to load module "vesa" (module does not exist, 0)
[   216.220] (EE) AMDGPU(0): glamor detected, failed to initialize EGL.
[   216.952] (EE) AIGLX error: Calling driver entry point failed
[   216.952] (EE) AIGLX: reverting to software rendering

ソフトウェアレンダラーを介して実行したにもかかわらず、実行は依然として多くのフレームを出力しますglxgearsが、問題はほとんど同じです...

出力LIBGL_DEBUG=verbose glxgears

pci id for fd 4: 1002:67df, driver (null)
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
pci id for fd 5: 1002:67df, driver (null)
libGL error: failed to create dri screen
libGL error: failed to load driver: radeonsi
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: Can't open configuration file /home/jessie/.drirc: No such file or directory.
libGL: Can't open configuration file /home/jessie/.drirc: No such file or directory.
5197 frames in 5.0 seconds = 1039.346 FPS

ドライバが実際に存在するかどうかを確認するためにクイックチェックを実行したので、/usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so欠けている問題ではありませんでした。glxinfo出力はどうすればいいのかわかりませんが、同じエラーが発生します。

出力glxinfo | grep OpenGL

pci id for fd 4: 1002:67df, driver (null)
pci id for fd 5: 1002:67df, driver (null)
libGL error: failed to create dri screen
libGL error: failed to load driver: radeonsi
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.8, 128 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.2.2
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.2.2
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.2.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

状況を見ると、問題がどこにあるかがわかります。可能「AMDGPU(0): 魅力が検出され、EGL を初期化できませんでした」と関連しています。このエラーの後、ドライバーを直接読み込むことができないため、X サーバーの起動時に生成されるメッセージです。しかし、私はエラーを見つけましたが、私の特定の状況に関連するものが見つかりませんでした。ドライバのインストールに関するドキュメントと手順も提供されています。信じられない存在しないわけではありませんが、まれです。上記のガイドのうち、Debian で動作するガイドは 1 つしか見つかりませんでした。実験的なドライバを実行する新しいアーキテクチャに基づいて構築された新しいカードを購入するとき、これが私が求めているようです。ここまで来るために10時間迷ってしまい、結局詰まっていました。次にどこに行くべきか、それとも問題の原因が何であるかを知っている人はいますか?

さらに、このインストールは完全に新鮮です。システムを新しくインストールした直後にドライバを構築してインストールするのと同じです。その前に私が干渉を引き起こすことができた唯一のことは、AMDのウェブサイトから独自のドライバをインストールしようとすることでした。私は悲惨に失敗し、ほとんど動作しませんでした。それはおそらく、パッケージがUbuntuシステム用であるためでしょう。パッケージの半分だけがインストールされており、セット全体をインストールできず、すぐにパッケージをすべて削除しました。

ありがとうございます。

ベストアンサー1

パッケージに欠落しているAMD GPUファームウェアが含まれています。ファームウェアAMDグラフィックカード。ただし、現在Debian Sidに含まれているバージョンはかなり古いバージョン(20160110-1)で、まだ必要なファームウェアは含まれていません。アップデートを待たない場合は、トランクから直接最新バージョンを入手できます。

http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/amdgpu/polaris 10_mc.bin

ファイルを次の場所にコピーします。/lib/ファームウェア/amdgpu/

インストールしたいかもしれません。xserver-xorg-ビデオ-amdgpu一致のためのx-serverコンポーネント。

おすすめ記事