Skip to content

Plex HDR tone mapping not working #30

Description

@dlutsch

System Information

  • Model: DS425+ (Intel Celeron J4125)
  • DSM Version: 7.3.2-86009
  • TranscodeDrivers Version: 3.0.11 (latest)
  • Plex Version: 1.41.5.9626-9ba082670 (native Synology package)
  • Jellyfin Version: latest (linuxserver/jellyfin Docker container)

Issue Description

Hardware transcoding works perfectly in Jellyfin (including HDR tone mapping), but Plex refuses to transcode HDR content when tone
mapping is enabled. Plex settings indicate "Additional driver components may be needed to support hardware transcoding with this
feature enabled."

Test Results

✅ Jellyfin (Working)

  • Test file: 4K HDR10 HEVC
  • Settings: Hardware acceleration enabled (QSV), VPP tone mapping enabled
  • Result: Full hardware transcode with tone mapping
    • Source: 4K HDR10 (HEVC Main 10) (hw)
    • Output: 720p H264 - Transcode (hw)
    • CPU usage: ~60% of one core (~15% total on 4-core J4125)
    • Framerate: 61fps

❌ Plex (Not Working with HDR Tone Mapping)

  • Test file: Same 4K HDR10 HEVC file
  • Settings: Hardware acceleration enabled, HDR tone mapping enabled
  • Quality: Forced to 2 Mbps 720p (to force transcode)
  • Result: Plex refuses to transcode video
    • Shows Direct Stream instead of Transcode
    • Video bitrate remains at 4K levels despite 2 Mbps setting
    • CPU at 100% (from audio/subtitle transcode only)

✅ Plex Without HDR Tone Mapping

  • Settings: Hardware acceleration enabled, HDR tone mapping disabled
  • Result: Hardware transcoding works
    • Shows Transcode (hw) in dashboard
    • CPU usage ~20% (one H.264 test file)
    • Problem: Picture is distorted (HDR→SDR requires tone mapping)

Analysis

Why Jellyfin works:

  • Uses Intel VPP (Video Post Processing) for tone mapping
  • VPP is built into the i915 drivers that TranscodeDrivers provides
  • No additional dependencies needed

Why Plex doesn't work:

  • Plex's settings explicitly state: "Additional driver components may be needed to support hardware transcoding with this feature
    enabled"
  • Plex appears to require OpenCL runtime or other components for its HDR tone mapping implementation
  • TranscodeDrivers only provides i915 GPU drivers, not OpenCL runtime
  • Without these components, Plex refuses to hardware transcode HDR content (falls back to Direct Stream)

Question

Is it possible to include the additional components Plex needs (likely OpenCL runtime for Intel) in the TranscodeDrivers package? Or
is there documentation on how to manually install these components?

Context: Plex has a superior Apple TV client compared to Jellyfin, which is important for remote streaming use cases. Having Plex HDR
tone mapping working would allow users to leverage Plex's better client ecosystem while still benefiting from hardware transcoding.

Verification Commands

Driver status:
lsmod | grep i915
i915 2646016 0

ls -la /dev/dri/
renderD128 with videodriver group (GID 937)

Plex hardware settings (from Preferences.xml):
cat "/volume1/@appdata/ContainerManager/all_shares/PlexMediaServer/AppData/Plex Media Server/Preferences.xml" | grep Hardware
HardwareAccelerationType="linux" HardwareDevicePath="/dev/dri/renderD128"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions