Issues with multiple monitors and Nvidia Optimus after kernel 5.10

Moderator Note: This topic has caught a life of its own so it deserved a place of its own for posterity. I’ve split it so it can be found by other seekers of truth, also to allow the other thread to get a breather and get back on its tracks :slight_smile:
No point in me arguing semantics. It’s been a long day. All best efforts failed. Eventually, I reinstalled EOS/Cinnamon without selecting NVIDIA drivers during install. I was able to get all monitors running, but they were clearly glitchy. I installed nvidia-390xx-dkms. It built and installed with no issues, but on reboot I was stuck in a Cinnamon fallback loop and wasn’t able to do anything but try clearing applets, etc (which did nothing) and right click on the desktop to use a shutdown or reboot command. Looks like more adventures tomorrow as I am kind of burned out and have been awake since 2200 last night. Time for some sleep. I’m not even as bothered by the monitors right now as I am my headphone jack not doing anything despite showing connected and working fine in Windows.

1 Like

Sounds like you had quite a long day! Read through what @Schlaefer and I wrote again after getting some well deserved sleep and maybe that will help get a fresh perspective.

2 Likes

I’ll update in a little while, but LTS alongside installs fine however doesn’t detect the other monitors either with DKMS or with NVIDIA proprietary.

What nvidia card are you using and what driver packages?

inxi -G

Are there any kernel log, journal log or xorg log messages to help diagnose?

As a last resort temp fix 5.9.14 is still available to install from the ALA using downgrade, although that would lead to a partial upgrade system

$ sudo downgrade linux
...
+  180)  linux    5.9.14.arch1   1  x86_64  (remote)
...
select a package by number: 180
1 Like

