364.12 - GTX 580 - xf86-video-modesetting doesn't work

Hi,

I remembered that on a slide from a presentation by Andy Ritger it was stated as a goal that the NVIDIA driver should be able to use xf86-video-modesetting.

Here is my xorg.conf, which references the modesetting driver.

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 358.16  (buildmeister@swio-display-x64-rhel04-12)  Mon Nov 16 19:58:01 PST 2015

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      "HYO DUAL-DVI"
    HorizSync       88.0 - 88.0
    VertRefresh     59.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "modesetting"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 580"
    Option         "CustomEDID" "DFP-0:/etc/X11/qnix96.bin"
    Option         "Coolbits" "28"
    Option	   "RegistryDwords" "RMUseSwI2c=0x01; RMI2cSpeed=100"
    Option         "IgnoreEdidChecksum" "DFP-0"
    Option         "ModeValidation" "AllowNon60hzmodesDFPModes, NoEDIDDFPMaxSizeCheck, NoVertRefreshCheck, NoHorizSyncCheck, NoDFPNativeResolutionCheck, NoMaxSizeCheck, NoMaxPClkCheck, NoExtendedGpuCapabilitiesCheck"
EndSection

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

I booted directly into tty1, reloaded the nvidia-drm driver with modeset=1 and made sure that weston works. I exited weston and launched a desktop session via “startx”. The screen changed resolution and flashed a red display for a fraction of a second and went back to tty1. I tried the same with all the EDID related stuff commented out (the monitor works fine without one and even without an xorg.conf), but it still didn’t work.

Xorg exited with SIGABRT.

(gdb) bt
#0  0x00007ff0dcecf2a8 in raise () from /usr/lib/libc.so.6
#1  0x00007ff0dced072a in abort () from /usr/lib/libc.so.6
#2  0x00000000005973ce in OsAbort ()
#3  0x00000000004792bc in ddxGiveUp ()
#4  0x000000000059d042 in ?? ()
#5  0x000000000059de7d in FatalError ()
#6  0x0000000000594c6e in ?? ()
#7  <signal handler called>
#8  0x00007ff0d7b46c53 in ?? () from /usr/lib/xorg/modules/drivers/modesetting_drv.so
#9  0x0000000000480c2a in xf86DeleteScreen ()
#10 0x000000000047b29b in InitOutput ()
#11 0x0000000000439fe4 in ?? ()
#12 0x00007ff0dcebc710 in __libc_start_main () from /usr/lib/libc.so.6
#13 0x0000000000424589 in _start ()

nvidia-bug-report.log.gz (104 KB)