After updating to the last beta version, version 1.43.1.10540 , GPU (hardware) transcoding no longer worked for me.
I am on unraid, running Hotio docker container running on a Intel® Core™ Ultra 7 265K with build in IGPU with quicksync. When I rollback to the last stable version, everything works fine.
I enabled debug and trace logs, and found this entry:
[Req#5a3d58/Transcode/8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63] TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Mar 15, 2026 23:02:53.658 [23439240571704] DEBUG - Request: [80.60.94.213:42380 (WAN)] GET /video/:/transcode/universal/session/8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63/base/index.m3u8 (52 live) #5a3d58 TLS GZIP Signed-in / Accept-Encoding => gzip / Connection => Keep-Alive / Host => XXXXXXXXX / User-Agent => Mozilla/5.0 (Linux; Android 16; CPH2645 Build/UKQ1.231108.001; wv)PlexMobile/2026.4.0
Mar 15, 2026 23:02:53.658 [23439240571704] DEBUG - [Req#5a3d58/Transcode/8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63] Starting a transcode session 8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63 at offset -1.0 (state=3)
Mar 15, 2026 23:02:53.659 [23439240571704] DEBUG - [Req#5a3d58/Transcode/8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63] TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Mar 15, 2026 23:02:53.660 [23439240571704] DEBUG - [Req#5a3d58/Transcode/8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63] [Universal] Using local file path instead of URL: /data/media/tv/XXXXXXXXX.mkv
Mar 15, 2026 23:02:53.660 [23439240571704] DEBUG - [Req#5a3d58/Transcode/8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63] TPU: hardware transcoding: final decoder: , final encoder:
Mar 15, 2026 23:02:53.660 [23439240571704] VERBOSE - [Req#5a3d58/Transcode/8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63] Sufficient disk space: 255.86kB source file, 579.83GB capacity, 273.38GB available on “/transcode/Transcode/Sessions”
Mar 15, 2026 23:02:53.661 [23439240571704] DEBUG - [Req#5a3d58/Transcode/8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63/JobRunner] Job running: EAE_ROOT=/config/Temp/pms-0cebd923-f624-4c75-b559-2aafbdffcaaa/EasyAudioEncoder FFMPEG_EXTERNAL_LIBS=‘/app/config/Plex\ Media\ Server/Codecs/780ede2-0b0ee1264a9bc260e67e1b1b-linux-x86_64/’ X_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx “/app/bin/usr/lib/plexmediaserver/Plex Transcoder” -codec:0 hevc -codec:1 eac3_eae -eae_prefix:1 8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63_ -analyzeduration 20000000 -probesize 20000000 -i “/data/media/tv/XXXXXX.mkv” -start_at_zero -copyts -fps_mode cfr -y -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63/64a3d654-313d-4de1-8a16-820e0c64fef4/progress -filter_complex “[0:0]scale=w=1280:h=720:force_divisible_by=4[0];[0]format=p010,tonemap=mobius[1];[1]format=pix_fmts=yuv420p|nv12[2]” -map “[2]” -metadata:s:0 language=eng -codec:0 libx264 -crf:0 23 -maxrate:0 3157k -bufsize:0 6314k -r:0 24 -preset:0 veryfast -x264opts:0 subme=1:me_range=4:rc_lookahead=10:me=hex:8x8dct=0:partitions=none -force_key_frames:0 “expr:gte(t,n_forced*3)” -filter_complex “[0:1] aresample=async=1:ochl=‘5.1’:rematrix_maxval=0.000000dB:osr=48000[3]” -map “[3]” -metadata:s:1 language=eng -codec:1 libopus -b:1 336k -map 0:27 -metadata:s:2 language=nld -codec:2 copy -strict_ts:2 0 -segment_format matroska -f ssegment -individual_header_trailer 0 -flags +global_header -segment_header_filename header -segment_time 3 -segment_start_number 0 -segment_time_delta 0.0625 -segment_list “http://127.0.0.1:32400/video/:/transcode/session/8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63/64a3d654-313d-4de1-8a16-820e0c64fef4/manifest?X-Plex-Http-Pipeline=infinite” -segment_list_type csv -segment_list_size 5 -segment_list_separate_stream_times 1 -segment_list_unfinished 1 -segment_format_options output_ts_offset=10 -max_delay 5000000 -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 “media-%05d.ts”
Mar 15, 2026 23:02:53.661 [23439240571704] DEBUG - [Req#5a3d58/Transcode/8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63/JobRunner] In directory: “/transcode/Transcode/Sessions/plex-transcode-8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63-64a3d654-313d-4de1-8a16-820e0c64fef4”
Mar 15, 2026 23:02:53.661 [23439240571704] DEBUG - [Req#5a3d58/Transcode/8da8b6f6-eb8d-4ef3-92e9-bf370e3e7e63/JobRunner] Jobs: Starting child process with pid 98582
Mar 15, 2026 23:02:53.667 [23439759956792] VERBOSE - Didn’t receive a request from 172.18.0.17:41964: End of file
@PB-Plex@FDM80 Can you both try the official Plex container? Can you also share your docker config/compose? Just wanting to start with the easy stuff first.
I’m on 1.43.1 (10540) as well and don’t see iGPU usage anymore on my i5-1145G7 NUC during transcoding (via intel_gpu_top). Colors are washed out despite tonemapping in settings. I do use a bare metal install on Ubuntu 25.10 however.
Running Plex Media Server (1.43.1.10540, via plexinc/pms-docker:beta) on Docker with an Intel Core Ultra 7 255H (Arrow Lake-P, Xe2/Battlemage integrated graphics). PlexPass hardware transcoding is enabled and the correct GPU is selected in Settings → Transcoder. The /dev/dri device is passed through to the container and permissions are correct.
Plex detects the device (8086:7d51, Arrow Lake-P [Intel Graphics]) but fails to initialize VAAPI:
TPU: hardware transcoding: enabled, but no hardware decode accelerator found
TPU: hardware transcoding: final decoder: , final encoder:
The host system’s VAAPI stack works correctly — vainfo with LIBVA_DRIVER_NAME=iHD reports full H.264 and HEVC encode/decode support via intel-media-va-driver-non-free 25.2.4. The issue appears to be that Plex’s bundled libva cannot load the system iHD driver regardless of LIBVA_DRIVER_NAME or LIBVA_DRIVERS_PATH environment variables. This may be related to the MUSL vs glibc build of Plex’s internal libraries.
Related thread: Battlemage support - is there a fix or workaround for Xe2/Arrow Lake specifically?
Update: I also tested rolling back to 1.43.0.10492 following reports that 1.43.1.10540 introduced a QuickSync regression. The rollback did not resolve the issue for me - the same “no hardware decode accelerator found” error seems to persist on 1.43.0. This suggests Arrow Lake iGPU users may be dealing with two separate problems: the 1.43.1 regression affecting previously-working Intel hardware, and a pre-existing VAAPI incompatibility with Xe2/Battlemage that exists across all Plex versions. The rollback which fixes older Intel generations does not apply here.
Running Plex Media Server (1.43.1.10540, via plexinc/pms-docker:beta) on Docker with an Intel Core Ultra 7 255H (Arrow Lake-P, Xe2/Battlemage integrated graphics). PlexPass hardware transcoding is enabled and the correct GPU is selected in Settings → Transcoder. The /dev/dri device is passed through to the container and permissions are correct.
Plex detects the device (8086:7d51, Arrow Lake-P [Intel Graphics]) but fails to initialize VAAPI:
TPU: hardware transcoding: enabled, but no hardware decode accelerator found
TPU: hardware transcoding: final decoder: , final encoder:
The host system’s VAAPI stack works correctly — vainfo with LIBVA_DRIVER_NAME=iHD reports full H.264 and HEVC encode/decode support via intel-media-va-driver-non-free 25.2.4. The issue appears to be that Plex’s bundled libva cannot load the system iHD driver regardless of LIBVA_DRIVER_NAME or LIBVA_DRIVERS_PATH environment variables. This may be related to the MUSL vs glibc build of Plex’s internal libraries.
Related thread: Battlemage support - is there a fix or workaround for Xe2/Arrow Lake specifically?
Update: I also tested rolling back to 1.43.0.10492 following reports that 1.43.1.10540 introduced a QuickSync regression. The rollback did not resolve the issue for me - the same “no hardware decode accelerator found” error seems to persist on 1.43.0. This suggests Arrow Lake iGPU users may be dealing with two separate problems: the 1.43.1 regression affecting previously-working Intel hardware, and a pre-existing VAAPI incompatibility with Xe2/Battlemage that exists across all Plex versions. The rollback which fixes older Intel generations does not apply here.
Plex really needs to update their bundled drivers. They are all severely out of date so newer systems are having problems getting GPU acceleration to work.
Plex Media Server 1.43.1.10540 includes the updated transcoder; it is based on Intel Media Driver 25.2.6 which supports Arrow Lake-based processors (actually, up through Panther Lake).
It was suggested in another post that “severely” outdated drivers were being used. I just wanted to ensure that it was understood that the drivers used in the current beta do indeed support this hardware. So there’s likely something else going on here. Sorry for the added noise.
In my case, each of these _#### values has to do with a different install, as I have migrated my Plex library many times over the years, and I do all the work to update the paths. I went from Windows hosted, to Fedora Linux hosted, to AMD powered MacOS hosted, to Synology NAS, then AMD powered Ubuntu Server, then Intel powered Ubuntu Server. As some point in the history, it became less of an arbitrary task, and this time, I had to do this cleanup.
Stop plex
clean up all the _### entries, like I did – they aren’t needed in this case.
clean up all the entries shown in the first section (if you are unsure, you can copy / paste the entries into ChatGPT and ask it, what entries should be removed to reset GPU options for plex media server. that’s how I got the list, and fixed this.
delete the Cache, Drivers, Codecs folders from the plex configuration folders
start plex
on Ubuntu, the plex config folder is located in /var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server
Not part of the fix, but I also remove all video drivers, since I am running on a headless linux server. And because plex sources its own libraries, this works.
Hey, thanks for responding. My preferences.xml didn’t have some of the entries that yours did (notably per Atomatth, VaapiDriver=“ihd”), but I removed everything I had that looked similar. I purged the folders that you listed (contents not the folders themselves), and after a container stop, rm, rebuild, I still don’t get hw transcoding. The only other thing that differs is that I do have the intel video drivers installed on the host, which I guess aren’t necessary (also headless) but I don’t think they interfere.
Would you mind sharing the salient portions of your rebuilt preferences.xml? Anything sensitive redacted, of course.