我最近从 15.04 迁移到了 16.04(中间发生了与 15.10 相关的小灾难)。今天我决定看看我的显卡能否正常工作。它是 Radeon 8500 2GB,位于“受支持,但硬件对于 Unity 来说太旧”的显卡列表中这里。这里的信息相当隐晦,说 CPU 将用于基本绘图。我对此的解释是 CPU 将用于绘制我的浏览器和其他简单任务,但游戏将使用 GPU。
然而,我用来测试图形的试金石,即 Minecraft 中的调试屏幕,却报告我的 CPU 是英特尔。
按照上述页面的建议,我运行了
lspci -nn | grep VGA
并得到
00:02.0 VGA compatible controller [0300]: Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a16] (rev 0b)
但是,仅使用 lspci,控制器就会显示为显示控制器
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 4 (rev e4)
00:1c.4 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 5 (rev e4)
00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)
02:00.0 Network controller: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter (rev 01)
03:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun LE [Radeon HD 8550M / R5 M230] (rev ff)
我检查日志
dmesg | egrep 'drm|radeon'
并收到
[ 1.068355] [drm] Initialized drm 1.1.0 20060810
[ 1.095305] [drm] radeon kernel modesetting enabled.
[ 1.099856] radeon 0000:03:00.0: enabling device (0000 -> 0003)
[ 1.100012] [drm] initializing kernel modesetting (HAINAN 0x1002:0x666F 0x17AA:0x380C).
[ 1.100024] [drm] register mmio base: 0xD0400000
[ 1.100024] [drm] register mmio size: 262144
[ 1.109636] [drm] GPU not posted. posting now...
[ 1.112925] radeon 0000:03:00.0: VRAM: 2048M 0x0000000000000000 - 0x000000007FFFFFFF (2048M used)
[ 1.112927] radeon 0000:03:00.0: GTT: 2048M 0x0000000080000000 - 0x00000000FFFFFFFF
[ 1.112929] [drm] Detected VRAM RAM=2048M, BAR=256M
[ 1.112929] [drm] RAM width 64bits DDR
[ 1.113014] [drm] radeon: 2048M of VRAM memory ready
[ 1.113015] [drm] radeon: 2048M of GTT memory ready.
[ 1.113025] [drm] Loading hainan Microcode
[ 1.113101] [drm] Internal thermal controller with fan control
[ 1.113146] [drm] probing gen 2 caps for device 8086:9c18 = 5323c42/0
[ 1.119913] [drm] radeon: dpm initialized
[ 1.119917] [drm] GART: num cpu pages 524288, num gpu pages 524288
[ 1.121089] [drm] probing gen 2 caps for device 8086:9c18 = 5323c42/0
[ 1.121093] [drm] PCIE gen 2 link speeds already enabled
[ 1.124048] [drm] PCIE GART of 2048M enabled (table at 0x0000000000040000).
[ 1.124150] radeon 0000:03:00.0: WB enabled
[ 1.124152] radeon 0000:03:00.0: fence driver on ring 0 use gpu addr 0x0000000080000c00 and cpu addr 0xffff88023f95cc00
[ 1.124153] radeon 0000:03:00.0: fence driver on ring 1 use gpu addr 0x0000000080000c04 and cpu addr 0xffff88023f95cc04
[ 1.124154] radeon 0000:03:00.0: fence driver on ring 2 use gpu addr 0x0000000080000c08 and cpu addr 0xffff88023f95cc08
[ 1.124155] radeon 0000:03:00.0: fence driver on ring 3 use gpu addr 0x0000000080000c0c and cpu addr 0xffff88023f95cc0c
[ 1.124157] radeon 0000:03:00.0: fence driver on ring 4 use gpu addr 0x0000000080000c10 and cpu addr 0xffff88023f95cc10
[ 1.124158] radeon 0000:03:00.0: VCE init error (-22).
[ 1.124159] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.124160] [drm] Driver supports precise vblank timestamp query.
[ 1.124161] radeon 0000:03:00.0: radeon: MSI limited to 32-bit
[ 1.124185] radeon 0000:03:00.0: radeon: using MSI.
[ 1.124209] [drm] radeon: irq initialized.
[ 1.317816] [drm] ring test on 0 succeeded in 1 usecs
[ 1.317821] [drm] ring test on 1 succeeded in 1 usecs
[ 1.317825] [drm] ring test on 2 succeeded in 1 usecs
[ 1.317833] [drm] ring test on 3 succeeded in 4 usecs
[ 1.317839] [drm] ring test on 4 succeeded in 4 usecs
[ 1.318022] [drm] ib test on ring 0 succeeded in 0 usecs
[ 1.318047] [drm] ib test on ring 1 succeeded in 0 usecs
[ 1.318070] [drm] ib test on ring 2 succeeded in 0 usecs
[ 1.318088] [drm] ib test on ring 3 succeeded in 0 usecs
[ 1.318108] [drm] ib test on ring 4 succeeded in 0 usecs
[ 1.318816] [drm] Radeon Display Connectors
[ 1.320981] [drm] Initialized radeon 2.43.0 20080528 for 0000:03:00.0 on minor 0
[ 1.321444] [drm] Memory usable by graphics device = 2048M
[ 1.321448] fb: switching to inteldrmfb from EFI VGA
[ 1.322193] [drm] Replacing VGA console driver
[ 1.328455] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.328458] [drm] Driver supports precise vblank timestamp query.
[ 1.349260] [drm] Initialized i915 1.6.0 20151010 for 0000:00:02.0 on minor 1
[ 1.496740] fbcon: inteldrmfb (fb0) is primary device
[ 1.496851] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
一切似乎都顺利,除了:
VCE init error (-22).
并且可能
switching to inteldrmfb from EFI VGA
我最初的解释是否错误,在 16.04 中我根本无法使用 GPU?我需要做些什么来打开它吗?该页面建议我尝试使用更轻的桌面。这能让我的卡工作吗,还是只是用较少的 CPU 负载来补偿?VGA 兼容控制器和显示控制器之间有什么区别?
编辑:尝试了 ILOVEKODI 的建议,这有一定的帮助,并相应地更新了日志。
编辑2:尝试使用 eyoung100,发现它可以看到我的卡,但没有将其标记为 VGA 兼容控制器。
答案1
驱动程序正在尝试初始化不支持 VCE 的卡上的 VCE。此消息完全无害 - 只需忽略它即可。
sudo apt purge libgtk2.0-0:amd64
sudo apt install libgtk2.0-0:amd64
上述命令应该可以解决 VCE 问题。
自 16.04 版起,不再支持 AMD 催化剂