Overclock.net banner

X11 configuration woes

387 views 5 replies 3 participants last post by  Plan9 
#1 ·
Situation:
My sig rig has a GTX 460 installed in the primary slot, which is dying slowly (it cuts out all video output for 15s at a time) which is making my secondary display (a tv) useless. I more recently installed a GTX 670 in place of the second 460, and am using that to drive my primary display. Since the old 460 is dying, I've decided to dedicate it to folding alone via XEN VGA passthru instead of wrapper (which works fine, since it doesn't need a video output to work as a VM. (this also gets it more WUs as this allows the v7 client to run.)

Anyways, I moved the cable for my TV from the mini-hdmi port on my 460 to the full HDMI port on my gtx 670, and restarted the X display server to discover: Nothing is the same as it was before.

My 1920x1080 TV has taken over as the primary display - displaying a scaled 2560x1440 image - and my 2560x1440 Yamakasi displays nothing.
Okay, no big deal, just some X11 confoolery to be done. Well, now I have video displaying on both monitors, at proper resolutions, but no matter what I do, my TV is the primary display...

Here is the Original xorg.conf, prior to moving things to the 670 from the 460:

Code:

Code:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 313.09  (buildmeister@swio-display-x86-rhel47-04.nvidia.com)  Tue Dec  4 22:54:29 PST 2012

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 1920 0
    Screen      1  "Screen1" LeftOf "Screen0"
    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     "Monitor1"
    VendorName     "Unknown"
    ModelName      "VIZ M320NV"
    HorizSync       31.0 - 70.0
    VertRefresh     50.0 - 77.0
    Option         "DPMS"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "ACB QHD270"
    HorizSync       30.0 - 88.8
    VertRefresh     120.0
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 670"
    BusID          "PCI:5:0:0"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 460"
    BusID          "PCI:3:0:0"
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device0"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "metamodes" "1920x1080 +0+0; nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "CustomEDID" "DFP:/etc/X11/edid-shimian.bin"
    Option         "Stereo" "0"
    Option         "metamodes" "2560x1440 +0+0; nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
Here is the current xorg.conf, which results in good video, but with the wrong data on each display:

Code:

Code:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 313.18  (buildmeister@swio-display-x86-rhel47-11)  Wed Jan  9 16:22:20 PST 2013

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    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: xconfig, VertRefresh source: xconfig
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "ACB QHD270"
    HorizSync       30.0 - 88.8
    VertRefresh     60.0
    Option         "DPMS"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "VIZ M320NV"
    HorizSync       31.0 - 70.0
    VertRefresh     50.0 - 77.0
EndSection

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

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

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "CustomEDID" "DFP-3:/etc/X11/edid-shimian.bin"
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-3"
    Option         "metamodes" "DFP-3: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "CustomEDID" "DFP-1:/home/xaero/edid.bin"
    Option         "Stereo" "0"
    Option         "metamodes" "DFP-1: nvidia-auto-select +0+0; DFP-1: nvidia-auto-select +0+0; DFP-1: 1920x1080_60_0 +0+0; DFP-1: 1920x1080_60_1 +0+0; DFP-1: 1920x1080_50 +0+0; DFP-1: 1920x1080_24 +0+0; DFP-1: 1920x1080_60i +0+0; DFP-1: 1920x1080_50i +0+0; DFP-1: 1280x720 +0+0; DFP-1: 1280x720_60_0 +0+0; DFP-1: 1280x720_50 +0+0; DFP-1: 1024x768 +0+0; DFP-1: 1024x768_70 +0+0; DFP-1: 1024x768_60 +0+0; DFP-1: 800x600 +0+0; DFP-1: 800x600_72 +0+0; DFP-1: 800x600_60 +0+0; DFP-1: 720x576 +0+0; DFP-1: 720x576_50i +0+0; DFP-1: 720x480 +0+0; DFP-1: 640x480 +0+0; DFP-1: 640x480_60 +0+0; DFP-1: 640x480_60_0 +0+0; DFP-1: nvidia-auto-select +0+0 {viewportin=1280x1024, viewportout=1350x1080+285+0}"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
Swapping the Monitor, device, and screen lines results in NO CHANGE. Period. Nada, Zilch, nothing. I'm tearing my hair out over this now and I can't seem to figure it out. The most I can get it to do, is revert to no video on the Yamakasi, and incorrect video scaled back on the TV. Notice that I have specified specific EDID's to specific displays, the Shimian provides an "invalid" EDID.

Any ideas on what to try? This is getting pretty old, I've restarted X11 at least a hundred times now testing this.
 
See less See more
#2 ·
I'd really like to punch an X11 dev in the face. I understand we deprecated manual configuration in favor of xrandr 2, and that automatic configuration "usually works" but why can't we leave things in a working state?!
After much guesswork, and a bunch of arbitrary config hacking, most of which didn't work, for no apparent reason... the final working xconfig file:

Code:

Code:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 313.18  (buildmeister@swio-display-x86-rhel47-11)  Wed Jan  9 16:22:20 PST 2013

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" LeftOf "Screen0"
    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: xconfig, VertRefresh source: xconfig
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "ACB QHD270"
    HorizSync       30.0 - 88.8
    VertRefresh     60.0
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "VIZ M320NV"
    HorizSync       31.0 - 70.0
    VertRefresh     50.0 - 77.0
EndSection

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

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

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "CustomEDID" "DFP-3:/etc/X11/edid-shimian.bin"
    Option         "Stereo" "0"
    Option         "metamodes" "DFP-3: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"

