@andyg i can’t add my user to video
because my user is a freeipa user not a local user but i made a script and udev rule that seems to add rw acls (at the end of this reply btw).
looking again at mpv prompted by your question about nixos i found mpv for some reason in the packages i install via nix package manager in my ansible playbook for all my linux stuff despite also being installed natively in arch, debian, and almalinux. i don’t know why i put it there.
testing without the nix package manager version and mpv --hwdec=vaapi --vo=gpu ~/video.webm
hardware decoding is working. edit: with amdgpu_top it still says 0% media even though mpv says: Using hardware decoding (vaapi)., i don’t know if amdgpu_top is correct or not.
even after flatpak --user override --device=dri one.ablaze.floorp
and restarting it’s still using a lot of power, is there a good way to tell if it’s detecting support for vaapi?
there is no card0
> getfacl /dev/dri/card1
getfacl: Removing leading '/' from absolute path names
# file: dev/dri/card1
# owner: root
# group: video
user::rw-
user:irlname:rw-
group::rw-
group:root:rw-
group:video:rw-
group:video_freeipa:rw-
mask::rw-
other::---
eglinfo -B:
> eglinfo -B
_amdgpu_device_initialize: amdgpu_query_info(ACCEL_WORKING) failed (-13)
amdgpu: amdgpu_device_initialize failed.
GBM platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES
OpenGL core profile vendor: Mesa
OpenGL core profile renderer: llvmpipe (LLVM 18.1.8, 256 bits)
OpenGL core profile version: 4.5 (Core Profile) Mesa 24.2.3-arch1.1
OpenGL core profile shading language version: 4.50
OpenGL compatibility profile vendor: Mesa
OpenGL compatibility profile renderer: llvmpipe (LLVM 18.1.8, 256 bits)
OpenGL compatibility profile version: 4.5 (Compatibility Profile) Mesa 24.2.3-arch1.1
OpenGL compatibility profile shading language version: 4.50
OpenGL ES profile vendor: Mesa
OpenGL ES profile renderer: llvmpipe (LLVM 18.1.8, 256 bits)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 24.2.3-arch1.1
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20
Wayland platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES
OpenGL core profile vendor: AMD
OpenGL core profile renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.10.10-arch1-1)
OpenGL core profile version: 4.6 (Core Profile) Mesa 24.2.3-arch1.1
OpenGL core profile shading language version: 4.60
OpenGL compatibility profile vendor: AMD
OpenGL compatibility profile renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.10.10-arch1-1)
OpenGL compatibility profile version: 4.6 (Compatibility Profile) Mesa 24.2.3-arch1.1
OpenGL compatibility profile shading language version: 4.60
OpenGL ES profile vendor: AMD
OpenGL ES profile renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.10.10-arch1-1)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 24.2.3-arch1.1
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20
X11 platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES
OpenGL core profile vendor: AMD
OpenGL core profile renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.10.10-arch1-1)
OpenGL core profile version: 4.6 (Core Profile) Mesa 24.2.3-arch1.1
OpenGL core profile shading language version: 4.60
OpenGL compatibility profile vendor: AMD
OpenGL compatibility profile renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.10.10-arch1-1)
OpenGL compatibility profile version: 4.6 (Compatibility Profile) Mesa 24.2.3-arch1.1
OpenGL compatibility profile shading language version: 4.60
OpenGL ES profile vendor: AMD
OpenGL ES profile renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.10.10-arch1-1)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 24.2.3-arch1.1
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20
Surfaceless platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES
OpenGL core profile vendor: AMD
OpenGL core profile renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.10.10-arch1-1)
OpenGL core profile version: 4.6 (Core Profile) Mesa 24.2.3-arch1.1
OpenGL core profile shading language version: 4.60
OpenGL compatibility profile vendor: AMD
OpenGL compatibility profile renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.10.10-arch1-1)
OpenGL compatibility profile version: 4.6 (Compatibility Profile) Mesa 24.2.3-arch1.1
OpenGL compatibility profile shading language version: 4.60
OpenGL ES profile vendor: AMD
OpenGL ES profile renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.10.10-arch1-1)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 24.2.3-arch1.1
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20
Device platform:
Device #0:
Platform Device platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES
OpenGL core profile vendor: AMD
OpenGL core profile renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.10.10-arch1-1)
OpenGL core profile version: 4.6 (Core Profile) Mesa 24.2.3-arch1.1
OpenGL core profile shading language version: 4.60
OpenGL compatibility profile vendor: AMD
OpenGL compatibility profile renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.10.10-arch1-1)
OpenGL compatibility profile version: 4.6 (Compatibility Profile) Mesa 24.2.3-arch1.1
OpenGL compatibility profile shading language version: 4.60
OpenGL ES profile vendor: AMD
OpenGL ES profile renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.10.10-arch1-1)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 24.2.3-arch1.1
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20
Device #1:
Platform Device platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES
OpenGL core profile vendor: Mesa
OpenGL core profile renderer: llvmpipe (LLVM 18.1.8, 256 bits)
OpenGL core profile version: 4.5 (Core Profile) Mesa 24.2.3-arch1.1
OpenGL core profile shading language version: 4.50
OpenGL compatibility profile vendor: Mesa
OpenGL compatibility profile renderer: llvmpipe (LLVM 18.1.8, 256 bits)
OpenGL compatibility profile version: 4.5 (Compatibility Profile) Mesa 24.2.3-arch1.1
OpenGL compatibility profile shading language version: 4.50
OpenGL ES profile vendor: Mesa
OpenGL ES profile renderer: llvmpipe (LLVM 18.1.8, 256 bits)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 24.2.3-arch1.1
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20
udev acl stuff here (this seems kinda janky so let me know if you have a better way):
/etc/udev/rules.d/99-video.rules:
SUBSYSTEM=="drm", KERNEL=="card*", RUN+="/usr/local/sbin/set_video_udev_acls.sh %k"
/usr/local/sbin/set_video_udev_acls.sh:
#!/bin/bash
DEVICE="/dev/dri/$1"
groups=("video" "video_freeipa") # List of groups to set ACL for
for i in "${!groups[@]}"; do
group="${groups[$i]}"
if [ -e "$DEVICE" ]; then
setfacl -m g:$group:rw $DEVICE
fi
done