I’ve tried just about every single guide out there… I’ve been trying for hours to get vfio to use the GTX 1080 ti but every time I type “lspci -v” I get the following results:
01:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Gigabyte Technology Co., Ltd Device 374c
Flags: bus master, fast devsel, latency 0, IRQ 155
Memory at ee000000 (32-bit, non-prefetchable) [size=16M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
Memory at e0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at ef000000 [disabled] [size=512K]
Capabilities: <access denied>
Kernel driver in use: nouveau
Kernel modules: nouveau
01:00.1 Audio device: NVIDIA Corporation GP102 HDMI Audio Controller (rev a1)
Subsystem: Gigabyte Technology Co., Ltd Device 374c
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at ef080000 (32-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
It should be that vfio is using the both of those devices and the system should be using integrated graphics. I don’t know how to proceed from here… Initially I tried to get this working on Ubuntu 18.04 then I installed Fedora workstation 31 and it’s still not working.
Yes, I have done all this already and when I blacklist nouveau I am not able to login to desktop at all (blackscreens) I don’t really understand why… My processor has build in graphics and my motherboard settings already has VT-d + onboard /integrated graphics enabled.
I also tried using this script to do the installation for me github: passthrough_helper_fedora
Black screens following blacklisting nouveau sounds like no driver is grabbing the device, meaning no video output. Historically, I’ve seen the audio device grabbed by vfio-pci without needing to blacklist snd_hda_intel, but not seeing that leads me to believe there’s a configuration problem. Can you ssh into the system after blacklisting nouveau and confirm whether vfio-pci is bound to the video device?
Can you provide the output of cat /proc/cmdline?
Is there any relevant dmesg output? Specifically, we’re looking for the line:
DMAR: Intel(R) Virtualization Technology for Directed I/O
(or the AMD equivalent) to show intel_iommu=on actually took, and any mention of vfio.
Here are the details of that command:
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.3.7-301.fc31.x86_64 root=/dev/mapper/fedora_localhost–live-root ro resume=/dev/mapper/fedora_localhost–live-swap rd.lvm.lv=fedora_localhost-live/root rd.lvm.lv=fedora_localhost-live/swap rhgb quiet intel_iommu=on iommu=pt rd.driver.pre=vfio-pci
When I type lspci -f i see that vfio-pci is using NVIDIA Corporation GP102 HDMI Audio Controller but it’s not using NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1) (prog-if 00 [VGA controller]) some online guides suggested inserting
It looks like you’re using Fedora. /etc/initramfs-tools is Debian-specific, so don’t worry about it.
Seeing that vfio-pci has control of your audio controller is good! The configuration is mostly correct (see the above comments. I’m not familar with how Fedora handles initrd generation). nouveau typically takes precedence over vfio_pci during boot, so blacklisting it leaves the video controller for vfio_pci to take.
Were you able to ssh into the host to see if vfio-pci has bound to the video controller? If that’s the case, you’ll just need to configure X11/Wayland to render on the iGPU.
So I added those softdep commands and saved the file but it appears my entire operating system is bricked now. When I turn my pc on all I see is a never ending aorus logo (that is when I try to boot fedora)
I’ll need full pc specs, output of iommu.sh*, and full lspci -knn output.
iommu.sh:
#!/bin/bash
shopt -s nullglob
for d in /sys/kernel/iommu_groups/*/devices/*; do
n=${d#*/iommu_groups/*}; n=${n%%/*}
printf 'IOMMU Group %s ' "$n"
lspci -nns "${d##*/}"
done;
Hey that fixed it! The problem was my hdmi was plugged into the gpu and that was causing the os to freeze. I plugged directly into my MBA and now I can see that vfio is using the gpu. Sorry for the rookie mistake and appreciate the help. Lol
What was happening was the bios would initialize the GPU, then grub would boot the kernel. The kernel would then bind the vfio module to the GPU, which puts it in a powered-off state. The OS wasn’t frozen, you just weren’t seeing the display manager show up because the GPU wasn’t being recognized as a GPU.
No shame in this sort of thing. This is a more advanced project and almost nobody gets it right the first time around. I’ve made probably 5-10 threads about problems with passthrough on this forum.
Let me know if you’ve got any other questions or problems, I’m happy to help.