我已经有好几年没有使用过内置的笔记本电脑显卡了,它一直都很好,但现在在 FreeCAD 中做一些建模,它的速度非常慢,所以我真的非常希望我的显卡能正常工作。
我的显卡未被 Ubuntu 20.04 使用:
$ sudo lshw -c video
[sudo] password for michael:
*-display
description: VGA compatible controller
product: Mars XTX [Radeon HD 8790M]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci@0000:01:00.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
configuration: driver=radeon latency=0
resources: irq:37 memory:e0000000-efffffff memory:f7c00000-f7c3ffff ioport:e000(size=256) memory:f7c40000-f7c5ffff
*-display
description: VGA compatible controller
product: 4th Gen Core Processor Integrated Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 06
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:39 memory:f5800000-f5bfffff memory:d0000000-dfffffff ioport:f000(size=64) memory:c0000-dffff
更新:更新了 Grub 设置:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.runpm=0"
GRUB_CMDLINE_LINUX=""
DRI_PRIME=1
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL=console
检查 DRI_PRIME:
$ DRI_PRIME=1 glxinfo | grep OpenGL
OpenGL vendor string: AMD
OpenGL renderer string: OLAND (, LLVM 14.0.5, DRM 2.50, 5.15.0-41-generic)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 22.2.0-devel (git-e8fc5cc 2022-06-22 focal-oibaf-ppa)
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5 (Compatibility Profile) Mesa 22.2.0-devel (git-e8fc5cc 2022-06-22 focal-oibaf-ppa)
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.2.0-devel (git-e8fc5cc 2022-06-22 focal-oibaf-ppa)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
我认为问题的一部分是该卡是一个FirePro W4170M
但被 Linux 作为 拾取Radeon HD 8790M
。
答案1
删除radeon.modeset=0
并/etc/default/grub
运行
sudo update-grub
这将解决问题。
但您需要DRI_PRIME=1
使用 AMD GPU。
您可以通过运行以下命令检查 AMD GPU 是否正常工作:
DRI_PRIME=1 glxinfo | grep OpenGL
要修复radeon
错误,请radeon.runpm=0
像这样添加到 grub 中
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.runpm=0"
并再次运行sudo update-grub
并重新启动。
现在,如果您想在 AMD GPU 上运行程序,请使用 启动它DRI_PRIME=1
。例如:
DRI_PRIME=1 firefox
您可以将其添加DRI_PRIME=1
到程序.desktop
文件中,以便永久使用。
如果要在 AMD 上运行所有程序,请添加DRI_PRIME=1
到文件末尾/etc/environment
。