Skip to content

Jellyfin + AMD GPU #78

Description

@Ivansallas

Jellyfin + AMD GPU (VAAPI) works in Compose Service but fails in App Service

Environment

  • EasyPanel: Latest version (June 2026)
  • OS: Ubuntu Server 24.04
  • GPU: AMD RX 580
  • Driver: amdgpu
  • Container image: linuxserver/jellyfin:latest

Problem

When deploying Jellyfin as a regular EasyPanel App (Docker Swarm service), the container receives the /dev/dri bind mount, but hardware acceleration does not work.

Inside the container:

ffmpeg -vaapi_device /dev/dri/renderD128

returns:

No VA display found for device /dev/dri/renderD128

and:

Operation not permitted

The service inspection shows:

"Devices": null,
"DeviceCgroupRules": null

even though /dev/dri is mounted.

Verification

The user abc belongs to:

video
render group

and permissions are correct.

Inside the container:

/dev/dri/card0
/dev/dri/renderD128

are visible.

However VAAPI initialization fails.

Workaround

Deploying the exact same Jellyfin configuration as a Compose Service works immediately.

Compose configuration:

devices:
  - /dev/dri:/dev/dri
group_add:
  - "44"
  - "992"

After migrating to Compose:

VAAPI device /dev/dri/renderD128 is AMD GPU
VAAPI device /dev/dri/renderD128 supports Vulkan DRM interop

FFmpeg starts correctly using:

-init_hw_device drm=dr:/dev/dri/renderD128
-init_hw_device vaapi=va@dr
-init_hw_device vulkan=vk@dr
-hwaccel vaapi
h264_vaapi

and hardware transcoding works.

Expected behavior

A standard EasyPanel App deployment should provide the same GPU access as a Compose Service when /dev/dri is configured.

Result

  • App Service (Swarm): VAAPI fails.
  • Compose Service: VAAPI works correctly.
  • Same host.
  • Same image.
  • Same GPU.
  • Same mounts.

This suggests a difference in how EasyPanel creates Swarm services versus Compose services regarding GPU device permissions and DRM access.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions