Having a bit of trouble getting hardware acceleration working on my home server. The cpu of the server is an i7-10700 and has a discrete GPU, RTX 2060. I was hoping to use intel quick sync for the hardware acceleration, but not having much luck.

From the guide on the jellyfin site https://jellyfin.org/docs/general/administration/hardware-acceleration/intel

I have gotten the render group ID using “getent group render | cut -d: -f3” though it mentions on some systems it might not be render, it may be video or input which i tried with those group ID’s as well.

When I run “docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/vainfo” I get back

libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/nvidia_drv_video.so
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: Trying to open /usr/lib/dri/nvidia_drv_video.so
libva info: Trying to open /usr/local/lib/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

I feel like I need to do something on the host system since its trying to use the discrete card? But I am unsure.

This is the compose file just in case I am missing something

version: "3.8"
services:
  jellyfin:
    image: jellyfin/jellyfin
    user: 1000:1000
    ports:
      - 8096:8096
    group_add:
      - "989" # Change this to match your "render" host group id and remove this comment
      - "985"
      - "994"
    # network_mode: 'host'
    volumes:
      - /home/hoxbug/Docker/jellyfin/config:/config
      - /home/hoxbug/Docker/jellyfin/cache:/cache
      - /mnt/External/Movies:/Movies
    devices:
      - /dev/dri/renderD128:/dev/dri/renderD128
networks:
  external:
    external: true

Thank you for the help.

  • entropicdrift@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    5 minutes ago

    If you switch the devices line to

    - /dev/dri:/dev/dri
    

    as other have suggested, that should expose the Intel iGPU to your Jellyfin docker container. Presently you’re only exposing the Nvidia GPU.

  • HumanPerson@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 hours ago

    I have an arc for transcoding, and I had to set the device to /dev/dri without the renderD128 part. If I were you, I would just use the 2060. If it’s there for llama or something I’d still try it and see how it does doing both at once, as it should be separate parts of the gpu handling that.

  • Saiwal@hub.utsukta.org
    link
    fedilink
    arrow-up
    11
    ·
    8 hours ago

    On my system i was able to use my integrated iGPU wit the follwing:

        devices:     - /dev/dri:/dev/dri
    

    The rest of your compose looks fine.

  • bobslaede
    link
    fedilink
    English
    arrow-up
    3
    ·
    6 hours ago

    This is how mine works, with a Nvidia GPU

    services:
      jellyfin:
        volumes:
          - jellyfin_config:/config
          - jellyfin_cache:/cache
          - type: tmpfs
            target: /cache/transcodes
            tmpfs:
              size: 8G
          - media:/media
        image: jellyfin/jellyfin:latest
        restart: unless-stopped
        deploy:
          resources:
            reservations:
              devices:
                - driver: nvidia
                  device_ids:
                    - "0"
                  capabilities:
                    - gpu
    
  • Sneezycat@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    7 hours ago

    Isn’t your GPU an Nvidia RTX 2060? Why are you trying to use the Intel GPU acceleration method? I’m confused

      • __ghost__@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 hours ago

        From personal experience intel QSV wasn’t worth the trouble to txshoot on my hardware. Mine is a lot older than yours though. Vaapi has worked well on my arc card

        • entropicdrift@lemmy.sdf.org
          link
          fedilink
          English
          arrow-up
          1
          ·
          8 minutes ago

          QSV is the highest quality video transcoding hardware acceleration out there. It’s worth using if you have a modern Intel CPU (8th gen or newer)