Passthrough does not work

does it show it still using the nividia kernal module?

I used this configuration :

/etc/initramfs-tools/modules :

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

/etc/modprobe.d/vfio.conf

options vfio-pci ids=10de:1e04,10de:10f7,10de:1ad6
softdep vfio-pci pre: nvidia
softdep vfio-pci pre: nouveau

/etc/default/grub :

GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash intel_iommu=on”

/etc/modprobe.d/blacklist.conf

blacklist nouveau
options nouveau modeset-0
blacklist radeon
blacklist amdg

and I added also this :

echo “vfio” > /etc/modules-load.d/vfio.conf
echo “vfio-pci” > /etc/modules-load.d/vfio-pci.conf
echo “vfio_iommu_type1” > /etc/modules-load.d/vfio_iommu_type1.conf

is there something that may create conflict that I should remove ?

it might help to try changing the linux call to:
GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash intel_iommu=on rd.driver.pre=vfio-pci iommu=pt"

so adding the driver and the pt to the initialisation.

[edit: one guide I saw had the PCI ID’s in the grub command line, but it didn’t seem to do anything for me. it is probably superflous, and probably doesn’t do anything, but shouldn’t hurt?]

no. I still see no output from : lspci -knn | grep vfio after the command “sudo update-initramfs -u”

okay, just checking you rebooted after?
the grub update would require a reboot

previously,i’d forgotten to make sudo update-grub,so the output could be different. now,please tell me if sudo update-grub should be called before or after the command sudo update-initramfs -u -k all.

you would run it after

ok. so. the ouput changed. we came back to the freezing of debian during the boot stage.

Okay, cool, so maybe some driver conflict

I presume in the grub menu, you can edit the command line and take out parts added to it? until we get the conflicting bit?

I can convert this :

/etc/default/grub

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash intel_iommu=on rd.driver.pre=vfio-pci iommu=pt”
GRUB_CMDLINE_LINUX=""

into this :

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash”
GRUB_CMDLINE_LINUX=""

I would leave the “intel_iommu=on iommu=pt”

and just take out the rd.driver bit, see if that boots,
then take out the pt if it doesn;t
and the intel bit last

#quiet splash= it boots but no output from lspci -knn | grep vfio
#intel_iommu=on = freezes
#intel_iommu=on iommu=pt = freezes
#intel_iommu=on iommu=pt rd.driver.pre=vfio-pci = freezes

Okay, maybe we use a different trick to isolate the devices.

As a basic check , just to see if you have it availabel, please check
dmesg | grep -e DMAR -e IOMMU

looking for output like:

 dmesg | grep -e DMAR -e IOMMU
 ...
 DMAR:DRHD base: 0x000000feb03000 flags: 0x0
 IOMMU feb03000: ver 1:0 cap c9008020e30260 ecap 1000
 ...

I’m looking from section 3 of the following, which then goes on to bind to Stub, instead of vfio…

https://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM

ziomario@DESKTOP-N9UN2H3:/home/mariozio# dmesg | grep -e DMAR -e IOMMU
[ 0.006680] ACPI: DMAR 0x00000000393A0E98 0000A8 (v01 ALASKA A M I 00000002 01000013)
[ 0.163840] DMAR: IOMMU enabled
[ 0.222259] DMAR: Host address width 39
[ 0.222260] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[ 0.222262] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap 1c0000c40660462 ecap 19e2ff0505e
[ 0.222263] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[ 0.222265] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da
[ 0.222265] DMAR: RMRR base: 0x0000003988e000 end: 0x00000039ad7fff
[ 0.222265] DMAR: RMRR base: 0x0000003b000000 end: 0x0000003f7fffff
[ 0.222267] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1
[ 0.222267] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[ 0.222267] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 0.223695] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 1.302095] DMAR: No ATSR found
[ 1.302128] DMAR: dmar0: Using Queued invalidation
[ 1.302168] DMAR: dmar1: Using Queued invalidation
[ 1.302385] DMAR: Setting RMRR:
[ 1.302464] DMAR: Setting identity map for device 0000:00:02.0 [0x3b000000 - 0x3f7fffff]
[ 1.302515] DMAR: Setting identity map for device 0000:00:14.0 [0x3988e000 - 0x39ad7fff]
[ 1.302523] DMAR: Prepare 0-16MiB unity mapping for LPC
[ 1.302558] DMAR: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff]
[ 1.302606] DMAR: Intel® Virtualization Technology for Directed I/O
[ 1.377259] AMD IOMMUv2 driver by Joerg Roedel [email protected]
[ 1.377259] AMD IOMMUv2 functionality not available on this system

ziomario@DESKTOP-N9UN2H3:/home/mariozio# lspci -nnk -d 10de:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti] [10de:1e04] (rev a1)
Subsystem: ZOTAC International (MCO) Ltd. TU102 [GeForce RTX 2080 Ti] [19da:2503]
Kernel driver in use: nvidia
Kernel modules: nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation TU102 High Definition Audio Controller [10de:10f7] (rev a1)
Subsystem: ZOTAC International (MCO) Ltd. TU102 High Definition Audio Controller [19da:2503]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
01:00.2 USB controller [0c03]: NVIDIA Corporation TU102 USB 3.1 Controller [10de:1ad6] (rev a1)
Subsystem: ZOTAC International (MCO) Ltd. TU102 USB 3.1 Controller [19da:2503]
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
01:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU102 UCSI Controller [10de:1ad7] (rev a1)
Subsystem: ZOTAC International (MCO) Ltd. TU102 UCSI Controller [19da:2503]

Cool, so looks like you did set the cpu/motherboard to enable virtualisation, so it’s just binding the card.

You might try section 4 on the guide I linked, so if pci-stub is enabled, then have the stub driver grab the card instead of the nvidia module?

Other than that, I could check over the guide you origionally tried, see if anything stands out?

I didn’t try pci-stub,yet. And as u can see,there is again the nvidia driver installed. Instead,it should look like as the graphic card was owned by the vfio pci.

That’s right. the pesky nvidia keeps getting it.

Which guide were you following?

I can’t post link. help me to remove this limitation.