[CLOSED] Podman, Peertube, AMD VAAPI
from Nico_198X@europe.pub to selfhosted@lemmy.world on 11 Jul 03:23
https://europe.pub/post/2397910

i’m starting to think it’s the debian base of this container image. it may just be too out of date for my GPU.

i think i’m giving up on this for now.

thanks all!


hey all!

for the life of me, i cannot get VAAPI hardware accelerated encoding to work. i always get this error:

Error: ffmpeg exited with code 234: Device creation failed: -22.

Failed to set value ‘/dev/dri/renderD128’ for option ‘vaapi_device’: Invalid argument

Error parsing global options: Invalid argument`

at ChildProcess.<anonymous> (/app/node_modules/fluent-ffmpeg/lib/processor.js:180:22)
at ChildProcess.emit (node:events:524:28)
at ChildProcess._handle.onexit (node:internal/child_process:293:12)

no joy.

vainfo

error: XDG_RUNTIME_DIR is invalid or not set in the environment.

error: can’t connect to X server!

libva info: VA-API version 1.17.0

libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so

libva info: Found init function __vaDriverInit_1_17

amdgpu: os_same_file_description couldn’t determine if two DRM fds reference the same file description.

If they do, bad things may happen!

libva info: va_openDriver() returns 0

vainfo: VA-API version: 1.17 (libva 2.12.0)

vainfo: Driver version: Mesa Gallium driver 25.0.4-1~bpo12+1 for AMD Radeon Graphics (radeonsi, gfx1200, ACO, DRM 3.63, 6.15.4-1-default)

vainfo: Supported profile and entrypoints 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 VAProfileAV1Profile0 : VAEntrypointVLD VAProfileAV1Profile0 : VAEntrypointEncSlice VAProfileNone : VAEntrypointVideoProc

i’ve also tried updating the packages from trixie and sid, and installing the firmware-linux-nonfree.

i’ve tried disabling SELinux. i’ve tried making the container permissive.

no change.

any help is appreciated! thank you!

i’m starting to think it’s the debian base of this container image. it may just be too out of date for my GPU.

#selfhosted

threaded - newest

Strit@lemmy.linuxuserspace.show on 11 Jul 04:50 next collapse

Can the peertube user actually read the mapped /dev/dri path?

Nico_198X@europe.pub on 11 Jul 06:18 next collapse

this is a great thought and i’m not sure, probably not.

when i examine /dev/dri in the container, it has the groupid that it has on host, but not the name. peertube user is not in that group.

i tried making the render group in the container with the same gid and added peertube to it, but it didn’t change anything. this process may not be correct, however, to achieve that goal.

any suggestions for quadlet on how to bring in the render group with peertube in it?

Nico_198X@europe.pub on 11 Jul 06:37 collapse

what i’m so surprised about is that it works for owncast, and the setup is the same.

rootful. render group isn’t named in the container and the owncast user isn’t in the group.

but it works, and peertube doesn’t.

El_tripped_a_fan@piefed.social on 11 Jul 06:20 next collapse

I don't use containers myself, but I bet the hardware acceleration section of the Jellyfin container install doc would be helpful.

Nico_198X@europe.pub on 11 Jul 06:35 collapse

thanks! i took a look and sadly i’ve already covered those parts. :/

Fisch@discuss.tchncs.de on 11 Jul 06:35 next collapse

I use podman too and I set up hardware acceleration for Jellyfin. I’ll update this with how I did it once I’m home.

Edit: Here’s my compose.yml (I use podman-compose):

services:
  jellyfin:
    image: lscr.io/linuxserver/jellyfin:latest
    container_name: jellyfin
    dns:
      - 9.9.9.9
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
    volumes:
      - ./config:/config:Z
      - ~/drive/media:/media:z
    devices:
      - /dev/dri:/dev/dri
    ports:
      - 8096:8096
      - 7359:7359/udp
      - 1900:1900/udp
    restart: unless-stopped
Nico_198X@europe.pub on 11 Jul 12:39 collapse

thanks! that seems in line with what i’m doing, though my container is rootful.

shaun@lemmy.world on 11 Jul 07:05 next collapse

Are you using rooted or rootless podman? I’m running rootless and am quite sure I needed to add my local user to the video group. I’m out and about, but can investigate later if you want. Otherwise you seem on the right track

Nico_198X@europe.pub on 11 Jul 07:41 collapse

the container is rootful.

any help is appreciated as i’m at a wall. :/

Nico_198X@europe.pub on 11 Jul 12:44 collapse

i’m starting to think it’s the debian base of this container image. it may just be too out of date for my GPU.