Bug 1221892 - Displays connected to a 2nd NVIDIA graphics card under X11 stopped working following a recent update
Summary: Displays connected to a 2nd NVIDIA graphics card under X11 stopped working fo...
Status: RESOLVED FIXED
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: X.Org (show other bugs)
Version: Current
Hardware: Other Other
: P3 - Medium : Normal (vote)
Target Milestone: ---
Assignee: Gfx Bugs
QA Contact: Gfx Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-03-23 18:06 UTC by Sam Azer
Modified: 2024-04-17 02:58 UTC (History)
1 user (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sam Azer 2024-03-23 18:06:25 UTC
Background:

* My desktop has a video card built into the motherboard and two NVIDIA 2080 video cards.

* I'm running Tumbleweed with all the KDE repo's added and all recent updates installed.

* Some time ago I discovered that KDE Plasma & X11 now support 6 displays on two graphics cards - so I got my system organized and became accustomed to this setup. I have four displays connected to the first NVIDIA graphics card and two more connected to the second card.

Problem description:

* In the past couple of weeks there was an update which caused Tumbleweed to boot into the Plasma login screen with two displays turned off (the two that are connected to the second NVIDIA graphics card.) From there, logging into an X11 session with KDE Plasma 6 continues as normal but the displays attached to the second NVIDIA graphics card remain disabled and are not recognized.

First work-around that I've found so far:

* Today I discovered that I can log into a Plasma 6 Wayland session to re-activate the displays on the second graphics card. (Development on Plasma 6 and Wayland is moving forward but the two displays on the second NVIDIA card don't work properly in the Wayland session. By the way the Wayland / Plasma 6 session detects all three graphics cards and SEVEN displays - which is very exciting.) So I log-out of the Wayland session and note that the two displays on the second video card are still active. Next I log into an X11 session and find that everything is working fine - all six displays connected to the two NVIDIA cards fully usable - as they were before the recent change.

Bug Report:

* There has been a change somewhere that, on boot-up, disables something - perhaps the second NVIDIA graphics card?

* Once the two displays on the second graphics card are re-enabled (in this case via the Wayland session - there are probably other ways,) the system begins to work as it did in the past.

Since everything else is fine I'd appreciate it very much if anyone can suggest a less cumbersome work-around? Is there a command line utility that can restore the two displays?

Of course if somebody can find the cause of the problem that would also be really great.

As always, I thank you all for your most excellent service.

Thanks again, All the best
Comment 1 Sam Azer 2024-03-23 18:46:20 UTC
Turns out that I can log into Plasma 6 / X11 and immediately log out to re-enable the two disabled displays. Logging back in finds everything working normally.
Comment 2 Stefan Dirsch 2024-03-23 18:50:25 UTC
This looks like a timing issue, i.e. driver is not fully initialized yet when desktop starts. In order to verify this theory you can start in runlevel 3, login to Linux console. Then run 'init 5'.
Comment 3 Sam Azer 2024-03-23 19:04:57 UTC
Thanks for your help. Perhaps I didn't understand your instruction but here's what I did:

* reboot the system

* the login screen appears (and the two displays connected to the second video card are not active)

* I press Ctrl+Alt+ F1 to get to a tty

* I type the command: sudo init 5

(Nothing happens? or perhaps I don't see what you are looking for?)

* I type Ctrl+Alt+F2 to go back to the graphical login

(No change that I can see.)

Sorry if I didn't understand what you were looking for? Please let me know what to try next.

By the way I can confirm that logging into Plasma and logging out does activate the two displays on the second graphics card.

Thanks again
Comment 4 Sam Azer 2024-03-23 19:16:25 UTC
A Better work-around. From a TTY I type:

$ sudo systemctl restart sddm

and all six displays are working :)
Comment 5 Stefan Dirsch 2024-03-23 20:04:14 UTC
What I meant was telling grub to boot into runlevel 3, then switch to runlevel 5 with displayamanger acitve. 

Not so easy to explain. When the bootmanager grub starts, select the righ entry, then press 'e' for edit then add to the line with 'linuxefi ...' at the end a 3 (for runlevel 3). Then press F10 to boot this. The login into Linux console and
run 'init 5'.

With starting into runlevel 5, then restarting displaymanager via 

  sudo systemctl restart sddm

things are rather similar. Maybe not exactly.
Comment 6 Sam Azer 2024-03-23 21:37:54 UTC
(In reply to Stefan Dirsch from comment #5)
> What I meant was telling grub to boot into runlevel 3, then switch to
> runlevel 5 with displayamanger acitve. 
> 

Thanks again. I understand this time.

Yes, after booting into Run Level 3 I am able to sudo init 5 which brings me to the graphical login screen. Along the way I was able to see the graphical NVIDIA display going into Run Level 3 so I do believe that the initial graphics driver was loaded before going into Run Level 5. 

Unfortunately, when arriving at Run Level 5 the two displays attached to the second graphics card are not active.

Entering into a TTY and restarting the SDDM service does enable those two displays.

(I'll continue in another comment.)
Comment 7 Sam Azer 2024-03-23 21:45:00 UTC
While trying the sudo systemctl restart sddm work-around I discovered that it sometimes hangs - does not return to a prompt in the TTY. 

Checking from another TTY I saw that, when the restart command had hanged, there was another instance of SDDM in the background (ie: two instances running.)

So the better work-around is to stop sddm completely so that it can do whatever cleanup work it needs to do, then start sddm again when the TTY prompt returns, ie:

sudo systemctl stop sddm

(wait for the graphical screen to exit so that the TTY prompt returns, then...)

sudo systemctl start sddm

Thanks again
Comment 8 Stefan Dirsch 2024-03-23 22:52:52 UTC
I don't know which driver you're using for your nvidia cards and which internal GPU you're using (my guess would be Intel), but it may help to move the driver to 
 initrd so it can be started much earlier(usually intel driver is, but nvidia is not due to potential use of suse-prime). Also it may help to add sleeps to displayamanger script to workaround the timing issues.

OTOH I haven't heard of anyone yet using 7 monitors successfully, let alone with 3 gfx cards by using a standard KDE desktop configuration. So I hope you can live with a workaround.
Comment 9 Sam Azer 2024-03-24 00:25:12 UTC
(In reply to Stefan Dirsch from comment #8)
> I don't know which driver you're using for your nvidia cards 

NVIDIA commercial drivers

> and which internal GPU you're using (my guess would be Intel), 

Intel UHD Graphics 630

> OTOH I haven't heard of anyone yet using 7 monitors successfully, let alone
> with 3 gfx cards by using a standard KDE desktop configuration. 

6 monitors (normally)

One day I plugged in an old monitor... and it worked! So I pulled another old monitor out and plugged it in... and it worked... Wonderful, isn't it? :)

I'm assuming I should send my great thanks - Thank you! - to people you probably know.

Sometimes when I'm changing settings on the motherboard I need to see what's showing on the on-board video card. I've got it plugged into an alternate input on one of the monitors. I was shocked today when I tried the Plasma 6 Wayland session and found that the Display Settings page was able to detect and manage all 6 monitors with the Intel card appearing as a 7th. For sure the software will continue to improve and all will be working one day soon.

Many of us have old monitors in storage. As more people find out that some of their video cards now support lots of monitors, people will pull their old monitors out and try them. It may be that 6 monitors may quickly become a common configuration.

> So I hope you can live with a workaround.

Yes, thanks. This is fine - I don't reboot terribly much.

Thanks again for your most excellent service. All the best
Comment 10 Stefan Dirsch 2024-03-24 00:52:33 UTC
Ok. I'm glad I could be of some help. Closing.
Comment 11 Sam Azer 2024-03-24 21:14:47 UTC
(In reply to Sam Azer from comment #7)
> While trying the sudo systemctl restart sddm work-around I discovered that
> it sometimes hangs - does not return to a prompt in the TTY. 

And another problem: Sometimes sudo systemctl stop sddm returns to the TTY instantly but SDDM remains in the background :(

Turns out it's not that easy to shut down sddm. Seems it's best to tell it to stop and then check to see if it stopped - and perhaps even manually kill it - before trying to start it again.

HTH
Comment 12 Sam Azer 2024-04-17 02:58:10 UTC
SOLVED:

* Turns out that you can simply delete any old /etc/X11/xorg.conf file you may have remaining in your system. X and the NVIDIA drivers are now able to configure the system without using the xorg.conf file.

* Once I did this (removed the /etc/X11/xorg.conf file,) my system works perfectly. I boot and the LCD panels connected to the 2nd NVIDIA graphic card work fine. It's no longer necessary to apply any work-around.

Thank you all for your most excellent service.