id = 1597 title = "Intel Arc A-Series GPUs VFIO passthrough no video out" state = "closed" created_at = "2023-04-13T04:22:19.631Z" closed_at = "2023-05-09T01:43:48.009Z" labels = ["VFIO"] url = "https://gitlab.com/qemu-project/qemu/-/issues/1597" host-os = "Arch Linux" host-arch = "x86_64" qemu-version = "7.2.1" guest-os = "Windows 10" guest-arch = "x86_64" description = """Once the VM is booted, the screen goes blank.""" reproduce = """1. Passthough any Intel Arc A (Alchemist) series video card. 2. Boot VM. 3. Screen goes blank.""" additional = """I have startup and shutdown scripts that detach and reattach the card and these scripts work fine if I test them alone. It's only when I start the VM that issue presents itself. kernel command line: ``` amd_iommu=on iommu=pt rd.driver.pre=vfio-pci pci=realloc iommu=1 i915.force_probe=* ``` startup script: ``` #!/bin/bash # Helpful to read output when debugging set -x # Load the config file with our environmental variables source "/etc/libvirt/hooks/kvm.conf" source "/etc/libvirt/hooks/vmPreBootSetup" cpuPerf # Stop your display manager. If you're on kde it'll be sddm.service. Gnome users should use 'killall gdm-x-session' instead systemctl stop gdm.service # Unbind VTconsoles echo 0 > /sys/class/vtconsole/vtcon0/bind echo 0 > /sys/class/vtconsole/vtcon1/bind # Avoid a race condition by waiting a couple of seconds. This can be calibrated to be shorter or longer if required for your system sleep 2 modprobe -r drm_buddy intel_gtt video drm_display_helper cec ttm i915 # Unbind the GPU from display driver virsh nodedev-detach $VIRSH_GPU_VIDEO virsh nodedev-detach $VIRSH_GPU_AUDIO # Load VFIO kernel module modprobe vfio modprobe vfio_pci modprobe vfio_iommu_type1 sleep 5s ; systemctl restart connman.service ```"""