There are a few threads here with useful information but also a lot of guesses and probably old requirements. I just got things working and thought I'd condense what worked.
Updated 5-12-2024 with LE 12.0 and Proxmox 8.1.4
Before Chewitt can say it.....
1) VMWare isn't supported, but there is an OVA that makes installing on ESXi, Workstation, or Fusion very easy. Personally, I've used it for years without issue, but I'm completely done with any VMWare products after the changes Broadcom made recently.
2) Proxmox is extra not supported. It's possible none of the dev's are running it for their own testing.
What I'm doing and why
There are a few use cases for virtualizing Kodi. I run all my Kodi instances off a dedicated MariaDB instance instead of local DBs. This means every TV in the house has the same library and watched status. My partner and I have separate profiles so it's hard to tell which profile a TV will be logged into. Add to that some aggressive Pi power saving and media updates were a mess. Running a separate Kodi VM for each profile makes library updates run extra smooth. My point is, if you are using vt-D to pass hardware direct to the Kodi VM. Good luck. I'm not setting that up to test, though I suspect you'll just need to select your video card instead of VirGL.
Installing Kodi in Proxmox
Skip the OVA. There are directions for extracting the virtual disk image from the OVA and converting it to something Proxmox supports, which defeats the entire point of combining VM specs and a disk image in this file type. Maybe this disk image has some no longer required drivers stripped out. I didn't dig into it. Get the "Generic PC" version of LE and make a boot USB.
Next, create a new VM in Proxmox. The only setting you need to change is the display, which needs to be VirGL / Virtio-gl. You'll also need to install some libraries before starting the VM (apt -y install libgl1 && apt -y install libegl1).
Before starting the new VM go into its settings, then hardware, and Add a USB device. Choose "Use USB Vendor/Device ID" and choose the install USB device you created earlier. This will pass the USB device directly to the VM and allow you to boot from it.
Switch to Console and start the VM. You may have to hit Esc and choose the USB device from a boot list. From here on out it's a regular LE install.
In other threads people have suggested a few other tweaks like:
- Switching from UEFI to SeaBIOS, but that's the default now.
- Switching from a SCSI controller to a SATA one. Both work with the "Generic PC" build
- Switching from the VirtIO network card to an E1000. Both work with the "Generic PC" build