Debian Bullseye VFIO autoswitching?

The system is now binding/unbinding the system framebuffer automatically between the host and PassthorughVM on start/stop. That used to require manual intervention. To be clear I never expected to see the host console on this graphics card. I could have sworn the nouveau driver was blacklisted but a recent update possibly cleared my initramfs/modules blacklists for nouveu.

Ironically the only thing left is the grub kernel option.


`GRUB_CMDLINE_LINUX_DEFAULT="quiet video=vesafb:off,efifb:off"`

Not a problem just a surprise to shutdown a passthrough VM and see the underlying host console automatically. I am too unfamiliar with these modules to understand if this is a bug or new feature though. Included DMESG output for posterity. This may make vfio passthough much easier.

[91401.970088] vfio-pci 0000:0e:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=none
[91401.988864] nouveau 0000:0e:00.0: vgaarb: deactivate vga console
[91401.988912] nouveau 0000:0e:00.0: NVIDIA GP104 (134000a1)
[91402.109441] nouveau 0000:0e:00.0: bios: version 86.04.85.00.63
[91402.109571] nouveau 0000:0e:00.0: firmware: failed to load nvidia/gp104/nvdec/scrubber.bin (-2)
[91402.109583] nouveau 0000:0e:00.0: firmware: failed to load nvidia/gp104/acr/bl.bin (-2)
[91402.109586] nouveau 0000:0e:00.0: acr: firmware unavailable
[91402.109588] nouveau 0000:0e:00.0: pmu: firmware unavailable
[91402.109638] nouveau 0000:0e:00.0: gr: firmware unavailable
[91402.109647] nouveau 0000:0e:00.0: sec2: firmware unavailable
[91402.133956] nouveau 0000:0e:00.0: fb: 8192 MiB GDDR5
[91402.153245] nouveau 0000:0e:00.0: fb: VPR locked, but no scrubber binary!
[91402.162650] [TTM] Zone  kernel: Available graphics memory: 16432462 KiB
[91402.162652] [TTM] Zone   dma32: Available graphics memory: 2097152 KiB
[91402.162653] [TTM] Initializing pool allocator
[91402.162656] [TTM] Initializing DMA pool allocator
[91402.162669] nouveau 0000:0e:00.0: DRM: VRAM: 8192 MiB
[91402.162670] nouveau 0000:0e:00.0: DRM: GART: 536870912 MiB
[91402.162672] nouveau 0000:0e:00.0: DRM: BIT table 'A' not found
[91402.162673] nouveau 0000:0e:00.0: DRM: BIT table 'L' not found
[91402.162674] nouveau 0000:0e:00.0: DRM: TMDS table version 2.0
[91402.162675] nouveau 0000:0e:00.0: DRM: DCB version 4.1
[91402.162677] nouveau 0000:0e:00.0: DRM: DCB outp 00: 01000f42 00020030
[91402.162678] nouveau 0000:0e:00.0: DRM: DCB outp 01: 04811f96 04600020
[91402.162679] nouveau 0000:0e:00.0: DRM: DCB outp 02: 04011f92 00020020
[91402.162680] nouveau 0000:0e:00.0: DRM: DCB outp 03: 04822f86 04600010
[91402.162681] nouveau 0000:0e:00.0: DRM: DCB outp 04: 04022f82 00020010
[91402.162682] nouveau 0000:0e:00.0: DRM: DCB outp 06: 02033f62 00020010
[91402.162683] nouveau 0000:0e:00.0: DRM: DCB outp 07: 02844f76 04600020
[91402.162684] nouveau 0000:0e:00.0: DRM: DCB outp 08: 02044f72 00020020
[91402.162685] nouveau 0000:0e:00.0: DRM: DCB conn 00: 00001031
[91402.162686] nouveau 0000:0e:00.0: DRM: DCB conn 01: 02000146
[91402.162687] nouveau 0000:0e:00.0: DRM: DCB conn 02: 01000246
[91402.162687] nouveau 0000:0e:00.0: DRM: DCB conn 03: 00010361
[91402.162688] nouveau 0000:0e:00.0: DRM: DCB conn 04: 00020446
[91402.163418] nouveau 0000:0e:00.0: DRM: failed to create kernel channel, -22
[91402.163994] nouveau 0000:0e:00.0: DRM: MM: using COPY for buffer copies
[91402.558199] nouveau 0000:0e:00.0: DRM: allocated 1920x1080 fb: 0x200000, bo 000000004ac2380a
[91402.558262] fbcon: nouveaudrmfb (fb0) is primary device
[91402.895852] Console: switching to colour frame buffer device 240x67
[91403.222306] nouveau 0000:0e:00.0: [drm] fb0: nouveaudrmfb frame buffer device

Looks like vga arbitrator is loading nouveau. Looks like nouveau is trying to run binaries invoked to clear the state of the graphics card (guess) . Through observation these are not strictly necessary. I get free time next weekend I will image this host and see if a nouveau-xorg(gui) will run and detach so easily. Then the nvidia binaries. This could make single card passthrough much easier is vfio-pci is doing what I think it’s doing.

1 Like