OBS 28.0.3 is the latest that works right on my laptop. Newer ones will not use my NVENC encoders.

Jason McPeak

New Member
I had to uninstall the latest OBS STUDIO release, and download the older OBS 28.0.3 Focal release debian package and install it. The newer ones sudenly will not use my NVENC encoders in my NVIDIA GK104GLM [Quadro K4100M]. Yes I know it's and older NVIDIA card, but it's a laptop, so I cannot change it and the laptop works incredibly well with LINUX MINT on it.
 

AaronD

Active Member
That might be the solution that I need too. So how to force a specific version and not auto-upgrade from it?

I have OBS 28.1.2 on Ubuntu Studio 22.04 LTS. (Jammy) Normally, that version of UStudio is stuck with OBS v27, but I needed some of the newer features in the Advanced Scene Switcher plugin, which are only compatible with the v28 graphics engine. (or something like that) So I added OBS's direct PPA, and then the usual sudo apt update && sudo apt full-upgrade got me OBS v28.1.2 all on its own.

Now I'm having trouble with the NVENC encoder on my NVIDIA GK104GLM [Quadro K5100M], in a Dell Precision M6800 laptop. OBS runs okay, and sends live video to all the local destinations, but as soon as I try to stream or record, it gives me an error popup and won't do it. CPU encoding works...if I turn the settings way down.

I wonder if my Window Capture not working is related to this as well:



The latest official driver that seems to work at all is 390, which is ancient, but at least it WORKS!:
1671215192109.png

418 causes OBS to segfault on startup. No good.
Nouveau runs, but still doesn't stream or record, except with the CPU of course.
 

AaronD

Active Member
Update:
Nope, that doesn't work either. Remove the PPA so that it doesn't try to update, sudo apt remove obs-studio, then install the .deb from here:
...and I get the exact same error message:
1671217197080.png
 

izwetz

New Member
I noticed this same behavior when I updated NVIDIA drivers. Looked in the log file and found this line:
Code:
04:57:55.321: os_dlopen(libnvidia-encode.so.1->libnvidia-encode.so.1): libnvidia-encode.so.1: cannot open shared object file: No such file or directory
Seems to be the encoder module isn't installed anymore? Investigating some more.
 

Tuna

Member
On Debian the NVIDIA encoder is in a separate package called

libnvidia-encode1​

So similar may apply for Ubuntu.
 
Last edited:

AaronD

Active Member
On Debian the NVIDIA encoder is in a separate package called

libnvidia-encode1​

So similar may apply for Ubuntu.

Code:
aaron@aaron-ubuntustudio-m6800:~$ sudo apt install libnvidia-encode1
[sudo] password for aaron:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libnvidia-encode1
aaron@aaron-ubuntustudio-m6800:~$

After some googling:

Code:
aaron@aaron-ubuntustudio-m6800:~$ sudo apt install libnvidia-encode-390
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libnvidia-encode-390 is already the newest version (390.157-0ubuntu0.22.04.1).
libnvidia-encode-390 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
aaron@aaron-ubuntustudio-m6800:~$

The same search results also mention a 470 and a 515 driver. Presumably, those are newer than my 390. Is that worth chasing, since the 418 driver causes OBS to segfault on startup?
1671461227017.png
 

Tuna

Member
Check the log if you can spot a more detailed error. Most likely FFMPEG wants a newer encoder API version than the driver offers since it is quite dated.
 

AaronD

Active Member
Most likely FFMPEG wants a newer encoder API version than the driver offers since it is quite dated.
Turns out yes, it did.

Once I got *that* working, OBS 27 (which I still had then) would record, but not very well. Only about 1 fps or so actually got to the recording, and the rest were dropped according to the Stats dock.

But since I had *something* working, I figured I'd give v28 another shot. Re-enabled the PPA and took the automatic update...and I got a different error popup. (Grrr)
1671688677762.png

The log had a couple of errors in it, one of which was:
Code:
[h264_nvenc @ 0x5562acb41d80] InitializeEncoder failed: invalid param (8): ::NV_ENC_TWO_PASS_FULL_RESOLUTION is only supported multipass encoding on this architecture.
From poking around the settings ('cause I do that), that seemed familiar. So I found it again and, sure enough, it was set to something different:
1671688694964.png

Changed it to Two Passes (Full Resolution) like the error message said it wanted, and it worked! Smoothly even, with no dropped frames!
OBS 28.1.2
 

AaronD

Active Member
I have the same issue. I tried these settings & still get the same error popping up
What version of the driver do you have? That was the solution to the popup that you have, not the settings. The settings only came after that.
 

DoTell

New Member
I re-installed OBS 27.2.4 (after backing up) which resolved the issue. But the original issue for over a week now, is that when doing transitions OBS freezes until transition is done & sometimes crashes. This is why I updated to OBS 28.1.2 in the first place. Transition issue is still there
 
Top