我需要有人的帮助才能使我的 amdgpu 驱动程序正常工作。
我是 Ubuntu 的老用户,但我不懂技术。过去两天我一直在绞尽脑汁,在无尽的网络上搜索。
长话短说:我最近将我的显卡从 AMD HD-6950 (radeon) 换成了 AMD Vega 64 (amdgpu)。我真的应该更好地进行备份...
Ubuntu 18.04 + HWE(低延迟内核 14.18.06)+ padoka-stable。
这台机器更像是一个媒体工作站(音乐制作、图像编辑、视频编辑等),但有时也可以玩游戏。
我首先物理安装了新卡(没有软件更改),但性能似乎变差了。由于工作性质,我决定安装 amdgpu-pro 驱动程序。它们最初失败了,系统无法启动(grub 后黑屏)。在内核 4.15 下重新安装,然后就可以正常工作了。
但是,性能相当差,并且某些应用程序失败(例如,Kdenlive 的视频预览全是灰色)。因此,我决定使用 AMD 的卸载实用程序卸载 amdgpu-pro。
但 4.18 仍然有问题。我不知道我做了什么。最后,我多次意外卸载并重新安装;但在某个时候,我使用 amdgpu 驱动程序(经 inxi 确认)让它以出色的游戏性能运行。我认为这是 dpkg-reconfigure xserver-xorg 的结果。
但是,因为我特别想要 openCL,而 amdgpu 中不包含 openCL(已在 darktable 中确认),所以我决定尝试 Rocm,如下所示: https://rocm.github.io/ROCmInstall.html
系统再次崩溃——而且似乎更糟。
现在经过大量的摆弄,我可以在任何内核中正常启动(不需要 nomodeset);但 inxi 报告它使用的是 fbdev 和 ati 驱动程序,而不是 amdgpu(如之前显示的)。
我查看了日志、更改了配置、更换了软件包等等,但我还是无法解决这个问题。
我现在的情况是:-我可以运行和启动任何内核(4.15、4.18 或 4.20)
GRUB_CMDLINE_LINUX="radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1"
(^ 这以前有效。我也尝试过 amdgpu.dc=0,但导致黑屏挂起)。
/etc/X11/xorg.conf.d/20-amdgpu.conf:
Section "Device"
Identifier "AMDGPU"
Driver "amdgpu"
Option "AccelMethod" "glamor"
Option "DRI" "3"
Option "TearFree" "true"
Endsection
^ 这以前也起作用了,而且根据 xorg 日志显示,它似乎运行良好。
lspci 显示:
Subsystem: Sapphire Technology Limited Vega 10 XT [Radeon RX Vega 64]
Kernel driver in use: amdgpu
Kernel modules: amdgpu
但是...inxi-GC的结果:
Display Server: x11 (X.Org 1.20.1 )
drivers: fbdev,ati (unloaded: modesetting,vesa,radeon,amdgpu)
OpenGL: renderer: Radeon RX Vega (VEGA10, DRM 3.27.0, 4.20.17-042017-lowlatency, LLVM 8.0.0)
version: 4.5 Mesa 19.0.1 - padoka PPA
以前,这个 ^ 显示驱动程序是 amdgpu,而不是 fbdev,ati。性能明显不同。
还值得注意的是,dmesg 似乎不再显示任何 amdgpu 卸载(尽管以前显示过),并且我的 /var/log 中的 xorg 日志似乎没有更新。但我的 ~ 中的日志似乎正在更新。
另外,我认为我现在使用的是 hwe-18.04 包(例如 xserver-xorg 等)
有人能帮我找到一个完全使用 amdgpu 的稳定系统吗?最好是一些硬件加速,包括 OpenCL?最好是开源/存储库,以便未来的软件更新可以无缝地处理进一步的硬件加速?
我希望我只是个白痴,有一个简单的修复或重新安装。
我可以提供什么信息?
我非常非常感谢您能给我的任何帮助!这真的让我压力很大!
更多信息:如果有帮助:
dmesg | grep amdgpu
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.18.0-16-lowlatency root=/dev/mapper/ubuntu--vg-root ro radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 quiet splash vt.handoff=1
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.18.0-16-lowlatency root=/dev/mapper/ubuntu--vg-root ro radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 quiet splash vt.handoff=1
[ 7.281446] [drm] amdgpu kernel modesetting enabled.
[ 7.349423] fb: switching to amdgpudrmfb from VESA VGA
[ 7.362715] amdgpu 0000:07:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
[ 7.363410] amdgpu 0000:07:00.0: VRAM: 8176M 0x000000F400000000 - 0x000000F5FEFFFFFF (8176M used)
[ 7.363412] amdgpu 0000:07:00.0: GTT: 512M 0x000000F600000000 - 0x000000F61FFFFFFF
[ 7.364014] [drm] amdgpu: 8176M of VRAM memory ready
[ 7.364016] [drm] amdgpu: 8176M of GTT memory ready.
[ 7.806093] fbcon: amdgpudrmfb (fb0) is primary device
[ 7.806202] amdgpu 0000:07:00.0: fb0: amdgpudrmfb frame buffer device
[ 7.817102] amdgpu 0000:07:00.0: ring 0(gfx) uses VM inv eng 4 on hub 0
[ 7.817104] amdgpu 0000:07:00.0: ring 1(comp_1.0.0) uses VM inv eng 5 on hub 0
[ 7.817106] amdgpu 0000:07:00.0: ring 2(comp_1.1.0) uses VM inv eng 6 on hub 0
[ 7.817107] amdgpu 0000:07:00.0: ring 3(comp_1.2.0) uses VM inv eng 7 on hub 0
[ 7.817108] amdgpu 0000:07:00.0: ring 4(comp_1.3.0) uses VM inv eng 8 on hub 0
[ 7.817110] amdgpu 0000:07:00.0: ring 5(comp_1.0.1) uses VM inv eng 9 on hub 0
[ 7.817111] amdgpu 0000:07:00.0: ring 6(comp_1.1.1) uses VM inv eng 10 on hub 0
[ 7.817112] amdgpu 0000:07:00.0: ring 7(comp_1.2.1) uses VM inv eng 11 on hub 0
[ 7.817113] amdgpu 0000:07:00.0: ring 8(comp_1.3.1) uses VM inv eng 12 on hub 0
[ 7.817115] amdgpu 0000:07:00.0: ring 9(kiq_2.1.0) uses VM inv eng 13 on hub 0
[ 7.817116] amdgpu 0000:07:00.0: ring 10(sdma0) uses VM inv eng 4 on hub 1
[ 7.817117] amdgpu 0000:07:00.0: ring 11(sdma1) uses VM inv eng 5 on hub 1
[ 7.817118] amdgpu 0000:07:00.0: ring 12(uvd<0>) uses VM inv eng 6 on hub 1
[ 7.817120] amdgpu 0000:07:00.0: ring 13(uvd_enc0<0>) uses VM inv eng 7 on hub 1
[ 7.817121] amdgpu 0000:07:00.0: ring 14(uvd_enc1<0>) uses VM inv eng 8 on hub 1
[ 7.817122] amdgpu 0000:07:00.0: ring 15(vce0) uses VM inv eng 9 on hub 1
[ 7.817123] amdgpu 0000:07:00.0: ring 16(vce1) uses VM inv eng 10 on hub 1
[ 7.817124] amdgpu 0000:07:00.0: ring 17(vce2) uses VM inv eng 11 on hub 1
[ 7.817735] [drm] Initialized amdgpu 3.26.0 20150101 for 0000:07:00.0 on minor 0
和更多:
grep "amdgpu\|AMDGPU" Xorg.1.log
[ 16.195] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.18.0-16-lowlatency root=/dev/mapper/ubuntu--vg-root ro radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 quiet splash vt.handoff=1
[ 16.196] (**) | |-->Device "AMDGPU"
[ 16.196] (**) | |-->GPUDevice "AMDGPU"
[ 16.206] (II) LoadModule: "amdgpu"
[ 16.206] (II) Loading /usr/lib/xorg/modules/drivers/amdgpu_drv.so
[ 16.206] (II) Module amdgpu: vendor="X.Org Foundation"
[ 16.207] (II) AMDGPU: Driver for AMD Radeon:
All GPUs supported by the amdgpu kernel driver
[ 16.207] (II) AMDGPU(0): Creating default Display subsection in Screen section
[ 16.207] (==) AMDGPU(0): Depth 24, (--) framebuffer bpp 32
[ 16.207] (II) AMDGPU(0): Pixel depth = 24 bits stored in 4 bytes (32 bpp pixmaps)
[ 16.207] (==) AMDGPU(0): Default visual is TrueColor
[ 16.207] (**) AMDGPU(0): Option "AccelMethod" "glamor"
[ 16.207] (**) AMDGPU(0): Option "DRI" "3"
[ 16.207] (**) AMDGPU(0): Option "TearFree" "true"
[ 16.207] (==) AMDGPU(0): RGB weight 888
[ 16.207] (II) AMDGPU(0): Using 8 bits per RGB (8 bit DAC)
[ 16.207] (--) AMDGPU(0): Chipset: "Radeon RX Vega" (ChipID = 0x687f)
[ 16.293] (II) AMDGPU(0): glamor X acceleration enabled on Radeon RX Vega (VEGA10, DRM 3.26.0, 4.18.0-16-lowlatency, LLVM 9.0.0)
[ 16.293] (II) AMDGPU(0): glamor detected, initialising EGL layer.
[ 16.294] (**) AMDGPU(0): TearFree property default: on
[ 16.294] (II) AMDGPU(0): KMS Pageflipping: enabled
[ 16.294] (II) AMDGPU(0): Output DisplayPort-0 has no monitor section
[ 16.294] (II) AMDGPU(0): Output DisplayPort-1 has no monitor section
[ 16.294] (II) AMDGPU(0): Output HDMI-A-0 has no monitor section
[ 16.294] (II) AMDGPU(0): Output HDMI-A-1 has no monitor section
[ 16.303] (II) AMDGPU(0): EDID for output DisplayPort-0
[ 16.303] (II) AMDGPU(0): EDID for output DisplayPort-1
[ 16.304] (II) AMDGPU(0): EDID for output HDMI-A-0
[ 16.304] (II) AMDGPU(0): Manufacturer: AOC Model: 2757 Serial#: 1291
[ 16.304] (II) AMDGPU(0): Year: 2013 Week: 42
[ 16.304] (II) AMDGPU(0): EDID Version: 1.3
[ 16.305] (II) AMDGPU(0): Digital Display Input
[ 16.305] (II) AMDGPU(0): Max Image Size [cm]: horiz.: 60 vert.: 34
[ 16.305] (II) AMDGPU(0): Gamma: 2.20
[ 16.305] (II) AMDGPU(0): DPMS capabilities: Off
[ 16.305] (II) AMDGPU(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4
[ 16.305] (II) AMDGPU(0): First detailed timing is preferred mode
[ 16.305] (II) AMDGPU(0): redX: 0.640 redY: 0.338 greenX: 0.315 greenY: 0.623
[ 16.305] (II) AMDGPU(0): blueX: 0.151 blueY: 0.063 whiteX: 0.313 whiteY: 0.329
[ 16.305] (II) AMDGPU(0): Supported established timings:
[ 16.305] (II) AMDGPU(0): 720x400@70Hz
(然后是一堆监控模式)
答案1
不幸的是我没有得到任何关于我问题的答复,但我终于能够让事情正常运转了。
以防万一这对某些人有用,我查看了我的 apt 日志,以查找在此过程中发生变化的每个软件包。缺少的一个是 compiz-plugins。我还重新安装了许多软件包。
最后,我跑了
sudo X -configure
重新配置 X。我之前运行过类似的东西:(
sudo dpkg-reconfigure xserver-xorg
或可能使用 hwe 版本)但运行后没有给我任何响应。我没有意识到这可能意味着它什么也没做。
不确定如何,但是重新安装软件包和重新配置 X 的这种组合是有效的。