2024-02-16, 04:12 AM
(This post was last modified: 2024-02-16, 05:24 AM by zeagle. Edited 4 times in total.)
Thanks for any assistance with this.
I am running jellyfin on a fresh debian 12 server with the 6.5.0-0 kernel on bare metal. The CPU is a ryzen 5600G with integrated iGPU. There is an unrelated VM but the GPU isn't passed through. I installed jellyfin following the instructions and AMD gpu guide and have tried both ffmpeg5 and now ffmpeg6.
1. If I enable VAAPI transcoding it works great and I can see GPU usage with radeontop. I can watch greyed out HDR content with no issue.
2. If I 'Enable Tone Mapping' with default BT.2390 and all default options below I can watch regular content but HDR content does not load. I get this error with dmesg -w regardless of ffmpeg version and no playback. I've tried with a few different media files to confirm.
Logs for reference:
Jellyfin.log tail -f:
Jellyfin.log during SDR content that works with this config:
Jellyfin.log during content that doesn't work:
FFmpeg.Transcode-2024-02-15_21-49-24_498e9afb9ad719f1691332ecf3b2a26e_a411c452.log:
/usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128
/usr/lib/jellyfin-ffmpeg/ffmpeg -v debug -init_hw_device opencl=ocl:.0,device_vendor="Advanced Micro Devices":
/usr/lib/jellyfin-ffmpeg/ffmpeg -v debug -init_hw_device drm=drdev/dri/renderD128 -init_hw_device vulkan@dr
The only thing that jumps out at me is OpenCL runtime status gives me this:
(...) [AVHWDeviceContext @ 0x563a2b49d4c0] QSV to OpenCL mapping not usable. (...)
The kernel taint is due to ZFS, journalctl -k | grep taint:
My google fu has failed me. Am I missing something straight forward?
I am running jellyfin on a fresh debian 12 server with the 6.5.0-0 kernel on bare metal. The CPU is a ryzen 5600G with integrated iGPU. There is an unrelated VM but the GPU isn't passed through. I installed jellyfin following the instructions and AMD gpu guide and have tried both ffmpeg5 and now ffmpeg6.
Code:
# from jellyfin repo:
jellyfin-ffmpeg5/unknown,now 5.1.4-3-bookworm amd64 [residual-config]
jellyfin-ffmpeg6/unknown,now 6.0.1-3-bookworm amd64 [installed]
jellyfin-server/unknown,now 10.8.13-1 amd64 [installed]
jellyfin-web/unknown,now 10.8.13-1 all [installed]
jellyfin/unknown 10.8.13-1 all
# from radeon repo:
comgr/focal,now 2.6.0.60000-91~20.04 amd64 [installed,automatic]
hsa-rocr/focal,now 1.12.0.60000-91~20.04 amd64 [installed,automatic]
openmp-extras-runtime/focal,now 17.60.0.60000-91~20.04 amd64 [installed,automatic]
rocm-core/focal,now 6.0.0.60000-91~20.04 amd64 [installed,automatic]
rocm-language-runtime/focal,now 6.0.0.60000-91~20.04 amd64 [installed,automatic]
rocm-ocl-icd/focal,now 2.0.0.60000-91~20.04 amd64 [installed,automatic]
rocm-opencl-runtime/focal,now 6.0.0.60000-91~20.04 amd64 [installed]
rocm-opencl/focal,now 2.0.0.60000-91~20.04 amd64 [installed,automatic]
libvulkan1/stable,now 1.3.239.0-1 amd64 [installed,automatic]
1. If I enable VAAPI transcoding it works great and I can see GPU usage with radeontop. I can watch greyed out HDR content with no issue.
2. If I 'Enable Tone Mapping' with default BT.2390 and all default options below I can watch regular content but HDR content does not load. I get this error with dmesg -w regardless of ffmpeg version and no playback. I've tried with a few different media files to confirm.
Code:
[ 830.406752] BUG: kernel NULL pointer dereference, address: 0000000000000018
[ 830.407381] #PF: supervisor write access in kernel mode
[ 830.407835] #PF: error_code(0x0002) - not-present page
[ 830.408269] PGD 0 P4D 0
[ 830.408695] Oops: 0002 [#2] PREEMPT SMP NOPTI
[ 830.409121] CPU: 1 PID: 9653 Comm: av:hevc:df0 Tainted: P D OE 6.5.0-0.deb12.4-amd64 #1 Debian 6.5.10-1~bpo12+1
[ 830.409557] Hardware name: ASUS System Product Name/ROG STRIX B550-F GAMING WIFI II, BIOS 3405 12/13/2023
[ 830.409995] RIP: 0010:amdgpu_gmc_set_pte_pde+0x23/0x30 [amdgpu]
[ 830.410617] Code: 90 90 90 90 90 90 90 66 0f 1f 00 0f 1f 44 00 00 48 b8 00 f0 ff ff ff ff 00 00 48 21 c1 8d 04 d5 00 00 00 00 4c 09 c1 48 01 c6 <48> 89 0e 31 c0 e9 73 83 52 e1 0f 1f 00 90 90 90 90 90 90 90 90 90
[ 830.411079] RSP: 0018:ffffb4bf810bf900 EFLAGS: 00010206
[ 830.411544] RAX: 0000000000000000 RBX: 0000001029200000 RCX: 00400010290004f1
[ 830.412011] RDX: 0000000000000000 RSI: 0000000000000018 RDI: ffff89d455a80000
[ 830.412480] RBP: ffffb4bf810bfa88 R08: 00400000000004f1 R09: 0000000000200000
[ 830.412952] R10: 00400000000004f1 R11: 0000000000000009 R12: 0000000000200000
[ 830.413433] R13: 0000000000000001 R14: 0000000000000018 R15: 0000000000000001
[ 830.413916] FS: 00007fc33cdff6c0(0000) GS:ffff89e230c40000(0000) knlGS:0000000000000000
[ 830.414394] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 830.414878] CR2: 0000000000000018 CR3: 000000066b98e000 CR4: 0000000000750ee0
[ 830.415367] PKRU: 55555554
[ 830.415839] Call Trace:
[ 830.416312] <TASK>
[ 830.416783] ? __die+0x23/0x70
[ 830.417267] ? page_fault_oops+0x171/0x4e0
[ 830.417741] ? exc_page_fault+0x77/0x170
[ 830.418219] ? asm_exc_page_fault+0x26/0x30
[ 830.418694] ? amdgpu_gmc_set_pte_pde+0x23/0x30 [amdgpu]
[ 830.419287] amdgpu_vm_cpu_update+0x92/0x110 [amdgpu]
[ 830.419879] amdgpu_vm_ptes_update+0x33d/0x940 [amdgpu]
[ 830.420475] amdgpu_vm_update_range+0x27a/0x770 [amdgpu]
[ 830.421066] amdgpu_vm_bo_update+0x302/0x560 [amdgpu]
[ 830.421664] amdgpu_gem_va_ioctl+0x54f/0x590 [amdgpu]
[ 830.422248] ? srso_alias_return_thunk+0x5/0x7f
[ 830.422725] ? __pfx_amdgpu_gem_va_ioctl+0x10/0x10 [amdgpu]
[ 830.423310] drm_ioctl_kernel+0xcd/0x170 [drm]
[ 830.423806] drm_ioctl+0x267/0x4a0 [drm]
[ 830.424281] ? __pfx_amdgpu_gem_va_ioctl+0x10/0x10 [amdgpu]
[ 830.424844] amdgpu_drm_ioctl+0x4e/0x90 [amdgpu]
[ 830.425395] __x64_sys_ioctl+0x97/0xd0
[ 830.425838] do_syscall_64+0x5f/0xc0
[ 830.426279] ? srso_alias_return_thunk+0x5/0x7f
[ 830.426718] ? amdgpu_drm_ioctl+0x71/0x90 [amdgpu]
[ 830.427265] ? srso_alias_return_thunk+0x5/0x7f
[ 830.427702] ? exit_to_user_mode_prepare+0x40/0x1e0
[ 830.428142] ? srso_alias_return_thunk+0x5/0x7f
[ 830.428586] ? syscall_exit_to_user_mode+0x2b/0x40
[ 830.428999] ? srso_alias_return_thunk+0x5/0x7f
[ 830.429406] ? do_syscall_64+0x6b/0xc0
[ 830.429798] ? srso_alias_return_thunk+0x5/0x7f
[ 830.430178] ? exit_to_user_mode_prepare+0x14b/0x1e0
[ 830.430556] entry_SYSCALL_64_after_hwframe+0x6e/0xd8
[ 830.430916] RIP: 0033:0x7fc37fc8ec5b
[ 830.431263] Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00
[ 830.431627] RSP: 002b:00007fc33cdfd4e0 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[ 830.431996] RAX: ffffffffffffffda RBX: 00007fc224072ba0 RCX: 00007fc37fc8ec5b
[ 830.432364] RDX: 00007fc33cdfd580 RSI: 00000000c0286448 RDI: 0000000000000006
[ 830.432721] RBP: 00007fc33cdfd580 R08: ffff800100600000 R09: 000000000000000e
[ 830.433064] R10: 0000000000000000 R11: 0000000000000246 R12: 00000000c0286448
[ 830.433408] R13: 0000000000000006 R14: 0000558e677df460 R15: 0000000000000005
[ 830.433755] </TASK>
[ 830.434098] Modules linked in: xt_nat xt_tcpudp veth nf_conntrack_netlink xfrm_user xfrm_algo xt_addrtype nft_chain_nat xt_MASQUERADE nf_nat xt_recent xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nft_compat nf_tables nfnetlink wireguard libchacha20poly1305 chacha_x86_64 poly1305_x86_64 curve25519_x86_64 libcurve25519_generic libchacha ip6_udp_tunnel udp_tunnel overlay binfmt_misc nls_ascii nls_cp437 intel_rapl_msr intel_rapl_common vfat fat amdgpu edac_mce_amd btusb btrtl kvm_amd btbcm btintel btmtk kvm bluetooth snd_hda_codec_realtek snd_hda_codec_generic mt7921e mt7921_common snd_hda_codec_hdmi irqbypass mt76_connac_lib amdxcp drm_buddy snd_hda_intel mt76 gpu_sched snd_intel_dspcfg snd_intel_sdw_acpi drm_suballoc_helper ghash_clmulni_intel mac80211 sha3_generic snd_hda_codec drm_display_helper jitterentropy_rng aesni_intel cec snd_hda_core rc_core sha512_ssse3 libarc4 snd_hwdep zfs(POE) sha512_generic drm_ttm_helper crypto_simd cryptd ttm snd_pcm asus_nb_wmi ctr rapl cfg80211 asus_wmi drm_kms_helper
[ 830.434161] battery drbg snd_timer spl(OE) ledtrig_audio sparse_keymap pcspkr i2c_algo_bit ansi_cprng platform_profile snd wmi_bmof video sp5100_tco ccp ecdh_generic soundcore watchdog k10temp rfkill ecc evdev joydev button sg nfsd vhost_net auth_rpcgss tun vhost nfs_acl vhost_iotlb lockd tap br_netfilter grace bridge drm sunrpc stp llc fuse loop dm_mod efi_pstore configfs ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 btrfs blake2b_generic efivarfs raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c crc32c_generic raid1 raid0 multipath linear md_mod hid_generic usbhid hid sd_mod ahci libahci xhci_pci xhci_hcd nvme libata nvme_core t10_pi usbcore scsi_mod crc32_pclmul igc crc32c_intel crc64_rocksoft crc64 crc_t10dif crct10dif_generic i2c_piix4 crct10dif_pclmul crct10dif_common usb_common scsi_common wmi gpio_amdpt gpio_generic
[ 830.437811] CR2: 0000000000000018
[ 830.438240] ---[ end trace 0000000000000000 ]---
[ 830.563664] RIP: 0010:amdgpu_gmc_set_pte_pde+0x23/0x30 [amdgpu]
[ 830.564443] Code: 90 90 90 90 90 90 90 66 0f 1f 00 0f 1f 44 00 00 48 b8 00 f0 ff ff ff ff 00 00 48 21 c1 8d 04 d5 00 00 00 00 4c 09 c1 48 01 c6 <48> 89 0e 31 c0 e9 73 83 52 e1 0f 1f 00 90 90 90 90 90 90 90 90 90
[ 830.564963] RSP: 0018:ffffb4bf916c7960 EFLAGS: 00010206
[ 830.565439] RAX: 0000000000000000 RBX: 000000102c200000 RCX: 004000102c0004f1
[ 830.565901] RDX: 0000000000000000 RSI: 0000000000000018 RDI: ffff89d455a80000
[ 830.566358] RBP: ffffb4bf916c7ae8 R08: 00400000000004f1 R09: 0000000000200000
[ 830.566784] R10: 00400000000004f1 R11: 0000000000000009 R12: 0000000000200000
[ 830.567209] R13: 0000000000000001 R14: 0000000000000018 R15: 0000000000000001
[ 830.567632] FS: 00007fc33cdff6c0(0000) GS:ffff89e230c40000(0000) knlGS:0000000000000000
[ 830.568055] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 830.568480] CR2: 0000000000000018 CR3: 000000066b98e000 CR4: 0000000000750ee0
[ 830.568906] PKRU: 55555554
[ 830.569331] note: av:hevc:df0[9653] exited with irqs disabled
Logs for reference:
Jellyfin.log tail -f:
Code:
[2024-02-15 21:46:50.713 -06:00] [INF] Available hwaccel types: ["cuda", "vaapi", "qsv", "drm", "opencl", "vulkan"]
[2024-02-15 21:46:50.958 -06:00] [INF] VAAPI device "/dev/dri/renderD128" is AMD GPU
[2024-02-15 21:46:50.958 -06:00] [INF] FFmpeg: "/usr/lib/jellyfin-ffmpeg/ffmpeg"
Jellyfin.log during SDR content that works with this config:
Code:
[2024-02-15 21:47:37.957 -06:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-02-15 21:47:37.985 -06:00] [INF] StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/data/multimedia/REMOVED/NAME.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/0c9fc361-4a8c-040e-46bd-8c4c6f63349c/stream.mkv?MediaSourceId=0c9fc3614a8c040e46bd8c4c6f63349c&Static=true&VideoCodec=h264&AudioCodec=eac3&AudioStreamIndex=1&api_key=<token>&Tag=5062bf92e3ac296b0607ce91d26f6493"
[2024-02-15 21:47:38.593 -06:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-02-15 21:47:38.612 -06:00] [INF] StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/data/multimedia/REMOVED/NAME.mkv", AudioStreamIndex=1, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=DirectPlayError ) "media:/videos/0c9fc361-4a8c-040e-46bd-8c4c6f63349c/master.m3u8?MediaSourceId=0c9fc3614a8c040e46bd8c4c6f63349c&VideoCodec=h264,h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=139616000&AudioBitrate=384000&MaxFramerate=23.976025&api_key=<token>&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=5062bf92e3ac296b0607ce91d26f6493&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-level=40&h264-videobitdepth=8&h264-profile=high&h264-rangetype=SDR&h264-deinterlace=true&TranscodeReasons=DirectPlayError"
[2024-02-15 21:47:38.789 -06:00] [INF] Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-02-15 21:47:38.808 -06:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -init_hw_device vaapi=va:/dev/dri/renderD128 -filter_hw_device va -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:\"/data/multimedia/REMOVED/NAME.mkv\" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -rc_mode VBR -b:v 10533030 -maxrate 10533030 -bufsize 21066060 -profile:v:0 high -force_key_frames:0 \"expr:gte(t,0+n_forced*3)\" -flags:v -global_header -vf \"setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale_vaapi=format=nv12:extra_hw_frames=24\" -codec:a:0 libfdk_aac -ac 2 -ab 256000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"/var/lib/jellyfin/transcodes/7e7e9d613b4456e92fb6e7f5613c621d%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/var/lib/jellyfin/transcodes/7e7e9d613b4456e92fb6e7f5613c621d.m3u8\""
[2024-02-15 21:47:39.634 -06:00] [WRN] Slow HTTP Response from "http://10.0.0.20:8096/videos/0c9fc361-4a8c-040e-46bd-8c4c6f63349c/hls1/main/0.ts?DeviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMS4wLjAuMCBTYWZhcmkvNTM3LjM2IEVkZy8xMjEuMC4wLjB8MTcwNzk4MDk0MTgwMA11&MediaSourceId=0c9fc3614a8c040e46bd8c4c6f63349c&VideoCodec=h264,h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=139616000&AudioBitrate=384000&MaxFramerate=23.976025&PlaySessionId=763794ff2c5b4f2d99a5c2207dab768d&api_key=634e9249e25c42ad9263411603e2cc1c&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=5062bf92e3ac296b0607ce91d26f6493&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-level=40&h264-videobitdepth=8&h264-profile=high&h264-rangetype=SDR&h264-deinterlace=true&TranscodeReasons=DirectPlayError&allowVideoStreamCopy=false&runtimeTicks=0&actualSegmentLengthTicks=30000000" to "10.0.0.31" in 0:00:00.8545337 with Status Code 200
[2024-02-15 21:47:42.986 -06:00] [INF] Stopping ffmpeg process with q command for "/var/lib/jellyfin/transcodes/7e7e9d613b4456e92fb6e7f5613c621d.m3u8"
[2024-02-15 21:47:43.116 -06:00] [INF] FFmpeg exited with code 0
[2024-02-15 21:47:43.117 -06:00] [INF] Deleting partial stream file(s) "/var/lib/jellyfin/transcodes/7e7e9d613b4456e92fb6e7f5613c621d.m3u8"
[2024-02-15 21:47:44.631 -06:00] [INF] Playback stopped reported by app "Jellyfin Web" "10.8.13" playing "XXXYYYZZZ". Stopped at "2764" ms
[2024-02-15 21:47:44.641 -06:00] [WRN] Slow HTTP Response from "http://10.0.0.20:8096/Sessions/Playing/Stopped" to "10.0.0.31" in 0:00:01.6643952 with Status Code 204
Jellyfin.log during content that doesn't work:
Code:
[2024-02-15 21:47:58.070 -06:00] [INF] Sending ForceKeepAlive message to 1 inactive WebSockets.
[2024-02-15 21:48:10.071 -06:00] [INF] Lost 1 WebSockets.
[2024-02-15 21:49:24.128 -06:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-02-15 21:49:24.131 -06:00] [INF] StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/data/multimedia/REMOVED/NAME.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=VideoCodecNotSupported, AudioCodecNotSupported ) "media:/videos/498e9afb-9ad7-19f1-6913-32ecf3b2a26e/master.m3u8?MediaSourceId=498e9afb9ad719f1691332ecf3b2a26e&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=139616000&AudioBitrate=384000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=5fbcd2c8c8c07ca8ebf5f19aa8cf4aad&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&TranscodeReasons=VideoCodecNotSupported,%20AudioCodecNotSupported"
[2024-02-15 21:49:24.698 -06:00] [INF] Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-02-15 21:49:24.699 -06:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -init_hw_device vaapi=va:/dev/dri/renderD128 -init_hw_device opencl=ocl:.0,device_vendor=\"Advanced Micro Devices\" -filter_hw_device ocl -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:\"/data/multimedia/REMOVED/NAME.mkv\" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -rc_mode VBR -b:v 30948093 -maxrate 30948093 -bufsize 61896186 -force_key_frames:0 \"expr:gte(t,0+n_forced*3)\" -flags:v -global_header -vf \"setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,hwdownload,format=p010le,hwupload=derive_device=opencl,tonemap_opencl=format=nv12:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=nv12,hwupload_vaapi\" -codec:a:0 libfdk_aac -ac 2 -ab 384000 -af \"volume=2\" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"/var/lib/jellyfin/transcodes/ce350add91585e21844184868afa45b7%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/var/lib/jellyfin/transcodes/ce350add91585e21844184868afa45b7.m3u8\""
FFmpeg.Transcode-2024-02-15_21-49-24_498e9afb9ad719f1691332ecf3b2a26e_a411c452.log:
Code:
/videos/498e9afb-9ad7-19f1-6913-32ecf3b2a26e/hls1/main/0.ts
(I removed a really long protocol block due to 30+ subtitles)
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:/dev/dri/renderD128 -init_hw_device opencl=ocl:.0,device_vendor="Advanced Micro Devices" -filter_hw_device ocl -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:"/data/multimedia/TV Shows/REMOVED/NAME.mkv" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -rc_mode VBR -b:v 30948093 -maxrate 30948093 -bufsize 61896186 -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -flags:v -global_header -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,hwdownload,format=p010le,hwupload=derive_device=opencl,tonemap_opencl=format=nv12:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=nv12,hwupload_vaapi" -codec:a:0 libfdk_aac -ac 2 -ab 384000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/var/lib/jellyfin/transcodes/ce350add91585e21844184868afa45b7%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/var/lib/jellyfin/transcodes/ce350add91585e21844184868afa45b7.m3u8"
ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
[AVHWDeviceContext @ 0x55fc5c167200] QSV to OpenCL mapping not usable.
Input #0, matroska,webm, from 'file:/data/multimedia/TV Shows/REMOVED/NAME.mkv':
Metadata:
encoder : libebml v1.4.0 + libmatroska v1.6.1
Duration: 01:20:47.33, start: 0.000000, bitrate: 18568 kb/s
Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn (default)
Stream #0:1(eng): Audio: eac3, 48000 Hz, 5.1(side), fltp, 768 kb/s (default)
Stream #0:2(eng): Subtitle: subrip
Metadata:
title : English
(I removed streams 3-30 as they are subtitles)
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_vaapi))
Stream #0:1 -> #0:1 (eac3 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
/usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128
Code:
Trying display: drm
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.20 (libva 2.20.0)
vainfo: Driver version: Mesa Gallium driver 23.2.1 for AMD Radeon Graphics (renoir, LLVM 15.0.6, DRM 3.54, 6.5.0-0.deb12.4-amd64)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
/usr/lib/jellyfin-ffmpeg/ffmpeg -v debug -init_hw_device opencl=ocl:.0,device_vendor="Advanced Micro Devices":
Code:
ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'opencl=ocl:.0,device_vendor=Advanced Micro Devices'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Applying option init_hw_device (initialise hardware device) with argument opencl=ocl:.0,device_vendor=Advanced Micro Devices.
[AVHWDeviceContext @ 0x563a2b49d4c0] 1 OpenCL platforms found.
[AVHWDeviceContext @ 0x563a2b49d4c0] 1 OpenCL devices found on platform "AMD Accelerated Parallel Processing".
[AVHWDeviceContext @ 0x563a2b49d4c0] 0.0: AMD Accelerated Parallel Processing / gfx90c:xnack-
[AVHWDeviceContext @ 0x563a2b49d4c0] The cl_intel_va_api_media_sharing extension is required for QSV to OpenCL mapping.
[AVHWDeviceContext @ 0x563a2b49d4c0] QSV to OpenCL mapping not usable.
Successfully parsed a group of options.
/usr/lib/jellyfin-ffmpeg/ffmpeg -v debug -init_hw_device drm=drdev/dri/renderD128 -init_hw_device vulkan@dr
Code:
ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'drm=dr:/dev/dri/renderD128'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'vulkan@dr'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Applying option init_hw_device (initialise hardware device) with argument drm=dr:/dev/dri/renderD128.
[AVHWDeviceContext @ 0x55b4b55022c0] Opened DRM device /dev/dri/renderD128: driver amdgpu version 3.54.0.
Applying option init_hw_device (initialise hardware device) with argument vulkan@dr.
[AVHWDeviceContext @ 0x55b4b5502780] Supported validation layers:
[AVHWDeviceContext @ 0x55b4b5502780] VK_LAYER_MESA_device_select
[AVHWDeviceContext @ 0x55b4b5502780] VK_LAYER_AMD_switchable_graphics_64
[AVHWDeviceContext @ 0x55b4b5502780] VK_LAYER_MESA_overlay
[AVHWDeviceContext @ 0x55b4b5502780] GPU listing:
[AVHWDeviceContext @ 0x55b4b5502780] 0: AMD Radeon Graphics (RADV RENOIR) (integrated) (0x1638)
[AVHWDeviceContext @ 0x55b4b5502780] Requested device: 0x1638
[AVHWDeviceContext @ 0x55b4b5502780] Device 0 selected: AMD Radeon Graphics (RADV RENOIR) (integrated) (0x1638)
[AVHWDeviceContext @ 0x55b4b5502780] Queue families:
[AVHWDeviceContext @ 0x55b4b5502780] 0: graphics compute transfer sparse (queues: 1)
[AVHWDeviceContext @ 0x55b4b5502780] 1: compute transfer sparse (queues: 4)
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_KHR_push_descriptor
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_KHR_sampler_ycbcr_conversion
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_KHR_synchronization2
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_KHR_external_memory_fd
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_EXT_external_memory_dma_buf
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_EXT_image_drm_format_modifier
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_KHR_external_semaphore_fd
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_EXT_external_memory_host
[AVHWDeviceContext @ 0x55b4b5502780] Using device: AMD Radeon Graphics (RADV RENOIR)
[AVHWDeviceContext @ 0x55b4b5502780] Alignments:
[AVHWDeviceContext @ 0x55b4b5502780] optimalBufferCopyRowPitchAlignment: 1
[AVHWDeviceContext @ 0x55b4b5502780] minMemoryMapAlignment: 4096
[AVHWDeviceContext @ 0x55b4b5502780] minImportedHostPointerAlignment: 4096
[AVHWDeviceContext @ 0x55b4b5502780] Using queue family 0 (queues: 1) for graphics
[AVHWDeviceContext @ 0x55b4b5502780] Using queue family 1 (queues: 4) for compute transfers
Successfully parsed a group of options.
The only thing that jumps out at me is OpenCL runtime status gives me this:
(...) [AVHWDeviceContext @ 0x563a2b49d4c0] QSV to OpenCL mapping not usable. (...)
The kernel taint is due to ZFS, journalctl -k | grep taint:
Code:
Feb 15 21:10:35 roci kernel: spl: loading out-of-tree module taints kernel.
Feb 15 21:10:35 roci kernel: spl: module verification failed: signature and/or required key missing - tainting kernel
Feb 15 21:10:36 roci kernel: zfs: module license 'CDDL' taints kernel.
Feb 15 21:10:36 roci kernel: Disabling lock debugging due to kernel taint
Feb 15 21:10:36 roci kernel: zfs: module license taints kernel.
My google fu has failed me. Am I missing something straight forward?