I am using a GeForce 960 (through an Alienware graphic amplifier that connects through proprietary cable and uses a desktop graphics card and fan turning off the laptop GeForce) for my 3 monitor setup and a GeForce 980M for laptop only or laptop plus 1 hdmi monitor. The drivers for the two cards are identical. That is why I chose the 960. The results are exactly the same with either config. I have no logs since I just finished a clean install. I would have been done hours ago, but as I was about to start my power company decided to spend 3 hours dropping power, bringing it back just to drop again, bringing it back with low voltage, etc. It was clean for about an hour, so I finished my reinstall. Right now, I have Cinnamon installed with no NVIDIA at all. I just configured using the integrated Intel graphics. I can get all three external monitors to not only recognize but actually setup and apply settings. They aren’t working exactly right (windows bounce around and fade in and out, plus gaming or heavy graphics is out of the question. My gut tells me that 5.9.14 isn’t going to work even though it did before based on how the LTS worked with NVIDIA as well as how the DKMS/LTS worked. It seams like some compatibility that magically worked before is gone now. I used both the straight DKMS install that used 455 as well as the newest 390 one. Neither could recognize monitors with LTS or would just freeze the system with 5.1.3. For now, I think I need to go with a single external monitor (I need at least one) and see if the results are passible until I can find a long term solution (a different kind of LTS, LOL) unless there are any other thoughts about what to install. I would try the kernel if it could do a side by side, but I suspect it is only a straight downgrade.

Well, I can make the laptop and one monitor work in Cinnamon with my 960 (Graphic amplifier) config using no proprietary NVIDIA or NVIDIA-DKMS installs. I tried KDS, and it was worse. It is possible I am doing something wrong with DKMS. Obviously the 390 doesn’t work since the card is newer than it supports. When I just install DKMS with no version, it uses the newest version that still doesn’t work. Perhaps additional steps are needed.

Just updated kernel

uname -a
Linux EOS-Desktop 5.10.4-arch2-1 #1 SMP PREEMPT Fri, 01 Jan 2021 05:29:53 +0000 x86_64 GNU/Linux
yay -Qs nvidia-390
local/nvidia-390xx-dkms 390.138-10
    NVIDIA driver sources for linux, 390xx legacy branch
local/nvidia-390xx-settings 390.138-1
    Tool for configuring the NVIDIA graphics driver, 390xx legacy branch
local/nvidia-390xx-utils 390.138-3
    NVIDIA drivers utilities
local/opencl-nvidia-390xx 390.138-3
    OpenCL implemention for NVIDIA

inxi -G
Graphics:  Device-1: NVIDIA GF100 [GeForce GTX 465] driver: nvidia v: 390.138 
           Display: x11 server: X.Org 1.20.10 driver: nvidia unloaded: fbdev,modesetting,vesa resolution: 1920x1080~60Hz 
           OpenGL: renderer: GeForce GTX 465/PCIe/SSE2 v: 4.6.0 NVIDIA 390.138

Still working

1 Like

There is an issue with Cinnamon not loading the module properly with nvidia. I just went through it with one of my systems and another. If you check first with inxi -Fxxxz --no-host and see what’s installed and set up. Make sure you have mesa-demos installed and also check the proper card is loaded with inxi -Ga the gl renderer should show your card.

Check out the wiki here. This is new!

2 Likes

Are you talking about the proprietary drivers? I did not select them in this install.

From Enhancement avoid video tearing

nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

I guess it’s the same as activating via GUI?

nvidia-settings

That part is i think but the problem on Cinnamon has been not loading the module properly and having no hardware acceleration. So the wiki has a fix also to force to load the module.

1 Like

I was just pointing out there has been a problem with nvidia on Cinnamon as of late not loading the module properly. It’s just something to watch out for. You may install nvidia and it seems like it’s working and then on a reboot it has no hardware acceleration because it doesn’t load properly. The wiki has some addition steps to force load the module and force full composition pipeline.

2 Likes

Thanks. I’ll give it a look in the morning. I just finished a clean cinnamon install with NVIDIA support to just the laptop monitor. I see the kernel is up to 5.10.4.

2 Likes

I am feeling somewhat confident now. I just finished booting to the full monitor config with graphic amplifier, and (at 1st glance) I see no mention of mesa in any of the video settings which I did see before whether I used NVIDIA during install or not. Still no time to play with it any more except to be sure I could connect with the 960, have proper function on the laptop and see the 3 external monitors available in display settings but not activated. Baby steps. Big difference currently is that a Brother USB printer I could only get connected as a generic postscript driver (that would only print one page after opening and closing the door multiple times) is now installing automatically during install with a full driver in Cinnamon. It still only installed (albeit automatically) the useless postscript one in KDE. God forbid my headphone jack and monitors work in a few hours, LOL.

1 Like

No luck. When I run lspci -v, I am actually seeing both the intel HD 530 and the NVIDIA 960 or 980M as VGA controllers, but still getting a bus error when I try to apply video changes to activate even a single external monitor either directly plugged into the laptop (with the amplifier not even connected) or into the graphic amplifier in any combination of externals. Also still no audio out to headphone jack, though Pulse can tell if something is plugged in. It outputs to laptop the speakers regardless of jack plugin. Besides that, everything is running great. More research to do. I have no noticed any of the tearing issues or anything you mentioned before, but that’s not to say it isn’t related.

I guess I never actually replied with the terminal output for these two commands. Bottom line is nothing works to get even a second monitor working. I can get a bus error or a system freeze so hard that I need to hold down the power button until it shuts off. Luckily, I have a 17" laptop and I have the display settings to where I can read things effectively. Until either a kernel change or NVIDIA change happens that works, I pretty much use this as a dev machine with occasional other app use. BTW, the LTS kernel (including after this morning’s update) doesn’t even recognize the other monitors to where I can get them to fail on activate/apply. I’m sure NVIDIA would need back to even test that. This really sucks.I do have a question. Is there a way to have both DKMS and proprietary NVIDIA loaded in case one gets updated and starts working?

Graphics:
Device-1: Intel HD Graphics 530 vendor: Dell driver: i915 v: kernel
bus ID: 00:02.0 chip ID: 8086:191b
Device-2: NVIDIA GM206 [GeForce GTX 960] vendor: Dell driver: nvidia
v: 455.45.01 bus ID: 02:00.0 chip ID: 10de:1401
Device-3: Sunplus Innovation Integrated_Webcam_HD type: USB
driver: uvcvideo bus ID: 1-7:8 chip ID: 1bcf:2b8c
Display: x11 server: X.org 1.20.10 driver: intel,nvidia
unloaded: fbdev,modesetting,vesa alternate: nouveau,nv
resolution: <missing: xdpyinfo>
Message: Unable to show advanced data. Required tool glxinfo missing.


Graphics:
Device-1: Intel HD Graphics 530 vendor: Dell driver: i915 v: kernel
bus ID: 00:02.0 chip ID: 8086:191b
Device-2: NVIDIA GM206 [GeForce GTX 960] vendor: Dell driver: nvidia
v: 455.45.01 alternate: nouveau,nvidia_drm bus ID: 02:00.0
chip ID: 10de:1401
Device-3: Sunplus Innovation Integrated_Webcam_HD type: USB
driver: uvcvideo bus ID: 1-7:8 chip ID: 1bcf:2b8c
Display: x11 server: X.org 1.20.10 driver: intel,nvidia
unloaded: fbdev,modesetting,vesa alternate: nouveau,nv
resolution: <missing: xdpyinfo>
Message: Unable to show advanced data. Required tool glxinfo missing.

You can use either nvidia drivers or the dkms version. I prefer the dkms version. But as i pointed out earlier there has been an issue with nvidia and the Cinnamon desktop not loading the module properly. It doesn’t matter whether it’s nvidia or the nvidia-dkms. The same issue has been happening. I pointed you to the wiki with the proper way to set it up to force load the module and the extra settings for the full composition pipeline if you are on Cinnamon and experiencing this issue. The only thing i can say is you need to have the laptop working properly with the installed drivers. Then set up the other hardware one piece at a time. I don’t believe it’s a kernel issue but a hardware issue and getting it setup correctly. Myself i would use one kernel until i got it working. One or the other. If you are using an external Graphics box then you have a unique set up to figure out plus adding other monitors. I just look at the output of the commands to determine if it is in fact using the right driver and xorg is loading the right driver. I have some of the same hardware as others and run into the same issues sometimes.

If you could install mesa-demos is helpful and also xorg-xdpyinfo as it shows more information when you use those commands.

inxi -Fxxxz --no-host

and

inxi -Ga

The thing is you have a Hybrid Graphics setup first of all so you probably need to set it up on the laptop first with Optimus Manager and get it working to be able to switch graphics . Then you have additional hardware to get working and monitors.

2 Likes

Thank you much. FWIW, the results were identical in every way thta I tested with no graphic box and a single monitor plugged directly into the laptop. Different, but near identical video cards that use exactly the same driver.

PPS, I was working fine with this same config until the 5.10.3 update, so while it may not be the root cause it is certainly related.

Weird, but good news. I made the changes from the Cinnamon specific link that you provided (with the exception of the tearing enhancement since you needed to reboot first and I have had no tearing) I still have issues with my problem being Cinnamon related since I had similar issues but worse with KDE on 5.3+. After changes and reboot, before I could attempt any monitor changes, I got notified of 9 Pacman updates. Included were the 5.10. kernel, and a handful of NVIDIA updates. I took all of them and rebooted again. Then, I made my monitor changes and on apply had no bus error, freeze or whatever. It just worked with the graphic amplifier and all 3 monitors like it had before 5.10.3. My only remaining issues are unrelated or predate 5.10.3. I still get an unusably slow system if I close my lid (predates 5.10.3 and exists in all but one distro that I don’t want to return to), headphones are ignored despit showing in Pulse as plugged in and output when selecting them still goes to onboard speakers. Lastly, my BT shows devices that are sending discovery. The headphone and BT were resolced with a USB-C to 3.5MM headphone jack that I had laying around since I never use BT on the computer despite trying it as a solution for headphones and actually get the added function of a single cord headphone/mic connection with the USB-C adapter compared to separate 3.5MM connections. Thanks for your patience, Rick. The mystery my remain as to what exactly solved my problem, but that doesn’t change how helpful you have been.

1 Like

There is a major update to the nvidia drivers today. I have been getting reports from friends that use nvidia that these drivers are cleaning up a lot of the headaches with the latest kernel.

6 Likes