NVIDIA driver 440.36 does not support multiple Screens

Hi -
I’m running a GTX 950 on Fedora Core 29 with 4 monitors connected, spread over 3 screens.
Under driver 430.40, everything works as expected. When I upgraded to 440.36, I only have one screen. The Xorg.0.log appears to only see a single screen in my Xorg.conf file.
I see a number of similar posts, while no one seems to ID the problem as multiple screens, the common theme (from looking at their X config files) is that they have multiple screens defined

Here’s my /etc/X11/Xorg.conf.d/00-xconf.conf

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

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 1600 0
    Screen      1  "Screen1" 4480 0
    Screen      2  "Screen2" 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/input/mice"
    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      "DELL U2715H"
    HorizSync       30.0 - 113.0
    VertRefresh     56.0 - 86.0
    Option         "DPMS"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "DELL U2412M"
    HorizSync       30.0 - 83.0
    VertRefresh     50.0 - 61.0
    Option         "DPMS"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor2"
    VendorName     "Unknown"
    ModelName      "DELL 2007FP"
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 950"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 950"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 950"
    BusID          "PCI:1:0:0"
    Screen          2
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "metamodes" "DP-2: nvidia-auto-select +0+0 {rotation=left}, DP-4: nvidia-auto-select +1440+0 {rotation=right}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-2"
    Option         "metamodes" "DP-0: nvidia-auto-select +0+0 {rotation=left}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device2"
    Monitor        "Monitor2"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DVI-I-1: nvidia-auto-select +0+0 {AllowGSYNC=Off}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

And the relevant startup lines from Xorg.0.log

[   974.171] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Jan  3 08:59:03 2020
[   974.171] (==) Using config directory: "/etc/X11/xorg.conf.d"
[   974.172] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[   974.172] (==) ServerLayout "layout"
[   974.172] (**) |-->Screen "Screen0" (0)
[   974.172] (**) |   |-->Monitor "Monitor0"
[   974.172] (**) |   |-->Device "Device0"
[   974.172] (**) |   |-->GPUDevice "Device1"
[   974.172] (**) |   |-->GPUDevice "Device2"
[   974.172] (==) Automatically adding devices
[   974.172] (==) Automatically enabling devices
[   974.172] (==) Automatically adding GPU devices

(under the working driver, there are Screen0, Screen1, and Screen2

TIA,
Steve
nvidia-bug-report.log.gz (1.08 MB)

I think the server is loading the wrong layout. Notice that it reports

[   974.172] (==) ServerLayout "layout"

whereas your server layout is named “Layout0”

I think the incorrect one is coming from this configuration snippet that looks like it’s trying to enable render offload:

*** /usr/share/X11/xorg.conf.d/nvidia.conf
*** ls: -rw-r--r--. 1 root root 333 2019-11-23 07:34:08.000000000 -0600 /usr/share/X11/xorg.conf.d/nvidia.conf
#This file is provided by xorg-x11-drv-nvidia
#Do not edit

Section "OutputClass"
	Identifier "nvidia"
	MatchDriver "nvidia-drm"
	Driver "nvidia"
	Option "AllowEmptyInitialConfiguration"
	Option "SLI" "Auto"
	Option "BaseMosaic" "on"
EndSection

Section "ServerLayout"
	Identifier "layout"
	Option "AllowNVIDIAGPUScreens"
EndSection

This is an unfortunate side effect of needing to enable GPU screens in a ServerLayout section, resulting in this default layout being chosen over the one you specified. I’m trying to get the remaining bug fixed to allow enabling GPU screens by default so the AllowNVIDIAGPUScreens option is not required.

In the meantime, you can either delete the /usr/share/X11/xorg.conf.d/nvidia.conf file or pass the “-layout Layout0” option on the X server’s command line.

I’m having same issues. My Server Layout was correctly identified as “Layout0” Made no difference.

I’m curious. Why are there some settings labeled “on”, “off” “Off”, “0”, or “1”. Shouldn’t there be some form of consistency regarding boolean values. If we are going into typographical nuances this seems to be a source of ambiguity.

I’m also noticing options that are unknown. My file does not list “AllowNVIDIAGPUScreen”, “nvidiaXineramaInfoOrder” “DFP-2”, and others.

Is there somewhere I can find a list of all options and proper values for those options.

Thanks