My Jellyfin config has some YAML like this.

# Sometimes work  
devices:  
- /dev/dri/renderD128:/dev/dri/renderD128  
- /dev/dri/card0:/dev/dri/card0  

Occasionally when I reboot my server, I end up with no card0 and instead I have /dev/dri/card1. This breaks my Jellyfin server…

I noticed there is also dri/by-path, which I’m guessing is a more stable path than a card index… however, doing this doesn’t work for me.

# No work  
devices:  
- /dev/dri/by-path/pci-0000:00:02.0-render:/dev/dri/renderD128  
- /dev/dri/by-path/pci-0000:00:02.0-card:/dev/dri/card0  

I tried with and without quotes and the result is the same. Error to start. I’m guessing Docker is failing to correctly parse the string because of the colons in pci-0000:00:02.0-card…

How’s everyone else handling this problem? I’ve been updating my compose.yaml every time the index switches, card0 to card1 to card0… but this is getting annoying now. (This is a worse problem now that I’m running Fedora IoT!)

Any thoughts?

  • Appoxo@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 hour ago
      jellyfin:
        container_name: jellyfin
        image: linuxserver/jellyfin:amd64-version-12.1ubu2604
        expose:
          - 8096
        networks:
          - media
        volumes:
          - ${DIR_LOCALTIME}:/etc/localtime:ro
          - ${DIR_container}/jellyfin/config:/config
          - ${DIR_media}/data:/media/data
        devices:
          # IntelQuickSync für TigerLake GT2 [Iris Xe Graphics]
          - /dev/dri/renderD128:/dev/dri/renderD128
          - /dev/dri/card0:/dev/dri/card0
        environment:
          PUID: 1200
          PGID: 1300
          #UMASK: 022
          TZ: ${TZ}
          DOCKER_MODS: linuxserver/mods:jellyfin-opencl-intel
          JELLYFIN_PublishedServerUrl: "https://jellyfin/.$%7BDOMAIN_EXTERNAL%7D"
        deploy:
          resources:
            limits:
              memory: 10G
        group_add:
          - '44'
          - '992'
        labels:
          # Traefik:
          traefik.enable: true # Enable Traefik reverse proxy for the Traefik dashboard.
          traefik.http.services.jellyfin.loadbalancer.server.port: 8096
          traefik.http.routers.jellyfin-public.entrypoints: 'https'
          traefik.http.routers.jellyfin-public.rule: 'Host(`jellyfin.${DOMAIN_EXTERNAL}`)'
          # Secondary domain
          traefik.http.routers.jellyfin-public2.entrypoints: 'https'
          traefik.http.routers.jellyfin-public2.rule: 'Host(`jellyfin.${DOMAIN_EXTERNAL2}`)'
        restart: unless-stopped
    

    Afaik the card0 is only used for rendering to a desktop/monitor and for this purpose you should actually use the renderD128 path.
    But not sure either about this stuff. Sort of works for me. At least intel_gpu_top shows activity when transcoding :p

  • ryannathans@aussie.zone
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 hours ago

    If you download hevc main 10 level 5.1 content or below you probably won’t need to transcode and can skip the whole problem 🧠