====== Proxmox - GPU Passthrough - Configure VM ======
===== Download VirtIO drivers (Optional, but RECOMMENDED for Windows VMs) =====
**NOTE:** The VirtIO ISO file contains the VirtIO drivers to mount as a CD-ROM in order to install Windows 10 using VirtIO (SCSI).
For the CD-Rom, it is fine if use IDE or SATA.
* Make sure CD-ROM is selected as the primary boot device under the **Options** tab, when you are done creating the VM.
* Ensure that VirtIO (SCSI, not VirtIO Block) is selected for the Hard disk and Network Adapter.
----
===== Enable OMVF (UEFI) for the VM =====
Under the VM **Options** Tab, set the following:
* Boot Order: **CD-ROM, Disk (scsi0)**.
* SCSI Controller: **VirtIO SCSI Single**.
* BIOS: **OMVF (UEFI)**.
**NOTE:** When you change the BIOS from SeaBIOS (Default) to OMVF (UEFI), Proxmox will say something about adding an EFI disk.
In this case navigate to the **Hardware** Tab.
* **Add -> EFI Disk**.
----
===== Edit the VM Config File =====
Edit **/etc/pve/qemu-server/.conf**, where is the VM ID Number you used during the VM creation (General Tab).
Add these lines.
machine: q35
cpu: host,hidden=1,flags=+pcid
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=NV43FIX,kvm=off'
----
===== Add PCI Devices (The GPU) to VM =====
Select the VM.
Under the Hardware Tab, click on the **Add** button towards the top.
Then under the drop-down menu, click **PCI Device**.
Look for the GPU in the list, and select it.
On the PCI options screen, you should only need to configure it like so:
* All Functions: **Checked**.
* Rom-Bar: **Checked**.
* Primary GPU: **Not Checked**.
* PCI-Express: **Checked**. This requires **machine: q35** in the VM config file.
----