Hello
I'm having issues with GPU Pass-through and monitor output.
Machine :
=== System Information ===
Linux xcp 4.19.0+1 #1 SMP Fri Sep 19 15:09:21 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
=== CPU Information ===
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Thread(s) per core: 1
Core(s) per socket: 16
Socket(s): 1
Vendor ID: AuthenticAMD
CPU family: 25
Model: 33
Model name: AMD Ryzen 9 5950X 16-Core Processor
Stepping: 0
CPU MHz: 3400.159
BogoMIPS: 6799.86
Hypervisor vendor: Xen
Virtualization type: none
L1d cache: 32K
L1i cache: 32K
L2 cache: 512K
L3 cache: 65536K
Flags: fpu de tsc msr pae mce cx8 apic mca cmov pat clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy abm sse4a misalignsse 3dnowprefetch bpext ibpb vmmcall fsgsbase bmi1 avx2 bmi2 erms rdseed adx clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr arat vaes vpclmulqdq rdpid
=== Memory Information ===
total used free shared buff/cache available
Mem: 3.9G 328M 3.1G 11M 584M 3.4G
Swap: 1.0G 0B 1.0G
=== Disk Information ===
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 1.8T 0 disk
├─nvme0n1p5 259:5 0 4G 0 part /var/log
├─nvme0n1p3 259:3 0 1.8T 0 part
│ ├─VG_XenStorage--bdb1579e--9234--e722--123e--c66741306b23-VHD--a5b16c73--daf5--4ac7--858a--8a1a1e4c8518 253:1 0 20G 0 lvm
│ ├─VG_XenStorage--bdb1579e--9234--e722--123e--c66741306b23-VHD--daec9532--032f--4e02--8594--39db5ddeb780 253:2 0 25.1G 0 lvm
│ └─VG_XenStorage--bdb1579e--9234--e722--123e--c66741306b23-MGT 253:0 0 4M 0 lvm
├─nvme0n1p1 259:1 0 18G 0 part /
├─nvme0n1p6 259:6 0 1G 0 part [SWAP]
├─nvme0n1p4 259:4 0 512M 0 part /boot/efi
└─nvme0n1p2 259:2 0 18G 0 part
tdc 254:2 0 19.2M 1 disk
tda 254:0 0 20G 0 disk
tdb 254:1 0 25G 0 disk
=== PCI Devices ===
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU
00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:01.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge
00:01.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge
00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge
00:04.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:05.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:07.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:07.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]
00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 61)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 0
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 1
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 2
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 3
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 4
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 5
00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 6
00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 7
01:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse Switch Upstream
02:03.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge
02:08.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge
02:09.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge
02:0a.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge
03:00.0 PCI bridge: ASMedia Technology Inc. ASM1184e 4-Port PCIe x1 Gen2 Packet Switch
04:01.0 PCI bridge: ASMedia Technology Inc. ASM1184e 4-Port PCIe x1 Gen2 Packet Switch
04:03.0 PCI bridge: ASMedia Technology Inc. ASM1184e 4-Port PCIe x1 Gen2 Packet Switch
04:05.0 PCI bridge: ASMedia Technology Inc. ASM1184e 4-Port PCIe x1 Gen2 Packet Switch
04:07.0 PCI bridge: ASMedia Technology Inc. ASM1184e 4-Port PCIe x1 Gen2 Packet Switch
05:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
07:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
09:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP
09:00.1 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller
09:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller
0a:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)
0b:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)
0c:00.0 Non-Volatile memory controller: Phison Electronics Corporation E18 PCIe4 NVMe Controller (rev 01)
0d:00.0 VGA compatible controller: NVIDIA Corporation GA102 [GeForce RTX 3090] (rev a1)
0d:00.1 Audio device: NVIDIA Corporation GA102 High Definition Audio Controller (rev a1)
0e:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function
0f:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP
0f:00.1 Encryption controller: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP
0f:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller
0f:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller
=== USB Devices ===
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 003 Device 002: ID 8087:0029 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 05e3:0625 Genesys Logic, Inc.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 09eb:0131 IM Networks, Inc.
Bus 001 Device 005: ID 056a:0084 Wacom Co., Ltd Wireless adapter for Bamboo tablets
Bus 001 Device 004: ID 09ea:0130
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
=== Network Interfaces ===
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP group default qlen 1000
link/ether a8:a1:59:8c:14:a6 brd ff:ff:ff:ff:ff:ff
3: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 56:a2:fe:c9:6b:e2 brd ff:ff:ff:ff:ff:ff
4: xenbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
link/ether a8:a1:59:8c:14:a6 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.2/24 brd 192.168.0.255 scope global xenbr0
valid_lft forever preferred_lft forever
5: vif1.0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP group default qlen 1000
link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
31: vif14.0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP group default qlen 1000
link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
I have my gpu passthrough to my VM
0d:00.1 Audio device: NVIDIA Corporation GA102 High Definition Audio Controller (rev a1)
Subsystem: NVIDIA Corporation Device 1454
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin B routed to IRQ 55
Region 0: Memory at fc080000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [60] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [78] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us
ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 75.000W
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
MaxPayload 256 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <512ns, L1 <4us
ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+
ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR-, OBFF Via message
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [100 v2] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
Capabilities: [160 v1] #25
Kernel driver in use: pciback
and it is correctly detected on my guest vm, nvtop output below.
[image: 1763216973052-e5bbeeaf-1ede-4265-8017-da3fc9a19703-image.png]
I have tested pop-os and linux mint and both have the issue, I can't get the output to a monitor, either Display Port or HDMI.
Pop-os did work but after a xcp-ng reboot didn't work anymore.
In xensource.log I can see the PCI attached to the VM:
Nov 15 23:43:35 xcp xenopsd-xc: [debug||2557 |VM.start R:a916cad08a80|xenops_utils] TypedTable: Writing VM/ce27cd37-8e30-c687-7169-941d89590099/vif.0
Nov 15 23:43:35 xcp xenopsd-xc: [debug||2557 |VM.start R:a916cad08a80|xenops_server] PCI.add ce27cd37-8e30-c687-7169-941d89590099.0000:0d:00.1 {"address":{"fn":1,"dev":0,"bus":13,"domain":0},"position":0,"id":["ce27cd37-8e30-c687-7169-941d89590099","0000:0d:00.1"]}
Nov 15 23:43:35 xcp xenopsd-xc: [debug||2557 |VM.start R:a916cad08a80|xenops_utils] TypedTable: Writing PCI/ce27cd37-8e30-c687-7169-941d89590099/pci.0000:0d:00.1
Nov 15 23:43:35 xcp xenopsd-xc: [debug||2557 |VM.start R:a916cad08a80|xenops_server] PCI.add ce27cd37-8e30-c687-7169-941d89590099.0000:0d:00.0 {"address":{"fn":0,"dev":0,"bus":13,"domain":0},"position":1,"id":["ce27cd37-8e30-c687-7169-941d89590099","0000:0d:00.0"]}
Nov 15 23:43:35 xcp xenopsd-xc: [debug||2557 |VM.start R:a916cad08a80|xenops_utils] TypedTable: Writing PCI/ce27cd37-8e30-c687-7169-941d89590099/pci.0000:0d:00.0
In the Guest VM, on a Virtual-1 display is deteced by xrandr, couldn't manage to get a monitor detected.
Nov 15 23:43:35 xcp xenopsd-xc: [debug||2557 |VM.start R:a916cad08a80|xenops_utils] TypedTable: Writing VM/ce27cd37-8e30-c687-7169-941d89590099/vif.0
Nov 15 23:43:35 xcp xenopsd-xc: [debug||2557 |VM.start R:a916cad08a80|xenops_server] PCI.add ce27cd37-8e30-c687-7169-941d89590099.0000:0d:00.1 {"address":{"fn":1,"dev":0,"bus":13,"domain":0},"position":0,"id":["ce27cd37-8e30-c687-7169-941d89590099","0000:0d:00.1"]}
Nov 15 23:43:35 xcp xenopsd-xc: [debug||2557 |VM.start R:a916cad08a80|xenops_utils] TypedTable: Writing PCI/ce27cd37-8e30-c687-7169-941d89590099/pci.0000:0d:00.1
Nov 15 23:43:35 xcp xenopsd-xc: [debug||2557 |VM.start R:a916cad08a80|xenops_server] PCI.add ce27cd37-8e30-c687-7169-941d89590099.0000:0d:00.0 {"address":{"fn":0,"dev":0,"bus":13,"domain":0},"position":1,"id":["ce27cd37-8e30-c687-7169-941d89590099","0000:0d:00.0"]}
Nov 15 23:43:35 xcp xenopsd-xc: [debug||2557 |VM.start R:a916cad08a80|xenops_utils] TypedTable: Writing PCI/ce27cd37-8e30-c687-7169-941d89590099/pci.0000:0d:00.0
I'm starting to get out of idea what could be the issue here..
Any advice to progress the troubleshooting are welcome.
With kind regards.