[[qm_pci_passthrough]]
PCI(e) Passthrough
------------------
+ifdef::wiki[]
+:pve-toplevel:
+endif::wiki[]
PCI(e) passthrough is a mechanism to give a virtual machine control over
a PCI device from the host. This can have some advantages over using
enabled.
----
-# dmesg -e DMAR -e IOMMU -e AMD-Vi
+# dmesg | grep -e DMAR -e IOMMU -e AMD-Vi
----
should display that `IOMMU`, `Directed I/O` or `Interrupt Remapping` is
Please be aware that this option can make your system unstable.
====
-Notes for GPU passthrough
-^^^^^^^^^^^^^^^^^^^^^^^^^
+GPU Passthrough Notes
+^^^^^^^^^^^^^^^^^^^^^
-When passing through a GPU (be it a full device, or a vGPU), if you want to use
-it for displaying, you have to either physically connect a monitor to the
-card (if possible), or configure a remote desktop software (e.g., VNC, RDP)
-inside the guest and use that.
+It is not possible to display the frame buffer of the GPU via NoVNC or SPICE on
+the {pve} web interface.
-It is not possible to display the content of the GPU via NoVNC/SPICE on the
-{pve} web interface.
+When passing through a whole GPU or a vGPU and graphic output is wanted, one
+has to either physically connect a monitor to the card, or configure a remote
+desktop software (for example, VNC or RDP) inside the guest.
-If you want to use the GPU for things like OpenCL or CUDA, this is not an issue,
-since the application should be able to choose the hardware without using
-it as a display.
+If you want to use the GPU as a hardware accelerator, for example, for
+programs using OpenCL or CUDA, this is not required.
Host Device Passthrough
~~~~~~~~~~~~~~~~~~~~~~~
# qm set VMID -hostpci0 00:02.0
----
-If your device has multiple functions, you can pass them through all together
-with the shortened syntax ``00:02`'
+If your device has multiple functions (e.g., ``00:02.0`' and ``00:02.1`' ),
+you can pass them through all together with the shortened syntax ``00:02`'
There are some options to which may be necessary, depending on the device
and guest OS:
With this set, {pve} automatically creates such a device on VM start, and
cleans it up again when the VM stops.
+
+ifdef::wiki[]
+
+See Also
+~~~~~~~~
+
+* link:/wiki/Pci_passthrough[PCI Passthrough Examples]
+
+endif::wiki[]