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


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"

Section "Files"

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

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

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"

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"

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

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)