Nvidia and Dual Monitors...One Is Always Blank

I have a ThinkPad P15 that has an Nvidia T1000 alongside the Intel integrated graphics. I am trying to drive 2 1440p monitors (identical resolution) over Displayport through a USB-C dock. I have a T14 that can drive both monitors just fine (AMD graphics), and on Windows they work as well.

Both monitors show up in KDE monitor settings, and both show up in the Nvidia-settings manager, but one is always blank (black, no output). How do I get both external monitors working? Is it even possible or worth trying this way?

The drivers installed are the proprietary glG05 ones.

There’s a long, long, long list of Nvidia threads all over the internet, but it seems still every problem is somehow unique.

This is a work machine, and I’ve never used Nvidia before, apologies for being a total n00b.

XRANDR output


crc@localhost:~> xrandr 
Screen 0: minimum 8 x 8, current 5120 x 2520, maximum 32767 x 32767 
DP-3.2 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 337mm 
   2560x1440     75.00*+  59.95   
   1920x1080     60.00    59.94    50.00   
   1680x1050     59.95   
   1600x900      60.00   
   1440x900      59.89   
   1280x1024     75.02    60.02   
   1280x800      59.81   
   1280x720      60.00    59.94    50.00   
   1152x864      75.00   
   1024x768      75.03    70.07    60.00   
   800x600       75.00    72.19    60.32    56.25   
   720x576       50.00   
   720x480       59.94   
   640x480       75.00    72.81    59.94   
DP-0 disconnected (normal left inverted right x axis y axis) 
DP-1 disconnected (normal left inverted right x axis y axis) 
DP-2 disconnected (normal left inverted right x axis y axis) 
HDMI-0 disconnected (normal left inverted right x axis y axis) 
DP-3 disconnected (normal left inverted right x axis y axis) 
DP-3.3 connected 2560x1440+2560+0 (normal left inverted right x axis y axis) 597mm x 337
mm 
   2560x1440     75.00*+  59.95   
   1920x1080     60.00    59.94    50.00   
   1680x1050     59.95   
   1600x900      60.00   
   1440x900      59.89   
   1280x1024     75.02    60.02   
   1280x800      59.81   
   1280x720      60.00    59.94    50.00   
   1152x864      75.00   
   1024x768      75.03    70.07    60.00   
   800x600       75.00    72.19    60.32    56.25   
   720x576       50.00   
   720x480       59.94   
   640x480       75.00    72.81    59.94   
eDP-1-1 connected primary 1920x1080+640+1440 (normal left inverted right x axis y axis) 
344mm x 194mm 
   1920x1080     60.00*+  48.00   
crc@localhost:~> 





Was behavior the same before installing the non-FOSS NVidia drivers?

Is the behavior the same when you launch an IceWM session instead of Plasma?

cf. this bug, and see if xrandr --output <…> --auto does anything for the black display.

I have not tried it with the free (Noveau) drivers, but am not able to get any external monitor over Thunderbolt or USB-C without the Nvidia card it seems (unless I wanted one monitor connected to a very impractical side HDMI port).

xrandr <…> --auto does not seem to do anything, I get “Can’t open display!” as a response.

The blank screen persists across IceWM, Gnome, and SDDM. The screen is “seen” by all applications, but output is completely blank.

It’s not even in sleep mode–the screen shows input, but does not display anything.


$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x24e; cap: 0x1 (Source Output); crtcs: 4; outputs: 7; associated provid
ers: 1; name: NVIDIA-0
   output DP-0
   output DP-1
   output DP-2
   output HDMI-0
   output DP-3
   output DP-3.2
   output DP-3.3
Provider 1: id: 0x43; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload
); crtcs: 3; outputs: 1; associated providers: 1; name: modesetting
   output eDP-1-1

$ xrandr | egrep 'onnect|creen|\*' | grep -v disconn | sort -r
Screen 0: minimum 8 x 8, current 5120 x 2520, maximum 32767 x 32767
eDP-1-1 connected primary 1920x1080+640+1440 (normal left inverted right x axis y axis)
344mm x 194mm
DP-3.3 connected 2560x1440+2560+0 (normal left inverted right x axis y axis) 597mm x 337
mm
DP-3.2 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 337mm
  2560x1440     75.00*+  59.95   
  2560x1440     75.00*+  59.95   
  1920x1080     60.00*+  48.00 



I’m able to use HDMI on the second monitor and get it working, so maybe there’s something with the DisplayPort limitation?

I would prefer to use DisplayPort, as I also have a KVM that switches between my desktop and is now being bypassed, but it’s not a massive headache.

How would I go about diagnosing or delving into this?

<…> needs to be replaced with an appropriate output name, which in your case seems to be DP-3.3. But, one could try any of the output names that might be equivalent. Do the xrandr output names match the names found from the following?:

ls -1 /sys/class/drm/

If not, you could try xrandr --output <…> --auto using any of the /sys/class/drm/ names.

Are you using suse-prime? If not, this could be your issue. Special configuration is required for Optimus, which is the usual name for the combination of both Intel IGP and NVidia GPU installed in a laptop. I’m thinking if not using suse-prime is not your issue, that this will turn out to be an issue for NVidia’s proprietary driver programmers to solve.

xrandr --output DP-3.3 --auto (or DP-3.2) does nothing, but it does run at least.

