Retain host video output when passing through iGPU

astro666

New Member
Aug 9, 2024
6
0
1
Hi,

I am almost certain there is no way to do this, but wanted to check just to be sure.
I run proxmox on a device with only integrated intel graphics. For hardware acceleration reasons, I need to pass that device through to a VM. I do this by passing through the PCI Device 0000:00:02.0 through to the VM. Works fine.
The issue is that KVM/Console and directly connected HDMI essentially stop working whenever the VM boots, which makes sense as it's passed through to the VM. The issue is though I would like for the KVM/Console/HDMI output of the host to remain usable while the GPU is passed through - mainly as the host has Intel AMT and its extremely useful to remote into the host device when needed.

I know one way to do this is via SR-IOV and pass through that to the VM, however this is a 9th Gen intel chip and doesnt support SR-IOV :( otherwise that would have been perfect.

Does anyone have any other suggestions?
Thanks
 
PCI(e) passthrough moves the whole device (including outputs) to a VM. Mediated device passthrough gives VMs a part of the GPU but no output (for anyone).
For both host GPU display output and Linux VMs with 3D graphics, try VirGL: https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_display
Or use desktop virtualization software like VirtualBox or VMware Workstation, which do support 3D graphics for VMs to a window on the host (that runs a graphical desktop).
Or add multiple GPUs and use the integrated graphics for the host. Or use a serial interface and terminal for the host instead.
 
Thanks for the reply!
For both host GPU display output and Linux VMs with 3D graphics, try VirGL
That's a good solution, however I need the GPU transcoding capabilities passed through to the VM, in this case that wont work.

Or use a serial interface and terminal for the host instead.
In my case this is the way. Did the following to get Serial Over Lan (SOL) via Intel AMT:
Ok so I successfully enabled serial over lan with the following actions:
  1. Enable SOL in the bios before proceeding.
  2. Identify the port :
    Code:
    dmesg | grep tty
  3. I identified the port as ttyS4
  4. Modify grub config by adding the following in the default command line
    Code:
    "quiet console=tty4 console=ttyS4,115200n8"
  5. Update grub using the new config
    Code:
    update-grub
  6. Activated serial-getty daemon for the port:
    Code:
    systemctl enable serial-getty@ttyS4.service
Now I can access it via SOL.

There is actually another way with older intel iGPUs to 'split' them using GVT-g, which is documented here: https://3os.org/infrastructure/proxmox/gpu-passthrough/igpu-split-passthrough/

I decided not to do this as it does take quite the performance hit, and I didn't want to risk stability issues: https://blog.ktz.me/why-i-stopped-using-intel-gvt-g-on-proxmox/

Hope this helps someone.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!