# Removed Option "metamodes" "DFP-1: 1920x1080_60 +0+0; DFP-1: 1920x1080_60_0 +0+0; DFP-1: 1920x1080_60_1 +0+0; DFP-1: 1920x1080_50 +0+0; DFP-1: 1920x1080_24 +0+0; DFP-1: 1920x1080_60i +0+0; DFP-1: 1920x1080_50i +0+0; DFP-1: 1280x720 +0+0; DFP-1: 1280x720_60_0 +0+0; DFP-1: 1280x720_50 +0+0; DFP-1: 1024x768 +0+0; DFP-1: 1024x768_70 +0+0; DFP-1: 1024x768_60 +0+0; DFP-1: 800x600 +0+0; DFP-1: 800x600_72 +0+0; DFP-1: 800x600_60 +0+0; DFP-1: 720x576 +0+0; DFP-1: 720x576_50i +0+0; DFP-1: 720x480 +0+0; DFP-1: 640x480 +0+0; DFP-1: 640x480_60 +0+0; DFP-1: 640x480_60_0 +0+0; DFP-1: nvidia-auto-select +0+0 {viewportin=1280x1024, viewportout=1350x1080+285+0}"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "CustomEDID" "DFP-1:/home/xaero/edid.bin"
    Option         "Stereo" "0"
#    Option         "nvidiaXineramaInfoOrder" "DFP-3"
    Option         "metamodes" "DFP-1: nvidia-auto-select +0+0; DFP-1: nvidia-auto-select +0+0; DFP-1: 1920x1080_60_0 +0+0; DFP-1: 1920x1080_60_1 +0+0; DFP-1: 1920x1080_50 +0+0; DFP-1: 1920x1080_24 +0+0; DFP-1: 1920x1080_60i +0+0; DFP-1: 1920x1080_50i +0+0; DFP-1: 1280x720 +0+0; DFP-1: 1280x720_60_0 +0+0; DFP-1: 1280x720_50 +0+0; DFP-1: 1024x768 +0+0; DFP-1: 1024x768_70 +0+0; DFP-1: 1024x768_60 +0+0; DFP-1: 800x600 +0+0; DFP-1: 800x600_72 +0+0; DFP-1: 800x600_60 +0+0; DFP-1: 720x576 +0+0; DFP-1: 720x576_50i +0+0; DFP-1: 720x480 +0+0; DFP-1: 640x480 +0+0; DFP-1: 640x480_60 +0+0; DFP-1: 640x480_60_0 +0+0; DFP-1: nvidia-auto-select +0+0 {viewportin=1280x1024, viewportout=1350x1080+285+0}"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
I have a couple theories why this works and others had not. For one, I've commented out the xinerama line nvidia-xconfig added, which shouldn't really matter anyways. For two, instead of changing device and monitor lines, I moved the metamodes lines (literally, that and the EDID lines is all I moved) and it works. I think the reason for this is that X11 parses xorg.conf line-by-line so the first "Screen" it sees, is automatically 0.0, and the second is 0.1; Whatever, the point is - this is the single largest problem on Linux to this day: Xorg's lack of coherent, updated documentation - could very well end the Linux desktop.

Seriously though, any time an xorg question comes up, it seems like nobody, even X devs knows the answer. It "just works" up until the point that it doesn't and then "Sorry, skippy - You're on your own. Have fun playing with 10+ years of scattered forum posts, and out dated documentation."
 
#3 ·
I just make mine as minimal as possible and tweak it only if a function doesn't work. Right now mine looks like this:

Code:

Code:
Section "Device"
        Identifier  "Videocard0"
        Driver      "nvidia"
        Option      "UseEDIDDpi" "FALSE"
        Option      "CustomEDID" "DVI-I-0:/root/edid.bin"
        Option      "DPI" "94 x 94"
EndSection
I'm on a TV with bad EDID info when my PC hooks up, sucksorz cause I think it's a linux/nvidia issue. This works for now, everything else I do auto-detects perfectly fine. I think it's cleaner too now that all we need is what we want changed specifically.
 
#4 ·
Quote:
Originally Posted by mushroomboy View Post

I just make mine as minimal as possible and tweak it only if a function doesn't work. Right now mine looks like this:

Code:

Code:
Section "Device"
        Identifier  "Videocard0"
        Driver      "nvidia"
        Option      "UseEDIDDpi" "FALSE"
        Option      "CustomEDID" "DVI-I-0:/root/edid.bin"
        Option      "DPI" "94 x 94"
EndSection
I'm on a TV with bad EDID info when my PC hooks up, sucksorz cause I think it's a linux/nvidia issue. This works for now, everything else I do auto-detects perfectly fine. I think it's cleaner too now that all we need is what we want changed specifically.
Its an nvidia issue, a new EDID version exists in the wild and so far I don't think any driver outside of full open source ones support it yet. Everything else just flags it as invalid. My xconfig is a little convoluted, but it won't display any video at all without some direction (i.e. Auto Config doesn't accomplish anything on my system, X just drops back to the terminal after erroring out)
 
#5 ·
Quote:
Originally Posted by Xaero252 View Post

Its an nvidia issue, a new EDID version exists in the wild and so far I don't think any driver outside of full open source ones support it yet. Everything else just flags it as invalid. My xconfig is a little convoluted, but it won't display any video at all without some direction (i.e. Auto Config doesn't accomplish anything on my system, X just drops back to the terminal after erroring out)
shouldn't need monitor settingas what so ever since EDID overrides that anyways, and I see you load one. Meta modes I question as well but you might have a reason as I've never messed with those. Input device is also non essential if you use a USB device. So I still think it could be trimmed.
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top