You are not logged in.
$ pacman -Qi ffmpeg | grep -E 'Name|Version|Install Date'
Name : ffmpeg
Version : 2:9.0.1-1
Install Date : Fri 14 Aug 2026 04:27:07 AM IST
$ nvidia-smi
Sat Aug 15 17:35:01 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.178.04 Driver Version: 580.178.04 CUDA Version: 13.0 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3070 ... On | 00000000:01:00.0 On | N/A |
| N/A 59C P8 16W / 80W | 326MiB / 8192MiB | 7% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 1302 G /usr/lib/Xorg 227MiB |
| 0 N/A N/A 5409 G alacritty 10MiB |
| 0 N/A N/A 6541 G ...rack-uuid=3190708988185955192 57MiB |
+-----------------------------------------------------------------------------------------+After this update any conversion involving nvenc throws this error on ffmpeg
[hevc_nvenc @ 0x55695363abc0] Driver does not support the required nvenc API version. Required: 13.1 Found: 13.0
[hevc_nvenc @ 0x55695363abc0] The minimum required Nvidia driver for nvenc is 610.00 or newer
[vost#0:0/hevc_nvenc @ 0x55695367b0c0] [enc:hevc_nvenc @ 0x55695366e280] Error while opening encoder - maybe incorrect parameters such as bit_rate, rate, width or height.
[vf#0:0 @ 0x55695363af80] Error sending frames to consumers: Function not implemented
[vf#0:0 @ 0x55695363af80] Task finished with error code: -38 (Function not implemented)
[vf#0:0 @ 0x55695363af80] Terminating thread with return code -38 (Function not implemented)
[vost#0:0/hevc_nvenc @ 0x55695367b0c0] [enc:hevc_nvenc @ 0x55695366e280] Could not open encoder before EOF
[vost#0:0/hevc_nvenc @ 0x55695367b0c0] Task finished with error code: -22 (Invalid argument)
[vost#0:0/hevc_nvenc @ 0x55695367b0c0] Terminating thread with return code -22 (Invalid argument)
[out#0/matroska @ 0x556953638880] Nothing was written into output file, because at least one of its streams received no packets.I am using AUR nvidia driver
pacman -Qi nvidia | grep -E 'Name|Version|Install Date'
Name : nvidia-580xx-dkms
Version : 580.178.04-1
Install Date : Thu 13 Aug 2026 08:47:33 PM ISTLast edited by Jodi42 (2026-08-20 13:35:15)
Offline
NVIDIA GeForce RTX 3070That card is from the ampere family which is supported by the nvidia-open driver.
I am using AUR nvidia driver
Why ?
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
Offline
Why ?
My laptop hp omen was having sleep/suspend issues with drivers from official pacman repo. So by recommendation of @seth in this forum I switched to this aur driver and those issues are gone.
Offline
You could test whether those issues remain.
The alternative would be to pin ffmepg and wait and hope that a 580xx update provides nvenc 13.1 (but that's not a longterm strategy) or lose nvenc support.
Offline
The alternative would be to pin ffmepg and wait
What do you mean by pin ffmpeg. Is there any way to downgrade ffmpeg. I already cleaned cache so I don't have any copy of older version.
Offline
What are the chances that an update will drop for this problem
Offline
https://wiki.archlinux.org/title/Arch_Linux_Archive
"Prediction is very difficult, especially if it's about the future" - but it's a minor version update and the driver is still maintained.
Offline
I've still to update and I'll face the issue on my 1030.
Maybe it's worth considering building and keeping a local old ffmpeg just for the nvenc encoding task.
Help me to improve ssh-rdp !
Retroarch User? Try my koko-aio shader !
Offline
ffmpeg version 2:9.0-5 works fine and I am sticking to it
sudo pacman -U https://archive.archlinux.org/packages/f/ffmpeg/ffmpeg-2%3A9.0-5-x86_64.pkg.tar.zstThis command installed the copy without any hassle
Offline
It will break, sooner or later, either because libs it relies on change or because other packages will require an updated ffmpeg.
My advice is to grab the old PKGBUILD to compile it locally and so have 2 ffmpeg copies.
Last edited by kokoko3k (2026-08-20 15:53:58)
Help me to improve ssh-rdp !
Retroarch User? Try my koko-aio shader !
Offline
My advice is to grab the old PKGBUILD to compile it locally and so have 2 ffmpeg copies.
This will also break in time as the large number of dependencies of ffmpeg will change version.
A valid solution, which I just tested, because I am also affected by this, is to download from here the static version 8.1 of ffmpeg, store it locally, and use that for encoding (this is just one file!).
Offline
Why is it solved in the title? The “solution” is to downgrade ffmpeg according to OP?
Offline
What I've run into is obs-studio not working with ffmpeg as well as Audacity not able to find ffmpeg. Even when I manually locate the libavformat.so it seems to fail to use it. Downgrading ffmpeg seemed to make no difference but at least OBS works with NVENC if I downgrade that to 32.2.1. But Audacity won't find ffmpeg. Not sure if that's related though, just mentioning it.
Offline
kokoko3k wrote:My advice is to grab the old PKGBUILD to compile it locally and so have 2 ffmpeg copies.
This will also break in time as the large number of dependencies of ffmpeg will change version.
A valid solution, which I just tested, because I am also affected by this, is to download from here the static version 8.1 of ffmpeg, store it locally, and use that for encoding (this is just one file!).
A statically linked version is a viable solution ofc, but who is BtbN building those binaries for you? Do you trust him ? Why?
My advice was not to get the binary package from repos, but the PKGBUILD and compile it yourself as needed.
Last edited by kokoko3k (2026-08-21 05:45:52)
Help me to improve ssh-rdp !
Retroarch User? Try my koko-aio shader !
Offline
The ffmpeg changelog states that version 9.0 has this change:
Remove deprecated NVENC options and support for pre-11.1 SDK versions
But Pascal uses version 13, I don't understand if this is a bug or intended and support for Pascal was dropped or not.
Offline
My advice was not to get the binary package from repos, but the PKGBUILD and compile it yourself as needed.
I agree, unfortunately I am not sure how to build a statically linked version of ffmpeg; if you know how to do it, could you provide some information? I could not find anything in ArchWiki.
Offline
The issue seems to be that ffmpeg is compiled against ffnvcodec-headers v13.1 while the v580 nvidia drivers are compiled against ffnvcodec-headers v13. I just installed the old headers and compiled ffmpeg release n9.0.1 and it allowed me to do hardware accelerated encoding just fine.
Also you can probably trust the BtbN builds on github since he's a member of ffmpeg (see: https://github.com/orgs/FFmpeg/people ).
If you want to compile it yourself, just get the source from the release or clone the github and 'git checkout n9.0.1' for the latest release. Get the ffnvcodec header v13.0 from https://archive.archlinux.org/packages/ … c-headers/ and install. Run ./configure and make sure that hevc_nvenc shows up in the output as an encoder. And then just run make.
It took less then ten minutes to run 'make -j4' on my old i5-4570. It builds a static executable by default and if you want to future proof it, I guess you just turn it into an appimage with all the shared objects vendored.
EDIT:
You have to jump through hoops to get the appimage to work. It's probably best to get one of the fully static builds from BtbN.
It also seems to be a pain to compile a fully static build yourself – just look at all the build scripts in the repo.
This is how i got the relative paths for the appimage to work, but it does not cover the dependencies of the dynamically linked shared libraries.
export ORIGIN='$ORIGIN'; ./configure --extra-ldexeflags="-Wl,-rpath=\\$\\$ORIGIN/../lib -Wl,-z,origin"
export ORIGIN='$ORIGIN'; make -j4Last edited by married_giant (Yesterday 05:32:18)
Offline
Thanks! Definitely more trickier than i thought
Help me to improve ssh-rdp !
Retroarch User? Try my koko-aio shader !
Offline
The issue seems to be that ffmpeg is compiled against ffnvcodec-headers v13.1 while the v580 nvidia drivers are compiled against ffnvcodec-headers v13.
Nice find, and there are several programs that build against that package :
emby-ffmpeg (make)
ffmpeg (make)
gnome-remote-desktop (make)
jellyfin-ffmpeg (make)
libva-nvidia-driver (make)
mpv (make)
obs-studio (make)
There doesn't seem to be any direct link between ffnvcodec-headers and nvidia drivers though . How did you figure out the 580 needs the older version ?
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
Offline
The headers are provided by nvidia to interface their driver. It's not so much that the 580xx drivers have not been compiled with those headers or so, but the older driver simply doesn't support that API (at least "yet", but that might be a permanent situation)
https://github.com/CachyOS/distribution … 5357773082 links a patch for libavcodec to weaken the demand to the runtime limit, but I could not find an ffmpeg bug itr.
Offline
Ran into these shenanigans with gpu-screen-recorder as of the ffmpeg update
gsr warning: gsr_get_supported_video_codecs_nvenc: your nvidia driver only supports nvenc api version 13.0, but the FFmpeg version that GPU Screen Recorder uses requires nvenc api version 13.1. Update your nvidia driver or use an older FFmpeg version to record with nvencThe solution was thankfully simple, as the maintainer had just patched to allow static linking by default:
• https://git.dec05eba.com/gpu-screen-rec … 8f506bd6fb
With that commit, I made a revised PKGBUILD to pull the vendored ffmpeg (and friends) subproject(s), added the required deps, and was back in business.
This pins nv-codec-headers to n13.0.19.0, and the nvdec API is stable with backward compatibility.
Should be somewhat future-proof until FFmpeg's encoder eventually starts using a feature Pascal's hardware doesn't actually support.
Overall though... how dare they <greta.jpg.>?! The 580 driver is current and actively supported until mid-2028. Sigh.
Offline