You are not logged in.

#1 2024-05-06 16:26:30

bonkmaykr
Member
From: Missouri, United States
Registered: 2022-12-22
Posts: 22

NVENC and VDPAU not visible to any programs

Hello,

I skipped out on complete updates for a couple of weeks, unusually for me. I figured I'd run an update while I was watching a counter-strike demo before I forgot again. After running -Syu everything was fine until suddenly after a reboot NVENC no longer worked. gpu-screen-recorder-gtk can't find an encoder at all and Handbrake only lets me use ffmpeg in software mode.

The first thing I tried was messing with different ffmpeg versions. Previously I had to switch to ffmpeg-full, which didn't help, then back to standard ffmpeg which miraculously made it work. I tried compiling ffmpeg-cuda, ffmpeg-nvcodec-11-1, but they didn't help, so i went back to vanilla ffmpeg. Nothing.

Next thing I tried was downgrading the NVIDIA drivers to the previous safe version as I had noticed in the pacman.log that I had installed an update for them

[2024-05-06T07:24:23-0500] [ALPM] upgraded nvidia-utils (550.67-1 -> 550.78-1)
[2024-05-06T07:24:23-0500] [ALPM-SCRIPTLET] If you run into trouble with CUDA not being available, run nvidia-modprobe first.
[2024-05-06T07:24:23-0500] [ALPM-SCRIPTLET] If you use GDM on Wayland, you might have to run systemctl enable --now nvidia-resume.service

So I ran:

sudo downgrade nvidia nvidia-utils nvidia-dkms nvidia-settings opencl-nvidia lib32-nvidia-utils

and targetted nvidia 550.67.
This must have been an incomplete downgrade because whatever I did broke opengl and in interest of not breaking my system any further I went ahead and reinstalled the latest driver over again.

Before you ask I did also try the suggestion in the pacman log above and it was unhelpful.

I have already followed the instructions on Wiki: Hardware video acceleration and all other relevant articles.

FFMPEG is compiled with NVENC support, and h264_nvenc & hevc_nvenc are both recognized codecs:

[bonkyboo@bonkmaykr-endeavour git]$ ffmpeg -codecs | grep 'nvenc'
ffmpeg version n6.1.1 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 13.2.1 (GCC) 20230801
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-frei0r --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libharfbuzz --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librsvg --enable-librubberband --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-vapoursynth --enable-version3 --enable-vulkan
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
 DEV.L. av1                  Alliance for Open Media AV1 (decoders: libdav1d libaom-av1 av1 av1_cuvid av1_qsv) (encoders: libaom-av1 librav1e libsvtav1 av1_nvenc av1_qsv av1_amf av1_vaapi)
 DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_v4l2m2m h264_qsv h264_cuvid) (encoders: libx264 libx264rgb h264_amf h264_nvenc h264_qsv h264_v4l2m2m h264_vaapi)
 DEV.L. hevc                 H.265 / HEVC (High Efficiency Video Coding) (decoders: hevc hevc_qsv hevc_v4l2m2m hevc_cuvid) (encoders: libx265 hevc_amf hevc_nvenc hevc_qsv hevc_v4l2m2m hevc_vaapi)

After rebooting a second time it... magically fixed itself. Again. I'm at a loss.

What am I overlooking? Why does this break every once in a while and what else can I do about it? I would like to understand what I am actually doing here because it honestly feels like I am just stumbling around and hoping it will work.

Last edited by bonkmaykr (2024-05-06 16:41:54)


I bought shoes from my drug dealer. I dunno what he laced them with, but I've been tripping all day.
Website - KangWorlds - Screw Gravity!

Offline

#2 2024-05-07 10:08:29

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 12,825

Re: NVENC and VDPAU not visible to any programs

nvidia-utils only works with the kernel it was built against, you have to update/downgrade kernel & nvidia at the same time.

Look at the journal output (with root rights) for the boot where NVENC no longer worked and you should see error messages from the nvidia drivers.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Online

Board footer

Powered by FluxBB