Triple monitor setup, Nvidia Bumblebee

Hi,
Sorry for long config file, I wanted to link it to the paste bin but links are not allowed.

I have 3 identical monitors (1920x1200) 2 of them run on Nvidia Quadro 2000 and 1 on integrated gpu. (Nvidia Quadro can only run 2 displays :confused: ), so I’m trying to use video-hybrid-intel-nvidia-390xx-bumblebee driver to get all screens working.
I followed Arch wiki on bumblebee setup but now igpu and one gpu monitor are working, third one is active and showing mouse cursor but everything else is black.

[sebba@manjaro ~]$ sudo cat /etc/X11/xorg.conf 
Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        Screen      1  "Screen1" RightOf "Screen0"
        Screen      2  "Screen2" RightOf "Screen1"
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        ModulePath   "/usr/lib/xorg/modules"
        FontPath     "/usr/share/fonts/misc"
        FontPath     "/usr/share/fonts/TTF"
        FontPath     "/usr/share/fonts/OTF"
        FontPath     "/usr/share/fonts/Type1"
        FontPath     "/usr/share/fonts/100dpi"
        FontPath     "/usr/share/fonts/75dpi"
EndSection

Section "Module"
        Load  "glx"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        Option       "Enable" "true"
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        Option       "Enable" "true"
EndSection

Section "Monitor"
        Identifier   "Monitor2"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        Option       "Enable" "true"
EndSection

Section "Device"
        Identifier  "Card0"
        Driver      "intel"
        BusID       "PCI:0:2:0"
EndSection

Section "Device"
        Identifier  "Card1"
        Driver      "nvidia"
        BusID       "PCI:1:0:0"
EndSection

Section "Device"
        Identifier  "Card2"
        Driver      "nvidia"
        BusID       "PCI:1:0:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Depth     1
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     4
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     8
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     15
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen1"
        Device     "Card1"
        Monitor    "Monitor1"
        DefaultDepth   24
        Option         "TwinView" "0"
        SubSection "Display"
           Depth          24
           Modes          "1920x1080_60.00"
       EndSubSection
EndSection

Section "Screen"
        Identifier "Screen2"
        Device     "Card2"
        Monitor    "Monitor2"
        DefaultDepth   24
        Option         "TwinView" "0"
        SubSection "Display"
           Depth          24
           Modes          "1920x1080_60.00"
       EndSubSection
EndSection

Thanks for any help!

Hi @Sebba :wink:

Isn’t that the same card? Why 2 different identifiers?

       Screen  number
              This option is mandatory for cards where a single PCI entity can
              drive more than one display (i.e., multiple CRTCs sharing a sin‐
              gle graphics accelerator and video memory).  One Device  section
              is  required  for each head, and this parameter determines which
              head each of the Device sections applies to.  The  legal  values
              of  number  range  from  0  to one less than the total number of
              heads per entity.  Most drivers require that the primary  screen
              (0) be present.

So it would look like this:

Section "Device"
        Identifier  "Card1"
        Driver      "nvidia"
        Screen    "2"
        BusID       "PCI:1:0:0"
EndSection

Then also you need to specify on where to place the output:

       Option "Position" "x y"
              This optional entry specifies the position of the monitor within
              the X screen.  (RandR 1.2-supporting drivers only)

       Option "LeftOf" "output"
              This optional entry specifies that the monitor should  be  posi‐
              tioned  to  the  left  of  the output (not monitor) of the given
              name.  (RandR 1.2-supporting drivers only)

       Option "RightOf" "output"
              This optional entry specifies that the monitor should  be  posi‐
              tioned  to  the  right  of the output (not monitor) of the given
              name.  (RandR 1.2-supporting drivers only)

       Option "Above" "output"
              This optional entry specifies that the monitor should  be  posi‐
              tioned above the output (not monitor) of the given name.  (RandR
              1.2-supporting drivers only)

       Option "Below" "output"
              This optional entry specifies that the monitor should  be  posi‐
              tioned below the output (not monitor) of the given name.  (RandR
              1.2-supporting drivers only)

That is for the Monitor Section. Output = Screen

Hope that helps a bit.

Hi @megavolt

I removed Card2 as you said identifier and added Screen “2” to Card1 device
But now sddm fails to start (It fails only if there is Screen "2") present

● sddm.service - Simple Desktop Display Manager
     Loaded: loaded (/usr/lib/systemd/system/sddm.service; enabled; vendor preset: disabled)
     Active: failed (Result: core-dump) since Tue 2020-11-17 15:55:19 CET; 3min 38s ago
       Docs: man:sddm(1)
             man:sddm.conf(5)
    Process: 1019 ExecStart=/usr/bin/sddm (code=dumped, signal=ABRT)
   Main PID: 1019 (code=dumped, signal=ABRT)

nov 17 15:55:19 manjaro systemd[1]: sddm.service: Scheduled restart job, restart counter is at 5.
nov 17 15:55:19 manjaro systemd[1]: Stopped Simple Desktop Display Manager.
nov 17 15:55:19 manjaro systemd[1]: sddm.service: Start request repeated too quickly.
nov 17 15:55:19 manjaro systemd[1]: sddm.service: Failed with result 'core-dump'.
nov 17 15:55:19 manjaro systemd[1]: Failed to start Simple Desktop Display Manager.

If I comment out Screen sddm starts fine :confused:
Edit: I saw that the Screen number needs to be 1 less, so I tried to set screen to 1 and 0. In both cases sddm failed to start.

Section "Device"
        Identifier  "Card1"
        Driver      "nvidia"
        Screen      "2"
        BusID       "PCI:1:0:0"
EndSection

My monitors are setup like this:

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        Option       "Enable" "true"
        Option       "Position" "0 0"
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        Option       "Enable" "true"
        Option       "RightOf" "Screen0"
EndSection

Section "Monitor"
        Identifier   "Monitor2"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        Option       "Enable" "true"
        Option       "LeftOf" "Screen0"
EndSection