Lines Matching +full:has +full:- +full:legacy +full:- +full:mode
1 Intel Graphics Device (IGD) assignment with vfio-pci
4 IGD has two different modes for assignment using vfio-pci:
6 1) Universal Pass-Through (UPT) mode:
8 In this mode the IGD device is added as a *secondary* (ie. non-primary)
10 This mode *requires* guest driver support to remove the external
12 drivers only support this mode for Broadwell and newer IGD, according to
13 Intel. Additionally, this mode by default, and as officially supported
15 this mode either to provide hardware acceleration to the emulated graphics
16 or to use this mode in combination with guest-based remote access software,
17 for example VNC (see below for optional output support). This mode
18 theoretically has no device specific handling dependencies on vfio-pci or
21 2) "Legacy" mode:
23 In this mode the IGD device is intended to be the primary and exclusive
25 of remote graphics to the VM in this mode. A connected physical monitor
26 is the intended output device for IGD. This mode includes several
35 ISA/LPC bridge device (vfio-pci-igd-lpc-bridge) on the root bus at
39 will disable legacy mode support.
43 For either mode, depending on the host kernel, the i915 driver in the host
44 may generate faults and errors upon re-binding to an IGD device after it
45 has been assigned to a VM. It's therefore generally recommended to prevent
48 the driver_override option can be used to ensure that only vfio-pci can bind
49 to the device on the host[2], virsh nodedev-detach can be used to bind the
51 re-binding to i915, etc. Also note that IGD is also typically the primary
53 blacklisting i915 or using pci-stub/vfio-pci to take ownership of IGD as a
57 a catch-all, video=vesafb:off,efifb:off. Error messages such as:
67 to access the reserved GTT space after reset, which it no longer has access to
79 management tools like libvirt. To make use of legacy mode, simply remove all
80 other graphics options and use "-nographic" and either "-vga none" or
81 "-nodefaults", along with adding the device using vfio-pci:
83 -device vfio-pci,host=00:02.0,id=hostdev0,bus=pci.0,addr=0x2
85 For UPT mode, retain the default emulated graphics and simply add the vfio-pci
87 default to assigning the device a UPT compatible address while legacy mode
88 users will need to manually edit the XML if using a tool like virt-manager
91 An experimental vfio-pci option also exists to enable OpRegion, and thus
92 external monitor support, for UPT mode. This can be enabled by adding
93 "x-igd-opregion=on" to the vfio-pci device options for the IGD device. As
94 with legacy mode, this requires the host to support features introduced in
96 be made non-experimental in the future, opening it to libvirt support.
100 Legacy mode IGD support imposes two fw_cfg requirements on the VM firmware:
102 1) "etc/igd-opregion"
113 2) "etc/igd-bdsm-size"
115 This fw_cfg file contains an 8-byte, little endian integer indicating
121 running the IGD ROM, which has other dependencies on the device appearing
129 as non-primary, other than the combination typically not working. I only
133 [2] # echo "vfio-pci" > /sys/bus/pci/devices/0000:00:02.0/driver_override