我有一台 AMD RX580,我一直想让它在我的台式机上运行。我能够让该设备可见,lspci
但我无法让 X 服务器识别它。
$ sudo lshw -c video
*-display
description: VGA compatible controller
product: GT200b [GeForce GTX 275]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:02:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:34 memory:fa000000-faffffff memory:b0000000-bfffffff memory:f8000000-f9ffffff ioport:9c00(size=128) memory:fb980000-fb9fffff
*-display UNCLAIMED
description: VGA compatible controller
product: Advanced Micro Devices, Inc. [AMD/ATI]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci@0000:03:00.0
version: e7
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi vga_controller cap_list
configuration: latency=0
resources: memory:d0000000-dfffffff memory:cfe00000-cfffffff ioport:a000(size=256) memory:fba80000-fbabffff memory:fbac0000-fbadffff
旧的 GeForce 正充当我的当前卡。
输出的相关部分lspci -nnk
是
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT200b [GeForce GTX 275] [10de:05e6] (rev a1)
Subsystem: CardExpert Technology GT200b [GeForce GTX 275] [10b0:0801]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_340
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:67df] (rev e7)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:22fc]
显然,AMD 卡没有加载内核模块,尽管加载这些模块modprobe
并不能改变这种情况。
我的系统是 16.04,但从 10.04 左右开始陆续升级,因此可能有很多残留的垃圾会阻碍这一点。为了测试这一点,我尝试从 16.04.3 USB 启动机器,我可以看到卡和 X 服务器能够检测到它。所以它显然在工作。
在 USB 启动的系统上,我看到以下内容。
$ sudo lshw -c video
*-display
description: VGA compatible controller
product: GT200b [GeForce GTX 275]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:02:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nouveau latency=0
resources: irq:31 memory:fa000000-faffffff memory:b0000000-bfffffff memory:f8000000-f9ffffff ioport:9c00(size=128) memory:c0000-dffff
*-display
description: VGA compatible controller
product: Advanced Micro Devices, Inc. [AMD/ATI]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci@0000:03:00.0
version: e7
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
configuration: driver=amdgpu latency=0
resources: irq:33 memory:d0000000-dfffffff memory:cfe00000-cfffffff ioport:a000(size=256) memory:fba80000-fbabffff memory:fbac0000-fbadffff
并lspci
显示amdgpu
驱动程序已加载。
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT200b [GeForce GTX 275] [10de:05e6] (rev a1)
Subsystem: CardExpert Technology GT200b [GeForce GTX 275] [10b0:0801]
Kernel driver in use: nouveau
Kernel modules: nvidiafb, nouveau
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:67df] (rev e7)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:22fc]
Kernel driver in use: amdgpu
Kernel modules: amdgpu
在非 USB 启动的系统上,安装了 amdgpu:
$ dpkg -l | grep amdgpu
ii libdrm-amdgpu1:amd64 2.4.76-1~ubuntu16.04.1 amd64 Userspace interface to amdgpu-specific kernel DRM services -- runtime
ii xserver-xorg-video-amdgpu 1.1.2-0ubuntu0.16.04.1 amd64 X.Org X server -- AMDGPU display driver
有人能建议我该怎么做才能让这张卡被识别吗?
更新:我删除了 xorg、所有 xserver-xorg 软件包和 ubuntu-desktop 并重新安装它们。虽然这解决了系统上的一些其他问题(耶!),但 X 服务器仍然无法检测到 RX580。
答案1
我遇到了类似的问题;请尝试以下操作:
首先检查视频设备是否无人认领:
sudo lshw -c video
然后检查您是否安装了 radeon 模块:
find /lib/modules/`uname -r` -type f -name "*.ko" | grep radeon
我的问题具体是 radeon 模块没有添加到自动启动文件中:
less /etc/modules
如果其中没有出现“radeon”,请将其添加:
echo 'radeon' | sudo tee -a /etc/modules
重新启动并查看它是否启动。之后您可以检查视频设备是否已被认领。