I’m having a serious issue here with Nvidia NVENC not working with my applications, the application being OBS Studio. Everything broke when I updated my packages, I can no longer record or stream using Nvidia NVENC encoder with OBS and I don’t know why it decides to break after an update.
I tried to install the Nvidia SDK which has the Nvidia NVENC stuff because apparently OBS reports the following;
[h264_nvenc @ 0x562a180420c0] Driver does not support the required nvenc API version. Required: 10.0 Found: 9.1
[h264_nvenc @ 0x562a180420c0] The minimum required Nvidia driver for nvenc is (unknown) or newer
warning: [NVENC encoder: 'recording_h264'] Failed to open NVENC codec: Function not implemented
this is so annoying, and it’s preventing me from getting stuff done. When I go to try download the NVENC API version 10.0.26, it fails to download and install because it says in the PKGBUILD that you have to manually download the stuff from NVIDIA site because of their licencing stuff because they’ve changed it so you can no longer just download using pacman like usual. – So I did just that after faffing about trying to get that downloaded and installed, but it still doesn’t work.
I don’t know what to even do right now, I don’t want to have to go re-install Manjaro from new again just because one package couldn’t be found when it’s present.
It’s not from flatpak, it’s from official AOR repositories, I can’t even see Flatpak apps in Pamac, I only see AUR and AOR packages.
I’ve been using OBS just fine yesterday, then I did a system update, and then it just breaks completely and now I can’t even use NVENC codec now. I don’t know how or why, I don’t get how it can just break from an update like that. Before I tried downloading the Nvidia SDK with the NVENC API 10.0.26-1 it broke, and after installing, it was still broken and OBS thinks it’s still using the old NVENC API 9.1.
Yep that error, says function not implemented when it clearly is, it’s just pulling these errors out it’s ass, because the video drivers are up-to-date. As of current Nvidia Drivers 440.100 is what I have installed.
Weird, even after using “export DOWNGRADE_FROM_ALA=1” it still prompts me to use it in order to downgrade.
Also using
mv ~/.config/obs-studio ~/.config/obs-studio.old
didn’t do anything particularly useful.
Another issue I found with a specific package related to OBS is with obs-linuxbrowser, since one of its requirements is having cef-minimal<75, and the current version with the update is 80.0.8-1. Even changing back and forth between it and cef-minimal-3770 didn’t make it work, forcing me to go back to obs-qtwebkit. I know it’s AUR stuff, but it’s still a problem.
I can’t downgrade, it says it can’t. I tried export and prefix before the command.
$ DOWNGRADE_FROM_ALA=1 downgrade obs
Downgrading from A.L.A. is disabled on the stable branch. To override this behavior, set DOWNGRADE_FROM_ALA to 1 .
See https://wiki.manjaro.org/index.php?title=Using_Downgrade for more details.
Unable to downgrade obs
All of us were just dumb, now the downgrade command worked for me as well. Will try downgrading it to see if it works for now. It’s still an issue that needs to be solved tho.
This problem is caused by the latest version of ffmpeg. The new nvidia-450 driver is available since last month and the repository binary was probably compiled with it.
For some unknown reason, the Manjaro repository has yet to be upgraded to add nvidia-450 driver support. It’s quite unfortunate this reached the stable version after lots of complaints from testing folks.
The solution, for now, is to install the 450 drivers from an external source or downgrade FFmpeg.
I managed to downgrade OBS to the previous working version that I was last using, but it’s still broken and looking for NVENC API 9.1 instead of 10.0.26 version that I installed. I’ve asked about this issue on the OBS Discord, but they’re not much help tbh… they claim it’s not their error but FFMPEG so maybe that?
is there a link to this external source so it can be downloaded?
Yeah, downgrading OBS didn’t help, so I’ll try downgrading ffmpeg for now. The NVIDIA drivers had some issues on my system before, so it’s a last resort for me.
ffmpeg wont let me downgrade it just gives an error.
loading packages...
warning: downgrading package ffmpeg (2:4.3.1-2 => 2:4.2.3-2)
resolving dependencies...
warning: cannot resolve "libx264.so=159-64", a dependency of "ffmpeg"
:: The following package cannot be upgraded due to unresolvable dependencies:
ffmpeg
:: Do you want to skip the above package for this upgrade? [y/N] y
looking for conflicting packages...
there is nothing to do
add ffmpeg to IgnorePkg? [y/N] n
Looks like I’m stuck and forced to use this version of FFMPEG
uninstalling ffmpeg will cause it to uninstall a bunch of other stuff which I don’t want it to uninstall, and I can’t be bothered going through all that hassle of trying to install it again.
UPDATE: I instead went ahead and installed the latest NVIDIA drivers from their website which is version 450.57 as of current. While this has fix the issue I was having with OBS now, I have to go back and fix some of the OBS plugins that got messed up in the process.
In the end the only way all my issues were solved was by installing the nvidia-beta drivers. After that still I wasn’t able to properly install obs-linuxbrowser, but obs-qtwebkit works and everything just works now.
So what should one do if he can’t downgrade ffmpeg thru downgrade nor upgrade to nvidia-beta?
I can only jump between ffmpeg or ffmpeg-git (aur), is there a way to pamac build a git tag ? Or well, might as well do it myself.
I can’t do any of the proposed solutions because both lead to dependency inferno.
pamac install nvidia-beta
╭─tomas@tomas-80yy ~
╰─$ pamac install nvidia-beta
Warning: nvidia-beta is only available from AUR
Build nvidia-beta from AUR ? [y/N] y
Preparing...
Cloning nvidia-beta build files...
Checking nvidia-beta dependencies...
Cloning nvidia-utils-beta build files...
Checking nvidia-utils-beta dependencies...
Warning: removing nvidia-440xx-utils breaks dependency 'nvidia-440xx-utils' required by lib32-nvidia-440xx-utils
Add lib32-nvidia-440xx-utils to remove
Warning: removing nvidia-440xx-utils breaks dependency 'nvidia-440xx-utils=440.100' required by linux57-nvidia-440xx
Add linux57-nvidia-440xx to remove
Error: Failed to prepare transaction:
could not satisfy dependencies:
- removing linux57-nvidia-440xx breaks dependency 'linux57-nvidia-440xx' required by linux-latest-nvidia-440xx,
- if possible, remove linux-latest-nvidia-440xx and retry
Resolving dependencies...
Checking inter-conflicts...
Error: Failed to prepare transaction:
could not satisfy dependencies:
- removing linux57-nvidia-440xx breaks dependency 'linux57-nvidia-440xx' required by linux-latest-nvidia-440xx,
- if possible, remove linux-latest-nvidia-440xx and retry
Edit build files ? [y/N]
Transaction cancelled.