The /sys/class/drm does not seem to work, but perhaps I am running the command wrong.

As far as I know I am using suse-prime. That provides prime-select nvidia correct?


crc@localhost:~> ls -l /sys/class/drm 
total 0 
lrwxrwxrwx 1 root root    0 Mar  9 09:53 card0 -> **../../devices/pci0000:00/0000:00:02.0/drm/card0** 
lrwxrwxrwx 1 root root    0 Mar  9 09:53 card0-eDP-1 -> **../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1** 
lrwxrwxrwx 1 root root    0 Mar  9 09:53 card1 -> **../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1** 
lrwxrwxrwx 1 root root    0 Mar  9 09:53 card1-DP-1 -> **../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DP-1** 
lrwxrwxrwx 1 root root    0 Mar  9 09:53 card1-DP-2 -> **../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DP-2** 
lrwxrwxrwx 1 root root    0 Mar  9 09:53 card1-DP-3 -> **../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DP-3** 
lrwxrwxrwx 1 root root    0 Mar  9 10:20 card1-DP-4 -> **../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DP-4** 
lrwxrwxrwx 1 root root    0 Mar  9 10:20 card1-DP-5 -> **../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DP-5** 
lrwxrwxrwx 1 root root    0 Mar  9 10:20 card1-DP-6 -> **../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DP-6** 
lrwxrwxrwx 1 root root    0 Mar  9 09:53 card1-HDMI-A-1 -> **../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-HDMI-A-1** 
lrwxrwxrwx 1 root root    0 Mar  9 09:53 renderD128 -> **../../devices/pci0000:00/0000:00:02.0/drm/renderD128** 
lrwxrwxrwx 1 root root    0 Mar  9 09:53 renderD129 -> **../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/renderD129** 
-r--r--r-- 1 root root 4096 Mar  9 09:53 version 
crc@localhost:~> xrandr --output /sys/class/drm/card1-DP-3 --auto 
warning: output /sys/class/drm/card1-DP-3 not found; ignoring




Looks like you did not copy and paste. After - it’s supposed to be a one, not an el. What does fc-match monospace report?

> ls -1 /sys/class/drm/
card0
card0-HDMI-A-1
card0-HDMI-A-2
card0-VGA-1
renderD128
version
> fc-match monospace
DroidSansMono.ttf: "Droid Sans Mono" "Regular"
>

I did not copy/paste! In the browser 1 (one) looks a lot like “L”. My terminal font is Source Code Pro (11pt).

eDP-1 is the built-in display, but the issue with a second blank screen persists even if the laptop is run “docked,” with the lid shut.


ls -1 /sys/class/drm 
card0
card0-eDP-1
card1
card1-DP-1
card1-DP-2
card1-DP-3
card1-DP-4
card1-DP-5
card1-DP-6
card1-HDMI-A-1
renderD128
renderD129


If you select less than 2560x1440 on either or both displays, do they both light up?

Is there a BIOS option to enable more Pre-Allocated RAM (DVMT?) used by the the iGPU? Does selecting more than the default change anything?

I’m running low on ideas. I’d go ahead and try all DP-x connections, and the HDMI, with --auto just to be sure, and I’d try switching to whatever other options suse-prime offers; beyond that, reinstalling NVidia’s drivers; and if nothing there, an NVidia-specific forum, and/or an NVidia bug tracker report. I think I might go ahead and open an openSUSE bug report first, since xrandr is claiming DP-3.3 is connected and running at the display’s native resolution.

Changing resolution unfortunately does not change the behaviour–one screen is still “alive” but blank.

I can also report that the same issue persists on Windows now, which leads me to suspect a recent firmware update for the dock that I am using…

I don’t know a lot about the DisplayPort standard, but it seems like a difference in versions on the monitors may be having an effect…

At this point, I’ve accepted a workaround witha very long HDMI cable, and will keep poking at the setup when I get a chance. It’s annoying, but not the end of the world (or even dual-monitor setup).

I’d like to thank you, mrmazda, for your help with this problem, as ill-explained and confusing as it has been!

This is Quadro T1000 GPU.
Test newer R510 U3 (511.x) driver with Windows.
Test G06 driver with Linux. Uninstall nouveau driver before installing Nvidia proprietary driver.

You may use TB dock. Check what port you’re using - USB or TB.

This is Quadro T1000 GPU
-Yup! Brand new P15.

I installed the G06 drivers, but then I receive ‘Video card not detected’ when I try to run prime-select.

That was my initial thought (that this card was newer), but perhaps I installed it incorrectly?

I believe I need the libdrm_nouveau2 package, correct? I’ve removed all other nouveau packages, but zypper wants to purge nearly 200 packages if I remove the libdrm one.

Hi
What does the output from the following show?


xrandr --listproviders

I just installed the G06 drivers now that I have some time, and they don’t seem to see the card at all. (Thankfully I can snapper rollback to the G05 ones if that is needed)

This is with the G06 drivers installed:


xrandr --listproviders 
No protocol specified 
Providers: number : 1 
Provider 0: id: 0x43; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 3; outputs: 1; asso
ciated providers: 0; name: modesetting 
    output eDP-1



sudo prime-select nvidia 
[sudo] password for root:  
Preparing first configuration 

ERROR: Unable to query GPU information 

Configuration failed