请帮助解决我的 APU 图形性能问题。Ubuntu 19.10 使用默认设置全新安装在一台配备 Ryzen3 3200G APU 和 VEGA 8 显卡的新 PC 上。
驱动程序看起来加载正确,但性能非常低,好像没有硬件加速;glxgears 以 30-50 FPS 运行!
root@HTPC:/home/htpc# vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.5.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_5
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.5 (libva 2.5.0)
vainfo: Driver version: Mesa Gallium driver 19.2.1 for AMD RAVEN (DRM 3.33.0, 5.3.0-18-generic, LLVM 9.0.0)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
和
root@HTPC:/home/htpc# lsmod | grep amdgpu
amdgpu 4190208 17
amd_iommu_v2 20480 1 amdgpu
gpu_sched 32768 1 amdgpu
ttm 106496 1 amdgpu
drm_kms_helper 184320 1 amdgpu
drm 491520 8 gpu_sched,drm_kms_helper,amdgpu,ttm
i2c_algo_bit 16384 2 saa716x_tbs_dvb,amdgpu
一切看起来好像 Ubuntu 正确检测到了硬件并加载了良好的驱动程序,但为什么它比我配备 i3-4130 的旧电脑慢?:(
我该如何排除故障以提高图形性能?
答案1
我最近购买了一台 Ryzen 3200G 和一台 Gigabyte B450M-DS3H,16GB,运行 Ubuntu 19.10。
图形无法绘制屏幕,特别是在网络浏览器上,需要反复刷新或更改屏幕。此外,我的系统完全冻结,我不得不不时重置。
丑陋的事实是 AMD 不支持 Linux 的 Vega 8 嵌入式 GPU,并且 Ryzen Zen 需要更多时间来解决所有与驱动程序相关的问题。
但没人公开承认这一点。Phoronix.com 测试了 3200G 和 3400G,没有发现任何问题。我不得不通过艰难的方式发现这一点。
因此,到目前为止我的解决方案是:
安装 Oibaff GPU 驱动程序:
sudo add-apt-repository ppa:oibaf/graphics-drivers sudo apt update
然后升级或 dist-upgrade。有人说 dist-upgrade 是更好更彻底的升级。
在 BIOS 上禁用 IOMMU 后,GPU 问题就停止了,并且整体性能似乎有所改善。
我的便宜 MB 没有 SVM,但您可以尝试在 BIOS 上禁用它,看看是否有所改善。
这就对了。
答案2
我找到了解决方案这里(帕纳里加的“解决方法 2”),这样我就可以在 BIOS 中保持 IOMMU 处于启用状态,而无需任何自定义驱动程序。运行 glxgears 时,我获得了稳定的 60 fps。
解决方法 2:
添加
iommu=pt
到内核命令行/etc/default/grub
:sudo nano /etc/default/grub
编辑行开头
GRUB_CMDLINE_LINUX_DEFAULT
如下GRUB_CMDLINE_LINUX_DEFAULT="quiet splash iommu=pt"
更新 GRUB:
sudo update-grub
重启
reboot
这是在 Gigabyte B450M DS3H 主板上;运行 Linux Mint 19.3;内核 5.3.0-53-generic(基于 Ubuntu 18.04.1);屏幕分辨率为 1920x1200。