Second monitor detected by nothing

sudo lshw -c display:

  *-display                 
       physical id: 0
       bus info: pci@0000:0c:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:73 memory:f6000000-f6ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:c0000-dffff

xrandr:

Screen 0: minimum 16 x 16, current 1920 x 1080, maximum 32767 x 32767
DP-3 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 530mm x 300mm
   1920x1080     59.96*+
   1440x1080     59.99  
   1400x1050     59.98  
   1280x1024     59.89  
   1280x960      59.94  
   1152x864      59.96  
   1024x768      59.92  
   800x600       59.86  
   640x480       59.38  
   320x240       59.52  
   1680x1050     59.95  
   1440x900      59.89  
   1280x800      59.81  
   1152x720      59.97  
   960x600       59.63  
   928x580       59.88  
   800x500       59.50  
   768x480       59.90  
   720x480       59.71  
   640x400       59.95  
   320x200       58.96  
   1600x900      59.95  
   1368x768      59.88  
   1280x720      59.86  
   1024x576      59.90  
   864x486       59.92  
   720x400       59.55  
   640x350       59.77

I have tried installing the proprietary driver, and the nvidia settings panel also only shows one monitor. I have also tried unplugging it and plugging it in again.

Stupid question (mine, not yours), is it plugged into the motherboard instead of the gpu? Have you swapped cables/ports to confirm both work?

I believe it is plugged into the motherboard, but it has been a long time since I’ve cracked open my case, and I only have two cables, which can’t be switched since one is long and hdmi while the other is dp

according to something (i forgot?) my gpu should have 9 outputs, and on arch this was working and I believe it was able to use gpu for both?

Unfortunately I screwed up a couple of times in the last few days trying to get nixOS working so while I have my home directory, my endeavour partition isn’t bootable anymore

The motherboard ports are for if you’re using the iGPU (assuming you even have one), so the monitor not showing up would be expected behavior until you plug it into your GPU.

They should be pretty easy to tell apart if you just look at the back of the computer, if the port is part of the general IO output stuff that’s the wrong slot. If you have a standard atx case, the GPU ports will be at the very bottom, in one of the many PCIe card slots.

Here’s a random picture for illustration: https://hungrypc.co.nz/wp-content/uploads/2019/07/Port-layout-with-graphics-card-1024x768.jpg

It’s possible that the onboard ports actually work if you use some prime thing, but I have never seen such a setup personally.

Could you temporarily take whichever port+cable combo is working and just move around your monitors so you can plug it into the one that is not detected? That could save you days of debugging.

Assuming plugging it into a non-onboard slot doesn’t solve the issue by itself of course.

Unlikely. It may support up to 9 displays with various additional splitters, but even very high-end GPUs typically only have 4-6 actual ports.

Plugged into the same slots as they are now? Then maybe things are plugged in correctly.

Have you looked at dmesg and journalctl? If there’s really nothing at all that looks suspicious in the logs, I’d suspect a broken cable, monitor or port. Once again, just making sure at least some of those work will save you a lot of time.

1 Like

It is not plugged into the motherboard after all. I have switched around the ports a little and the monitor that was working still works in the slots to either side of the one that is not working.

One of the “monitors” is actually a business display that I would need two extra people just to lift off the mount… and then I’d have to test it on the floor next to the PC. Also I would have to order another cable which would take a few days so I am trying to avoid that.

You are correct.

The layout of ports is:
…
vga
…
DP, DVI, HDMI, DP
They were plugged into the slots 1&3 on the bottom row. I tried using 1&3, and 4&3

I looked at journalctl -b -p 3 and didn’t see a whole lot that was graphics-related. If you have pointers on what I could be looking for, that would be helpful.

Feb 28 19:33:26 nixos kernel: nvme nvme0: Device not ready; aborting reset, CSTS=0x1
Feb 28 19:33:27 nixos kernel: 
Feb 28 19:33:27 nixos kernel: tpm_crb MSFT0101:00: [Firmware Bug]: ACPI region does not cover the entire command/response buffer. [mem 0xdc532000-0xdc532fff flags 0x200] vs dc532000 4000
Feb 28 19:33:27 nixos kernel: tpm_crb MSFT0101:00: can't request region for resource [mem 0xdc532000-0xdc532fff]
Feb 28 19:33:27 nixos kernel: NVRM: loading NVIDIA UNIX x86_64 Kernel Module  545.29.06  Thu Nov 16 01:59:08 UTC 2023
Feb 28 19:35:10 nixos systemd-coredump[1604]: [🡕] Process 1433 (.org_kde_powerd) of user 1000 dumped core.

I will check out dmesg, any tips on what I should be looking for?

To clarify, it is the HDMI cable which goes across the room to the big display which doesn’t work. I don’t have any other HDMI ports and don’t have spare DP cables to try, though if that seems likely to work I’d be open to trying it

I am not sure that this is what fixed it, but I think the documention here is misleading:
https://nixos.wiki/wiki/Nvidia#Modifying_NixOS_Configuration
I thought that “optionally” meant “if you need to use legacy drivers or if you want to manually specify”
I specified the same driver that was already installed, and rebooted, and now I have a second monitor.

That is what that means ;p Your logs also show thay you are in fact using the stable driver.

Maybe you wiggled the cable and it is in fact flaky? Anyway, good thing you resolved it.