I recently upgraded my system from AM4 with 2 dVGAs, to AM5 with iGPU and dVGA.
Since then I am having trouble to isolate my dVGA from Linux, so I can pass it through to my VM (QEMU and KVM)
I posted my issues to reddit and Level1Forums, and most people blame Manjaro, so here I am. Let’s prove them wrong!
Setup:
3 monitors. 2 connected on iGPU (DP & HDMI) and 1 to my 6900XT DP.
3rd monitor is off, until I boot my VM
Problem:
If during boot I have the DP cable connected to 6900XT, Linux ignores my Kernel Parameters and initializes dVGA as normal.
As soon as I modify “/etc/modprobe.conf” with "MODULES=“vfio_pci vfio”, I boot to a blank screen having access only to console.
Troubleshooting:
Made literally hundreds of tests, but I am willing to do more in order to make it work.
Here is a long thread if somebody wants to read.
Workaround:
I boot with the cable disconnected from DP port (tried to disconnect it from the monitor side, didn’t work), and I only connected it after I boot the VM. This way it works, but it is very annoying, as sometimes I forget to disconnect it, and I have to reboot, or if I want to reboot just the VM, I have to reboot the whole system, etc.
Kernel:
I am using 6.1, which has ACS patch embedded. I am having issues with 6.2 & 6.3
BIOS:
iGPU defined as primary output
inxi -F
System:
Host: wizzy-am5-manjaro Kernel: 6.1.31-2-MANJARO arch: x86_64 bits: 64
Desktop: KDE Plasma v: 5.27.5 Distro: Manjaro Linux
Machine:
Type: Desktop System: Gigabyte product: X670E AORUS MASTER v: -CF
serial: <superuser required>
Mobo: Gigabyte model: X670E AORUS MASTER v: x.x
serial: <superuser required> UEFI: American Megatrends LLC. v: F10d
date: 05/05/2023
CPU:
Info: 16-core model: AMD Ryzen 9 7950X3D bits: 64 type: MT MCP cache:
L2: 16 MiB
Speed (MHz): avg: 3129 min/max: 3000/5759 cores: 1: 3000 2: 3000 3: 4200
4: 3000 5: 3000 6: 3000 7: 3000 8: 3000 9: 3000 10: 3000 11: 3000 12: 3000
13: 3000 14: 3000 15: 3000 16: 3000 17: 4200 18: 3000 19: 3599 20: 2880
21: 3000 22: 3000 23: 3000 24: 4200 25: 3000 26: 3000 27: 3056 28: 3000
29: 3000 30: 3000 31: 3000 32: 3000
Graphics:
Device-1: AMD Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] driver: vfio-pci
v: N/A
Device-2: AMD Raphael driver: amdgpu v: kernel
Device-3: Logitech HD Pro Webcam C920 driver: snd-usb-audio,uvcvideo
type: USB
Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.1.1 driver: X:
loaded: amdgpu unloaded: modesetting,radeon dri: radeonsi gpu: amdgpu
resolution: 1: 1200x1920~60Hz 2: 2560x1440~60Hz
API: OpenGL v: 4.6 Mesa 23.0.4 renderer: AMD Radeon Graphics (gfx1036
LLVM 15.0.7 DRM 3.49 6.1.31-2-MANJARO)
Audio:
Device-1: AMD Navi 21/23 HDMI/DP Audio driver: vfio-pci
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: Creative Sound Blaster X5
driver: cdc_acm,hid-generic,snd-usb-audio,usbhid type: USB
Device-5: Logitech HD Pro Webcam C920 driver: snd-usb-audio,uvcvideo
type: USB
API: ALSA v: k6.1.31-2-MANJARO status: kernel-api
Server-1: PulseAudio v: 16.1 status: active
Network:
Device-1: Intel Ethernet I225-V driver: igc
IF: enp15s0 state: up speed: 1000 Mbps duplex: full mac: 74:56:3c:4b:74:7e
Device-2: Intel Wi-Fi 6 AX210/AX211/AX411 160MHz driver: iwlwifi
IF: wlp16s0 state: down mac: 1a:7b:5e:33:8f:04
Bluetooth:
Device-1: Intel AX210 Bluetooth driver: btusb type: USB
Report: rfkill ID: hci0 rfk-id: 0 state: down bt-service: enabled,running
rfk-block: hardware: no software: yes address: see --recommends
Drives:
Local Storage: total: 5.52 TiB used: 1.12 TiB (20.2%)
ID-1: /dev/nvme0n1 vendor: Kingston model: SKC3000D2048G size: 1.86 TiB
ID-2: /dev/nvme1n1 vendor: Seagate model: XPG GAMMIX S50 Lite
size: 953.87 GiB
ID-3: /dev/nvme2n1 vendor: Samsung model: SSD 970 EVO 500GB
size: 465.76 GiB
ID-4: /dev/sda vendor: Crucial model: CT2000BX500SSD1 size: 1.82 TiB
ID-5: /dev/sdb vendor: Samsung model: SSD 850 EVO 500GB size: 465.76 GiB
Partition:
ID-1: / size: 448.43 GiB used: 34.27 GiB (7.6%) fs: ext4 dev: /dev/nvme2n1p2
ID-2: /boot/efi size: 299.4 MiB used: 312 KiB (0.1%) fs: vfat
dev: /dev/nvme2n1p1
Swap:
ID-1: swap-1 type: partition size: 8.8 GiB used: 10 MiB (0.1%)
dev: /dev/nvme2n1p3
Sensors:
System Temperatures: cpu: 39.6 C mobo: N/A gpu: amdgpu temp: 34.0 C
Fan Speeds (RPM): N/A
Info:
Processes: 523 Uptime: 30m Memory: available: 61.95 GiB
used: 38.42 GiB (62.0%) Shell: Zsh inxi: 3.3.27
Kernel parameters:
GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=eb319a47-23e2-4b2b-ad27-4924407771e0 udev.log_priority=3 amd_iommu=force_enable iommu=pt amdgpu.sg_display=0 vfio-pci.ids=1002:73bf,1002:ab28,10ec:8161 hugepages=16384 systemd.unified_cgroup_hierarchy=1 kvm.ignore_msrs=1 video=efifb:off,vesafb:off pcie_acs_override=downstream,multifunction vfio_iommu_type1.allow_unsafe_interrupts=1
IOMMU groups:
IOMMU Group 0:
00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14da]
IOMMU Group 1:
00:01.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14db]
IOMMU Group 10:
00:08.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14dd]
IOMMU Group 11:
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 71)
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
IOMMU Group 12:
00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14e0]
00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14e1]
00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14e2]
00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14e3]
00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14e4]
00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14e5]
00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14e6]
00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14e7]
IOMMU Group 13:
01:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Upstream Port of PCI Express Switch [1002:1478] (rev c0)
IOMMU Group 14:
02:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Downstream Port of PCI Express Switch [1002:1479]
IOMMU Group 15:
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] [1002:73bf] (rev c0)
IOMMU Group 16:
03:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]
IOMMU Group 17:
03:00.2 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:73a6]
IOMMU Group 18:
03:00.3 Serial bus controller [0c80]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 USB [1002:73a4]
IOMMU Group 19:
04:00.0 Non-Volatile memory controller [0108]: Kingston Technology Company, Inc. Device [2646:5013] (rev 01)
IOMMU Group 2:
00:01.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14db]
IOMMU Group 20:
05:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f4] (rev 01)
IOMMU Group 21:
06:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f5] (rev 01)
IOMMU Group 22:
06:04.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f5] (rev 01)
IOMMU Group 23:
06:05.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f5] (rev 01)
IOMMU Group 24:
06:06.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f5] (rev 01)
IOMMU Group 25:
06:08.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f5] (rev 01)
IOMMU Group 26:
06:0c.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f5] (rev 01)
IOMMU Group 27:
06:0d.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f5] (rev 01)
IOMMU Group 28:
0b:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f4] (rev 01)
IOMMU Group 29:
0c:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f5] (rev 01)
IOMMU Group 3:
00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14da]
IOMMU Group 30:
0c:04.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f5] (rev 01)
IOMMU Group 31:
0c:06.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f5] (rev 01)
IOMMU Group 32:
0c:07.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f5] (rev 01)
IOMMU Group 33:
0c:08.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f5] (rev 01)
IOMMU Group 34:
0c:0c.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f5] (rev 01)
IOMMU Group 35:
0c:0d.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f5] (rev 01)
IOMMU Group 36:
0f:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I225-V [8086:15f3] (rev 01)
IOMMU Group 37:
10:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz [8086:2725] (rev 1a)
IOMMU Group 38:
11:00.0 Non-Volatile memory controller [0108]: ADATA Technology Co., Ltd. XPG GAMMIX S50 NVMe SSD [1cc1:5350] (rev 03)
IOMMU Group 39:
12:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f7] (rev 01)
IOMMU Group 4:
00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14db]
IOMMU Group 40:
13:00.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f6] (rev 01)
IOMMU Group 41:
14:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f7] (rev 01)
IOMMU Group 42:
15:00.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] Device [1022:43f6] (rev 01)
IOMMU Group 43:
16:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 [144d:a808]
IOMMU Group 44:
17:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c9)
IOMMU Group 45:
17:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller [1002:1640]
IOMMU Group 46:
17:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] VanGogh PSP/CCP [1022:1649]
IOMMU Group 47:
17:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15b6]
IOMMU Group 48:
17:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15b7]
IOMMU Group 49:
17:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller [1022:15e3]
IOMMU Group 5:
00:02.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14db]
IOMMU Group 50:
18:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15b8]
IOMMU Group 6:
00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14da]
IOMMU Group 7:
00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14da]
IOMMU Group 8:
00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14da]
IOMMU Group 9:
00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14dd]