GPedit.msc install on Windows home edition  (ref: https://answers.microsoft.com/en-us/windows/forum/all/how-to-enable-the-gpeditmsc-on-windows-10-and-11/dbc76919-f2b5-4dec-a2b7-bcf545c34d00)
FOR %F IN ("%SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~*.mum") DO (DISM /Online /NoRestart /Add-Package:"%F")
FOR %F IN ("%SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~*.mum") DO (DISM /Online /NoRestart /Add-Package:"%F")

Windows configuration for headless GPU display settings: (Ref: https://www.reddit.com/r/PleX/comments/15ukivg/comment/jzz13yu/?context=3)


passthrough fix ups: (Ref: https://www.reddit.com/r/homelab/comments/b5xpua/the_ultimate_beginners_guide_to_gpu_passthrough/)

proxmox configurations: (Ref: https://drive.google.com/drive/folders/1W4Qf0woR3vnaDQB60ope-YvZ1X2TwiUB)
--SSH into Proxmox--

--Enable IOMMU--

nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
	- OR -
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

update-grub


--Enable VFIO--

nano /etc/modules

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd


--Blacklist Linux Host Drivers--


echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf

update-initramfs -u


--REBOOT Proxmox--
--INSTALL CentOS Stream 9--

ref: https://linuxhint.com/install-nvidia-drivers-centos/

Make sure Secure Boot is disabled otherwise nvidia drivers don't get loaded!

sudo dnf config-manager --set-enabled crb
sudo dnf install epel-release epel-next-release
sudo dnf install kernel-headers-$(uname -r) kernel-devel-$(uname -r) tar bzip2 make automake gcc gcc-c++ pciutils elfutils-libelf-devel libglvnd-opengl libglvnd-glx libglvnd-devel acpid pkgconfig dkms
sudo dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel9/$(uname -i)/cuda-rhel9.repo
sudo dnf module -y install nvidia-driver:latest-dkms
sudo reboot

lsmod|grep -i nvi
lspci -k |grep -i nvi


Ollama deploy:
curl -fsSL https://ollama.com/install.sh | sh

docker/podman nvidia support:
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/cdi-support.html

--Install Windows VM--

Guest OS: Windows
BIOS: OVMF UEFI
Machine: q35
Memory: *UNCHECK* Ballooning Device

Add -> PCI Device

Select your GPU core from the dropdown list.
Check "All Functions" and "PCI-Express"

Edit the VM config file directly:
nano /etc/pve/qumu-server/100.conf >>>
cpu: host,hidden=1,flags=+pcid
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=NV43FIX,kvm=off'

$qm set <vmid> -args '-global q35-pcihost.pci-hole64-size=512G’


Install Windows


--Software Setup--

Download + Install latest drivers for your GPU
https://www.nvidia.com/drivers
https://www.amd.com/en/support

Download + Install VB-Audio Virtual Audio Cable

Download + Install TightVNC
https://www.tightvnc.com/download.php
(Install as a service)

Download USBMMIDD Virtual Display Adapter

Download Parsec
https://parsec.app/


--Enable nVidia Boost + Rendering--

Open CMD Prompt as Administrator

Navigate to C:\Program Files\NVidia Corporation\NVSMI

"nvidia-smi -dm 0"

Open Windows Registry (regedit)

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\####

The #### will vary depending on your setup. Locate your nVidia Tesla or AMD FirePro adapter in one of these folders

Delete "AdapterType" registry entry


--REBOOT VM--


--Configure USB Monitor Driver + Parsec--

Connect to VM via TightVNC

Unzip "usbmmidd.zip" to C:\usbmmidd\

Run usbmmidd.bat as Administrator

Install Parsec
(Install as Shared)

Log into Parsec

Settings -> Host

Resolution: 1920x1080
Bandwidth: 25Mb (recommended for LAN)
Monitor: "Generic PnP Monitor" (should be 2nd option)

Right-click on Desktop -> Display Settings

Under "Multiple Displays", select "Show only on 2"

Open Notepad

c:\usbmmidd\deviceinstaller64 enableidd 1

Save as "start.bat" to C:\usbmmidd\

Open Group Policy Editor (gpedit.msc)

Computer Configuration -> Windows Settings -> Scripts -> Startup

Add "C:\usbmmidd\start.bat"

OK + Close out of gpedit.msc

--REBOOT--