Hardware/GPU/Quicksync transcoding broken on Beta 1.43.1.10540

The custom build seems to work with SDR content, but when I use it with HDR content it’s not working properly for some reason. I get a black image and inverted colors on the subtitles. Reverting to 1.43.1.10611 switches back to CPU transcoding, but HDR content plays properly again.

Using TrueNAS 26 on an Intel 245K here.

It appears that this fix isn’t always working… Still on Version 1.43.1.10611 with this setting applied.. and I have a software-encoded movie & 100% CPU utilization staring at me from my Plex dashboard.

Yesterday 1.43.2 beta came out.
Did anyone try it with
a) Arrow Lake iGPU and i915-Drivers? Does it fix the bug introduced before?
b) Arrow Lake iGPU and xe-Drivers? Has the glibc-compatibility problem been solved?

Changelogs only say "(Transcoding) Addressed issues hw tonemapping on linux using an tiger lake and rocket lake igpus (PM-5197)

  1. (Transcoding) Addressed issues hw transcoding on linux using an arrow lake igpu (PM-5197)"

    but there obviously has been more than a single problem…

More importantly, is it possible to downgrade for now to previous working version? When can we expect 1.43.2 docker image be released? Very annoying issue honestly.

I’m using the linuxserver.io docker container and it was updated 2 days ago. I’ve been running v1.43.2 with no issues for that duration.

1.43.2 is Beta though Plex Media Server - #706 by PlexReleaser

The latest docker form linuxserver that I can see is 1.43.1.10611-1e34174b1-ls304 so not sure where you got the 1.43.2…

If you set the image tag to pull the “latest” image and within Plex set the server update channel to “Beta”, it will pull the latest beta build, being v1.43.2. A container restart might need to be done to initiate the pull.

It’s been working great the last 2 days. Transcoding fixed on my Core Ultra chip.

Reply to myself:

Updated to 1.43.2 beta on Proxmox 9.1.8. lxc.
Before that: last known working 1.43.1-version. Arrow Lake iGPU (Core 7 255H).
i915 → Transcoding working, xe not working
later .1-Versions hw transcoding broken
1.43.2 blacklisted i915 on proxmox host, forcing xe drivers. No changes needed to proxmox lxc.
Transcoding now working with i915 as well as xe. Thanks, developers!

So what did you do exactly to use xe drivers on host?

Xe on lxc without any changes ?

Can you post what you did step by step ?

Noticed any performance change from i915 to xe ?

Thanks :slight_smile:

Sure.

On proxmox host:

echo “options xe force_probe=7d51” > /etc/modprobe.d/xe-force.conf
echo “options i915 force_probe=!” > /etc/modprobe.d/i915-exclude.conf
echo “blacklist i915” > /etc/modprobe.d/blacklist-i915.conf

update-initramfs -u -k all
reboot

After reboot, check:
cat /sys/class/drm/card0/device/uevent | grep DRIVER

- → should show “DRIVER=xe”

lsmod | grep -E “^xe|^i915”

-> should show xe only

If you had hw transcoding running in your plex lxc before, no changes should be needed.

If you encounter any problems please check if the group ids for the render devices have changed in the lxc (didnt happen here, worked right out of the box with 1.43.2 beta and changes on the host). Of course, you need to pass the igpu to the lxc.

This is in my .conf file for the lxc

lxc.cgroup2.devices.allow: a
lxc.cap.drop:
lxc.cgroup2.devices.allow: c 188:* rwm
lxc.cgroup2.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/serial/by-id dev/serial/by-id none bind,optional,create=dir
lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB1 dev/ttyUSB1 none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM1 dev/ttyACM1 none bind,optional,create=file
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file

Hope this helps. Do a snapshot before you change things.
And please be aware that this of course will also affect all other lxc which are using your igpu you might have on your proxmox server; e.g. ollama and others

Thank you so much :slight_smile: . Going to test this out the upcoming weekend.

Which OS are you running in the lxc? :slight_smile:

Ubuntu 24.04 LTS. Didnt bother to update to 26.04 yet.

Ok same here :slight_smile:

Thanks for sharing - do you see any performance with xe vs i915?

Didnt bother to benchmark. Worked before, working now, but switching to the more modern xe on the host should be the right thing to do for the future.

Great :slight_smile:

Will def give it a try :slight_smile:

I’m sad to say that this is still a problem with the latest beta Version 1.43.2.10687.

I have had to keep roling back to the last working version which for me which was Version 1.42.2.10156.

Can anyone explain what happened after this version that has broken it and why it is taking so long to fix?

Thanks

Not without logs :smiley:

Please do the following;

  1. Confirm server DEBUG logging is enabled, VERBOSE logging is disabled.
    SAVE if changes.
  2. Restart PMS
  3. Give it two minutes to start and stabilize
  4. Start a playback which shows the issue
  5. Download the server logs
  6. Attach the logs so I may see them.

Thanks Atomatth - I have PM’d you the logs :+1:

Can you confirm if it is possible to downgrade to previous version and not break the Plex data?