Kernel 6.0 and VFIO

Kernel 6 not booting with VFIO – workaround

Recently I upgraded to kernel 6.0 on my Manjaro rig, but that didn’t go well. The PC booted but there was no screen output. I was able to ssh into the Manjaro host, though.

Searching for an answer led me to the “Linux Kernel 6 seems to be incompatible with the vfio_pci module needed for PCI passthrough” on Level1Techs. If you go further down the thread, you’ll see how someone posted a working solution “Using the driver_override feature“.

For several years I had used the driver-override feature without a problem and still think it should be the preferred method. However, this feature stopped working with kernel 5.11 (not sure if and when it was fixed in the 5.x kernel). Since then I use the grub method to bind the graphic card and other PCI devices to the vfio-pci driver (vfio-pci.ids=…).

I haven’t tried the driver-override feature with kernel 6 yet, nor did I try the other methods described in my “Blacklisting Graphics Driver” post. Just glad I haven’t deleted or shortened that post. It’s always good to have multiple options.

As of now, I suggest to NOT upgrade to kernel 6, unless you have a real good reason (e.g. new hardware support in kernel 6).

If you tried any of the methods described in my “Blacklisting Graphics Driver” post, please comment on the results below. Thanks!

Edit January 22, 2023: In the meantime I switched to the grub method and am now using the latest 6.1 kernel in the Manjaro Linux tree without issues.

One thought on “Kernel 6.0 and VFIO”

  1. This works well on fedora.

    /etc/modprobe.d/vfio.conf:

    options vfio-pci disable_vga=1
    blacklist nouveau
    options nouveau modeset=0
    softdep snd_hda_intel pre: vfio-pci
    softdep nouveau pre: vfio-pci
    softdep nvidia pre: vfio-pci
    softdep xhci_hcd pre: vfio-pci

    /etc/dracut.conf.d/vfio.conf

    dd_drivers+=” vfio vfio_iommu_type1 vfio_pci ”

    /etc/defaults/grub

    GRUB_CMDLINE_LINUX=”rd.driver.blacklist=nouveau nvidia-drm.modeset=1 initcall_blacklist=simpledrm_platform_driver_init intel_iommu=on iommu=pt vfio-pci.ids=10de:1f08,10de:10f9,10de:1ada,10de:1adb rhgb quiet”

    Got this off stack exchange but can’t find the page.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: