Subject: Hardware Transcoding with Tone Mapping Fails on Intel Arc A380 - Plex Transcoder Segfault
Details:
- Plex Media Server Version: 1.40.3.8555
- Operating System: Bare Metal Ubuntu 22.04 (server) with Linux 6.5.0-41-generic hwe (also tried Kernel 5.15 and 6.8 - same result, as well as Ubuntu 24.04)
- GPU: Intel Arc A380
- CPU: Intel Core i7-6700
- Drivers: Tried with
intel-media-va-driver-non-freeandintel-opencl-icdfrom Intel repo, and without - no difference - Plex seems to use its own binaries anyway - Plex Settings:
- Hardware Acceleration: Enabled
- HDR Tone Mapping: Enabled
- Hardware transcoding device: DG2 [Arc A380]
Issue:
I’m encountering a segfault error when trying to use hardware transcoding with tone mapping enabled on my Intel Arc A380 GPU. The system logs indicate a segfault in the libigdrcl.so library, and this issue persists across multiple kernel versions and driver configurations.
As soon as I turn off tone mapping, it works fine. It is just with tone mapping on that the segfault occurs and the transcoder ultimately falls back to software.
dmesg Output:
[ 5810.761079] Plex Transcoder[10206]: segfault at 0 ip 000077a2e19cdc07 sp 00007ffe12a138c0 error 4 in libigdrcl.so[77a2e1740000+3c4000] likely on CPU 0 (core 0, socket 0)
[ 5810.761096] Code: 44 8b ab bc 07 00 00 41 c6 84 24 08 01 00 00 00 49 8d 44 24 08 49 89 04 24 f6 43 2c 01 74 50 48 8b 45 c8 48 8b b8 a0 00 00 00 <48> 8b 07 4c 8b 58 38 e8 dd 31 da ff 84 c0 75 35 83 bb e0 06 00 00
syslog Output:
Jul 01 18:36:38 limaserver sudo[10204]: luca : TTY=pts/0 ; PWD=/home/luca ; USER=root ; ENV=EAE_ROOT=/tmp/pms-e565790a-7532-4bed-9fba-e2b9ae46dc2f/EasyAudioEncoder EnableAIL=0 FFMPEG_EXTERNAL_LIBS=/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/ad47460-ffe81d9cd51bd27cb3fbbe09-linux-x86_64/ LIBVA_DRIVERS_PATH=/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Cache/va-dri-linux-x86_64 NEOReadDebugKeys=1 OCL_ICD_VENDORS=/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Cache/cl-icds-linux-x86_64 X_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx cl_cache_dir=/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Cache/Shaders/icr-3e693db9c71d966fa83dfabd-linux-x86_64/ ; COMMAND=/usr/lib/plexmediaserver/Plex#040Transcoder -codec:0 hevc -hwaccel:0 vaapi -hwaccel_fallback_threshold:0 10 -hwaccel_output_format:0 vaapi -hwaccel_device:0 vaapi -codec:1 truehd_eae -eae_prefix:1
Jul 01 18:36:38 limaserver sudo[10204]: luca : (command continued) ur42a5vkwrdk1c3t5ht8ng8u_ -ss 3 -analyzeduration 20000000 -probesize 20000000 -i '/mnt/Media/Movies/Barbie (2023)/Barbie (2023) {imdb-tt1517268} [Hybrid][Remux-2160p Proper][DV HDR10][TrueHD Atmos 7.1][HEVC]-CiNEPHiLES.mkv' -filter_complex [0:0]hwupload[0];[0]scale_vaapi=w=1920:h=1080:format=p010[1];[1]hwmap=derive_device=opencl[2];[2]tonemap_opencl=tonemap=mobius:format=nv12:m=bt709:p=bt709:r=tv[3];[3]hwmap=derive_device=vaapi:reverse=1[4];[4]hwupload[5] -map [5] -codec:0 h264_vaapi -crf:0 17 -maxrate:0 18097k -bufsize:0 36194k -r:0 23.975999999999999 -filter_complex '[0:1] aresample=async=1:ochl=\'7.1\':rematrix_maxval=0.000000dB:osr=48000[6]' -map [6] -metadata:s:1 language=eng -codec:1 libopus -b:1 908k -f segment -segment_format matroska -segment_format_options live=1 -segment_time 1 -segment_header_filename header -segment_start_number 0 -segment_list
Jul 01 18:36:38 limaserver sudo[10204]: luca : (command continued) http://127.0.0.1:32400/video/:/transcode/session/ur42a5vkwrdk1c3t5ht8ng8u/b886f702-46f5-41a2-a695-f7eb9d11d5f7/manifest?X-Plex-Http-Pipeline=infinite -segment_list_type csv -segment_list_unfinished 1 -segment_list_size 5 -segment_list_separate_stream_times 1 -avoid_negative_ts disabled -map_metadata:g -1 -map_metadata:c -1 -map_chapters -1 chunk-%05d -start_at_zero -copyts -init_hw_device vaapi=vaapi:/dev/dri/renderD129,driver=iHD -filter_hw_device vaapi -y -nostats -loglevel verbose -loglevel_plex verbose
Jul 01 18:36:38 limaserver sudo[10204]: pam_unix(sudo:session): session opened for user root(uid=0) by luca(uid=1000)
Jul 01 18:36:39 limaserver kernel: Plex Transcoder[10206]: segfault at 0 ip 000077a2e19cdc07 sp 00007ffe12a138c0 error 4 in libigdrcl.so[77a2e1740000+3c4000] likely on CPU 0 (core 0, socket 0)
Jul 01 18:36:39 limaserver kernel: Code: 44 8b ab bc 07 00 00 41 c6 84 24 08 01 00 00 00 49 8d 44 24 08 49 89 04 24 f6 43 2c 01 74 50 48 8b 45 c8 48 8b b8 a0 00 00 00 <48> 8b 07 4c 8b 58 38 e8 dd 31 da ff 84 c0 75 35 83 bb e0 06 00 00
I also tried to run the “Plex Transcoder” in CLI directly, and I’m attaching a log of that and the Plex Media Server log for further reference.
Attachments:
-
RunTranscoderCLI.txt (60.0 KB)
-
PMSLogExcerpt.txt (173.0 KB)
Has anyone experienced similar issues with hardware transcoding and tone mapping on the Intel Arc A380? Any advice or solutions would be greatly appreciated. Thank you!