SADLY L1TECH Forums can’t handle links with brackets in them.
So I’ve been slowly researching this again, and while I know I probably won’t get the results I want, it be nice to at least get this 4090 working once in pass-through mode so I can say I’ve done it.
Target:
Pass-through a Nvidia4090 to a Win11 Virtual Machine using VFIO IOMMU method and continue using the 7800X3D iGPU for Plasma (Wayland?) desktop on the Linux host while the VM takes over the 4090 and its two connected displays. There is a display connected to the iGPU directly.
A GUIDE I have followed and attempted but didn’t work out is https://gitlab.com/risingprismtv/single-gpu-passthrough/-/wikis/1)-Preparations
, however it seems clear this isn’t for the DUO iGPU setup I’m using and appears to mostly be for booting linux purely to boot VM into windows, thus no linux desktop use at any point.
I got some interesting error outputs from that attempt, I’ll list them at the end of this post.
Basic rundown of things done.
BIOS enabled SR-IOV, IOMMU, NXMode, SVMMode
Grub boot has amd_iommu=on, video=efifb:off and iommu=pt
The IOMMU group with the dGPU components:
IOMMU Group 0:
00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14da]
00:01.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14db]
00:01.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14db]
00:01.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14db]
01:00.0 Non-Volatile memory controller [0108]: Silicon Motion, Inc. SM2262/SM2262EN SSD Controller [126f:2262] (rev 03)
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD102 [GeForce RTX 4090] [10de:2684] (rev a1)
02:00.1 Audio device [0403]: NVIDIA Corporation AD102 High Definition Audio Controller [10de:22ba] (rev a1)
03:00.0 Non-Volatile memory controller [0108]: Realtek Semiconductor Co., Ltd. RTS5765DL NVMe SSD Controller (DRAM-less) [10ec:5765] (rev 01)
Libvirt stuff:
Configured /etc/libvirt/libvirtd.conf
with unix_sock_group = "libvirt"
and unix_sock_rw_perms = "0770"
, enabled logging. Added user to libvirt group, started/enabled libvirtd service…
Qemu stuff:
Configured /etc/libvirt/qemu.conf
with user = "myuser"
, group = "myuser"
Enabled virsh vm default network, all good and working.
Configured the Virtural Machine Manager with a functional Win11 VM (tested with emulated gpu)
All good so far.
Dumped the 4090 rom file with native windows GPU-Z and it appeared valid, did the hex edit showed in the guide.
Installed these scripts https://gitlab.com/risingprismtv/single-gpu-passthrough/-/wikis/7)-scripts-&-logfiles
Hooked up the PCI device in the VMM software, tried to run it within Plasma, no luck. Tried to run it within TTY (no plasma active) and it went to some odd old framebuffer capture of the boot screen and froze.
I have included these log files for reference. There are some errors worth noting.
(uploading soon)