情况:台式电脑配有 AMD CPU、iGPU 和 PCIe 上的 Radeon GPU。EndeavourOS 带有 systemd-boot(但也尝试过使用 GRUB 的 Pop OS)。
在 BIOS 设置中,PCIe GPU 被选为主要 GPU。
引导加载程序(systemd-boot 和 GRUB)从主板连接器(iGPU)和 Radeon 连接器提供 VGA 输出。
但是当内核接管时,输出仅来自 iGPU。无论是启动消息还是之后通过 SDDM、wayland、KDE Plasma。当显示器连接到 PCIe GPU 时,显示器会打开但屏幕空白。
如果我从 BIOS 禁用 iGPU,那么两个 GPU 上都不会输出。
# inxi -F
System:
Host: caladan Kernel: 6.9.3-arch1-1 arch: x86_64 bits: 64
Desktop: KDE Plasma v: 6.0.5 Distro: EndeavourOS
Machine:
Type: Desktop System: ASUS product: N/A v: N/A serial: N/A
Mobo: ASUSTeK model: TUF GAMING B650-PLUS WIFI v: Rev 1.xx
serial: 240131817600271 UEFI: American Megatrends v: 1811 date: 10/07/2023
CPU:
Info: 8-core model: AMD Ryzen 7 7800X3D bits: 64 type: MT MCP cache:
L2: 8 MiB
Speed (MHz): avg: 1429 min/max: 400/5050 cores: 1: 400 2: 400 3: 3657
4: 4019 5: 400 6: 400 7: 400 8: 3601 9: 3609 10: 400 11: 400 12: 400 13: 400
14: 400 15: 3584 16: 400
Graphics:
Device-1: AMD Navi 32 [Radeon RX 7700 XT / 7800 XT] driver: N/A
Device-2: AMD Raphael driver: amdgpu v: kernel
Device-3: Jieli USB PHY 2.0 driver: snd-usb-audio,uvcvideo type: USB
Display: server: X.Org v: 24.1 with: Xwayland v: 24.1.0 driver: X:
loaded: amdgpu unloaded: modesetting,radeon dri: radeonsi gpu: amdgpu
resolution: 3440x1440~60Hz
API: EGL v: 1.5 drivers: radeonsi,swrast platforms: x11,surfaceless,device
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.1.1-arch1.1
renderer: AMD Radeon Graphics (radeonsi raphael_mendocino LLVM 17.0.6 DRM
3.57 6.9.3-arch1-1)
API: Vulkan Message: No Vulkan data available.
Audio:
Device-1: AMD Navi 31 HDMI/DP Audio driver: snd_hda_intel
Device-2: AMD Rembrandt Radeon High Definition Audio driver: snd_hda_intel
Device-3: AMD Family 17h/19h HD Audio driver: snd_hda_intel
Device-4: GN Netcom Jabra EVOLVE 20 SE driver: jabra,snd-usb-audio,usbhid
type: USB
Device-5: Jieli USB PHY 2.0 driver: snd-usb-audio,uvcvideo type: USB
API: ALSA v: k6.9.3-arch1-1 status: kernel-api
Network:
Device-1: Realtek RTL8125 2.5GbE driver: r8169
IF: eno1 state: up speed: 1000 Mbps duplex: full mac: 10:7c:61:73:9a:73
Device-2: Realtek RTL8852BE PCIe 802.11ax Wireless Network
driver: rtw89_8852be
IF: wlan0 state: down mac: 12:07:7d:d1:bc:35
Bluetooth:
Device-1: IMC Networks Bluetooth Radio driver: btusb type: USB
Report: btmgmt ID: hci0 state: up address: A8:41:F4:2B:00:6D bt-v: 5.3
Drives:
Local Storage: total: 1.82 TiB used: 11 GiB (0.6%)
ID-1: /dev/nvme0n1 vendor: Corsair model: MP600 PRO XT size: 931.51 GiB
ID-2: /dev/nvme1n1 vendor: Samsung model: SSD 970 EVO 1TB size: 931.51 GiB
Partition:
ID-1: / size: 906.17 GiB used: 10.9 GiB (1.2%) fs: ext4 dev: /dev/nvme0n1p2
Swap:
ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%)
dev: /dev/nvme0n1p3
Sensors:
System Temperatures: cpu: 40.6 C mobo: N/A gpu: amdgpu temp: 37.0 C
Fan Speeds (rpm): N/A
Info:
Memory: total: 32 GiB note: est. available: 30.57 GiB used: 4.26 GiB (13.9%)
Processes: 305 Uptime: 18m Shell: Bash inxi: 3.3.34
Dmesg 有这个有趣的部分:
[ 23.739334] [drm:amdgpu_bo_init [amdgpu]] *ERROR* Unable to set WC memtype for the aperture base
[ 23.739462] [drm:amdgpu_device_init [amdgpu]] *ERROR* sw_init of IP block <gmc_v10_0> failed -22
[ 23.739587] amdgpu 0000:03:00.0: amdgpu: amdgpu_device_ip_init failed
[ 23.739588] amdgpu 0000:03:00.0: amdgpu: Fatal error during GPU init
[ 23.739590] amdgpu 0000:03:00.0: amdgpu: amdgpu: finishing device.
[ 23.739712] amdgpu: probe of 0000:03:00.0 failed with error -22
显然这不是驱动程序或配置问题。华硕主板上的 BIOS 版本(如 1809、1811)可能存在 PCIe GPU 问题。
解决方法是升级您的 BIOS。