Plex LXC with Hardware Transcoding/ iGPU Passtrough

In this post, I will explain how to set up a Plex Media Server (PMS) LXC on Proxmox with hardware transcoding by passing the iGPU to the container. Will we could directly install Plex Media Server directly on the host (Proxmox, Debian, Ubuntu..) using an LXC container because it offers better resource isolation, easier management, and more efficient backups and migrations compared to a bare-metal setup. This method does not use the traditional PCIe passthrough for the GPU, so no Proxmox IOMMU host configuration is required to enable hardware transcoding. This guide utilizes the excellent tteck Proxmox Plex LXC script to largely automate the setup of a Plex LXC, including the necessary GPU drivers and LXC configuration for these GPU offload features.
Check for iGPU
First we want to verify that your host recognizes the GPU.
- Open a terminal on your Proxmox host.
- Run the following command to check for the presence of an iGPU
lspci -v | grep -e VGA

Then we want to know if the drivers are correctly loaded
- Ensure the iGPU drivers are loaded by running:
lsmod | grep i915

We can also get more details about the pci device, we want to see "Kernel driver in use: i915 "
sudo lspci -v -s 00:02.0

Since we will use the video group, ensure that the device is correctly loaded:
sudo ls /dev/dri

LXC installation
Enter the following command to start the Plex LXC installation via the tteck script:
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/plex.sh)"
Press Enter to confirm when prompted with "Yes".








Then default settings for the others settings
Verify iGPU installation
Following this is the classic Plex Media Server configuration that I will not cover here. We just want to know if the iGPU is passed correctly to the LXC.
Enter the LXC using pct:
sudo pct list
sudo pct enter 100

See the /dev/dri mounted and used:
ls -la /dev/dri

Fine ! Now we just need to test hw transcoding in plex by launching a media and choose another quality and see if we get the " (hw) "

Also we can check the Plex Transcoder Process using intel-gpu-tools
sudo intel_gpu_top

By following these steps, you should have a fully functional Plex Media Server with hardware transcoding enabled all inside a LXC container!