Freshinstall dracut can't setup GPU PASSTHROUGH

Hello I’ve followed the instructions, had it working before with mkinitcpio on manjaro, which I’ve happily switched from (loved the old Antergos).

System is hanging on boot with

dracut pre-udev hook…

I can’t see the journalctl log of the failed boot, it dosn’t seem to create an entry when i do journalctl --list-boot, however on a normal boot (different /efi/loader/entries/) i do get

 dracut-pre-udev[489]: modprobe: FATAL: Module vfio_virqfd not found in directory /lib/modules/6.2.6-arch1-1

I’m guessing the vfio-virqfd has been moved to the kernal ? and just dons’t need to be in the file /etc/dracut.conf.d/10-vfio.conf

force_drivers+=" vfio_pci vfio vfio_iommu_type1 vfio_virqfd "

Any help or pointers where to look, i’d like not to have to switch back to mkinitcpio and go with what is new ?

Thanks for the help.

vfio_virqfd is not needed anymore. It’s been built into vfio

Thanks for confirming that, I have tried just removing that from the force_drivers line at /etc/dracut.conf.d/10-vfio.conf and tried to boot again, but still stuck at same place.

did you remember to sudo dracut-rebuild?

1 Like

Not sure why this shows as a fatal error, because it isn’t; a warning, at best. I ran into the same issue when the 6.2.x kernel series was released. Since I’m also using the LTS and 5.15.x series kernels, I left my dracut config files alone. My GPU pass-through works just fine on all (3) kernels.

I have a thread open on this - Conditional module loading with dracut - but haven’t gotten anywhere.

did you remember to sudo dracut-rebuild?

Thanks, Yes, first I did it wrong, and the img’s were in thewrong place, then I checked the wiki on this site and got it right.

Not sure why this shows as a fatal error, because it isn’t; a warning, at best. I ran into the same issue when the 6.2.x kernel series was released. Since I’m also using the LTS and 5.15.x series kernels, I left my dracut config files alone. My GPU pass-through works just fine on all (3) kernels.

So you didn’t need to (as per arch wiki instructions) create the /etc/dracut.conf.d/10-vfio.conf file ? is your GPU still got those dummy drivers loaded and not accessible on the host ?

I meant that I didn’t amend my dracut files after the error appeared. I’m using this:

force_drivers+=" vfio_pci vfio_virqfd vfio_iommu_type1 vfio crc32c "

I get the error on the latest kernel, no error with LTS or 5.15 LTS. Here’s my graphics settings:

$ sudo inxi -Gaz
Graphics:  Device-1: NVIDIA GP104 [GeForce GTX 1070] driver: nvidia v: 525.89.02 alternate: nouveau,nvidia_drm bus-ID: 08:00.0 
           chip-ID: 10de:1b81 class-ID: 0300 
           Device-2: NVIDIA TU116 [GeForce GTX 1660 SUPER] vendor: Dell driver: vfio-pci v: N/A 
           alternate: nouveau,nvidia_drm,nvidia bus-ID: 09:00.0 chip-ID: 10de:21c4 class-ID: 0300 
           Display: server: X.Org 21.1.7 driver: loaded: nvidia unloaded: modesetting alternate: fbdev,nouveau,nv,vesa 
           display-ID: :0 screens: 1 
           Screen-1: 0 s-res: 3840x1080 s-dpi: 96 s-size: 1016x286mm (40.0x11.3") s-diag: 1055mm (41.6") 
           Monitor-1: DP-2 res: 1920x1080 hz: 144 dpi: 82 size: 598x336mm (23.5x13.2") diag: 686mm (27") 
           Monitor-2: DP-4 res: 1920x1080 hz: 144 dpi: 82 size: 598x336mm (23.5x13.2") diag: 686mm (27") 
           OpenGL: renderer: NVIDIA GeForce GTX 1070/PCIe/SSE2 v: 4.6.0 NVIDIA 525.89.02 direct render: Yes

https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF#Plugging_your_guest_GPU_in_an_unisolated_CPU-based_PCIe_slot

you are sur ethis is right on your setup?

Seems to be, yes. I’ve never had any problems with pass-through on either Linux or Windows VMs. Here’s a full look at what inxi reports for vfio devices:

$ sudo inxi -Faz | grep -i vfio
           rootflags=subvol=@ rd.driver.pre=vfio-pci loglevel=3 nowatchdog nvme_load=YES nvidia-drm.modeset=1 iommu=pt 
           Device-2: NVIDIA TU116 [GeForce GTX 1660 SUPER] vendor: Dell driver: vfio-pci v: N/A 
           Device-2: NVIDIA TU116 High Definition Audio vendor: Dell driver: vfio-pci alternate: snd_hda_intel bus-ID: 09:00.1

no not my case, thanks for mentioning it though

IOMMU Group 13:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204 [GeForce GTX 970] [10de:13c2] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GM204 High Definition Audio Controller [10de:0fbb] (rev a1)

Its very strange I’ve tried the LTS kernal via akm (V 6.1.20-1) and still the same hanging on boot with

dracut pre-udev hook…

I’ve just installed to a fresh ssd, the only things I installed was virt-manager etc according to endavourOS wiki, although I didn’t even need to do that really. I created the /etc/dracute.conf.d/10-vfio.conf file… and created a new boot entry in /efi/loader/entries/ … just added the following to a duplicate copy of default boot entry.

vfio-pci.ids=10de:13c2,10de:0fbb nvidia-drm.modeset=1

I’m quite confused, because even this new install has the same problems.

I’m running AM5 Gigabyte 650M DS3h and a 7950X, I guess I could change the dracut out for mkinitcpio, but I need to find out how to properly do this ?

to switch to mkinitcpio is totally possible on afresh install…

sudo pacman -Rc dracut
sudo pacman -S mkinitcpio
sudo pacman -S linux linux-headers
yay -S kernel-install-mkinitcpio
sudo reinstall-kernels

for systemd-boot

Where I’m at now…

I did a fresh install on a seperate ssd for test, on my AMD 5 motherboard I had the same stuck at book as origional message. So I took that ssd and gpu to an AMD4 motherboard, and I got the same thing, also tested a different older GPU but still the same, I of course changed the pci numbers and even tried specifying the pci ids via the /etc/modprobe.d/vfio.conf. Of course I rebuilt with dracut-rebuild each time.

So basicly on a differnt pc with same and additional GPU i got the same results as in first message. On that same amd4 pc I’ve got manjaro still and setup gpu passthrough fine with the mkinitcpio.

This morning I tried the switch on endeavouros from dracut → mkinitcpio follow instructions from joekamprad, however I have encrypted drive, and on reboot it dosn’t seem to recognise that, so I must have missed something on the config :frowning:

So I feel that there must be something wrong with dracut on the latest build/install of endevourOS ? I am at a bit of a loss, i’d love to keep the dracut, am happy to try any suggestions.