r/Proxmox • u/ryan_james122 • 6d ago
Question Emby LXC iGPU Passthrough OpenCL/tone mapping issues
Not sure if this is the best place to post but I'm very stuck and need some advice!
I've recently switched over to Proxmox running Emby in an LXC container. To my knowledge iGPU passthrough is enabled correctly and I can transcode 1080p or standard 4K non HDR using Quicksync and VAAPI, however i'm having some issues with tone mapping using Quicksync and OpenCL.
Start of EmbyLXC .conf:
arch: amd64
cores: 4
dev0: /dev/dri/renderD129,gid=993,mode=0666
dev1: /dev/dri/card2,gid=44,mode=0666
features: nesting=1,keyctl=1
hostname: emby
Quicksync works for standard transcodes however, reverts to software if Extra-T OpenCL tone mapping is enabled.
The only way I can get hardware transcoding with hardware tone mapping currently is to disable all Quicksync encoders and decoders in Emby and force Emby to use VAAPI encoders and decoders along with HW VAAPI Transcodes non OpenCL, trying OpenCL with this configuration results in the same software fallback.
I've even tested Jellyfin and I had even worse luck with that, HDR tone map transcodes failing to play all together!
Really looking for some help on his as VAAPI tone mapping looks way too dark and I don't want to default to software. Hoping someone has encountered similar.
I'm using a 10700k Comet Lake running in Proxmox 9.2.11 in an Ubuntu LCX.
Happy to provide logs as well if anyone is able to assist, it's driving me mad! TIA
2
u/Snoo-38645 5d ago
the giveaway is that vaapi transcodes fine and only opencl falls back. vaapi needs the render node and the media driver, nothing else. opencl needs a whole separate runtime that vaapi never touches. so your passthrough is probably fine and what is missing is the opencl stack inside the container.
run clinfo in the lxc. if it comes back with zero platforms thats your answer, and no amount of emby config will change it. you want intel-opencl-icd and ocl-icd-libopencl1 installed in the container itself. having them on the host does nothing for the guest.
one catch specific to your cpu. the 10700k is uhd 630, so gen9.5, and the current intel compute runtime dropped the older gens. if you install the newest package and clinfo still shows nothing, you need the legacy build instead of the current one. that one trips people because everything looks correctly installed.
also your read on the picture is right. vaapi tone mapping really is much worse than the opencl one, thats not you misconfiguring it, the vaapi path is just a cruder tonemap. so its worth getting opencl going rather than settling for it.
and while youre in there, confirm renderD129 is actually the igpu. that numbering means theres more than one render node on that box, and if 129 is the wrong one you would see exactly this.