Second monitor not enabled on boot

I have a dual-monitor stup with two Philips PHL 288E2 connected via DisplayPort: Main monitor on the right (DFP-5 / DP-4) and a secondary one on the left (DFP-3 / DP-2)

Despite setting it up in nvidia-settings and saving to xorg.conf, the secondary monitor seems not to be enabled on boot and every time after I log in, I have to manually enable it again.

My /etc/X11/xorg.conf:

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 565.57.01

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Philips PHL 288E2"
    HorizSync       140.0 - 140.0
    VertRefresh     40.0 - 60.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVIDIA GeForce RTX 3080"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DP-4"
    Option         "metamodes" "DP-4: 2560x1440_60 +2560+0, DP-2: 2560x1440_60 +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

I don’t have any deep knowledge about how xorg.conf should look like, but what I found interesting is that there is only one Monitor Section. Is that expected?

After reboot I can see in the xorg logs that the second monitor is not recognized as connected

[    13.202] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:2:0:0
[    13.202] (--) NVIDIA(0):     DFP-0
[    13.202] (--) NVIDIA(0):     DFP-1
[    13.202] (--) NVIDIA(0):     DFP-2
[    13.202] (--) NVIDIA(0):     DFP-3
[    13.202] (--) NVIDIA(0):     DFP-4
[    13.202] (--) NVIDIA(0):     DFP-5 (boot)
[    13.202] (--) NVIDIA(0):     DFP-6
(...)
[    13.286] (--) NVIDIA(GPU-0): DFP-3: disconnected
[    13.286] (--) NVIDIA(GPU-0): DFP-3: Internal DisplayPort
[    13.286] (--) NVIDIA(GPU-0): DFP-3: 2670.0 MHz maximum pixel clock
(...)
[    13.289] (--) NVIDIA(GPU-0): Philips PHL 288E2 (DFP-5): connected
[    13.289] (--) NVIDIA(GPU-0): Philips PHL 288E2 (DFP-5): Internal DisplayPort
[    13.289] (--) NVIDIA(GPU-0): Philips PHL 288E2 (DFP-5): 2670.0 MHz maximum pixel clock

And it connects a few seconds after the GPU already has set the mode:

[    13.590] (II) NVIDIA(0): Setting mode "DP-4:2560x1440_60+2560+0,DP-2:2560x1440_60+0+0"
(...)
[    16.425] (--) NVIDIA(GPU-0): Philips PHL 288E2 (DFP-3): connected
[    16.425] (--) NVIDIA(GPU-0): Philips PHL 288E2 (DFP-3): Internal DisplayPort
[    16.425] (--) NVIDIA(GPU-0): Philips PHL 288E2 (DFP-3): 2670.0 MHz maximum pixel clock
[    16.425] (--) NVIDIA(GPU-0): 

Entire log: /var/log/Xorg.0.log - Pastebin.com

I have no idea why the DFP-3 is not connected at the boot time and how to either have it be connected then or to have the xorg mode re-set once the device is back up.

I’m running EndeavourOS with i3wm, but the monitor is dead already on the login screen (LightDM) before logging-in to my desktop.

I was having a similar issue, and the fix was (oddly) to change the refresh rate. Changed it from 60 to 120 and now the monitor comes up every boot. May not be the issue you’re having, but easy enough to test.

120 Hz is beyond the specs of that Monitor (I mean, if it had supported it, why would I set its refresh to 60 Hz in the first place), so setting the refresh rate to 120 Hz did not help. Changing it to a lower rate of 30 Hz didn’t help either.

What seemed to somewhat help was to duplicate the monitor section in xorg.conf with “Monitor1” as identifier, but it only works half-way, because the system now effectively sets a two-monitor screen, but the second monitor does not always wake up and I have to power it off and on manually.
Nope, didn’t seem to fix the isue either. It was just a rare occurrence of the monitor connecting in time.