blob: 6b1b0bed6bf54f843700e3314113ca91bf874763 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
peripherals: 0.883
debug: 0.882
KVM: 0.779
architecture: 0.748
performance: 0.740
boot: 0.707
kernel: 0.705
device: 0.700
socket: 0.611
PID: 0.603
ppc: 0.572
semantic: 0.548
graphic: 0.543
VMM: 0.543
files: 0.507
vnc: 0.493
virtual: 0.492
register: 0.471
arm: 0.470
assembly: 0.450
TCG: 0.425
hypervisor: 0.419
risc-v: 0.377
permissions: 0.349
x86: 0.331
user-level: 0.326
mistranslation: 0.317
i386: 0.281
network: 0.271
Intel Arc A-Series GPUs VFIO passthrough no video out
Description of problem:
Once the VM is booted, the screen goes blank.
Steps to reproduce:
1. Passthough any Intel Arc A (Alchemist) series video card.
2. Boot VM.
3. Screen goes blank.
Additional information:
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
```
|