Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

After updating to 12.10 today, my xorg.conf doesn't seem to be respected by Quantal. Not sure if this is a 'bug' or whether it's just an adjustment I have to make due to changes in the OS.

When logging in, it seems Ubuntu is now recognizing only one 3840x1080 screen named "Matrox" and maximizing windows spans them across both screens. In 12.04, this configuration file successfully allowed me to override the data provided by my TripleHead2Go and maximize windows to a single monitor.

Any ideas or where to start on trying to debug this?

After a bit of searching, I tried to make changes according to the update here: http://www.phoronix.com/scan.php?page=news_item&px=MTEyMDk

Here's where the config file sits currently:

Section "ServerLayout"
  Identifier     "Layout0"
  Screen      0  "Screen0" 0 0
  InputDevice    "Keyboard0" "CoreKeyboard"
  InputDevice    "Mouse0" "CorePointer"
  Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"
  Identifier     "Mouse0"
  Driver         "mouse"
  Option         "Protocol" "auto"
  Option         "Device" "/dev/psaux"
  Option         "Emulate3Buttons" "no"
  Option         "ZAxisMapping" "4 5"
EndSection

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

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Matrox"
    HorizSync       31.5 - 80.0
    VertRefresh     59.9 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 260M"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "nvidiaXineramaInfo" "true"
    Option         "nvidiaXineramaInfoOrder" "CRT-0"
    #Option         "metamodes" "CRT: nvidia-auto-select +0+0"
    Option         "nvidiaXineramaInfoOverride" "1920x1080 +0+0, 1920x1080 +1920+0"
    Option         "Stereo" "0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
share|improve this question
    
you appear to have a reference in your foOrder to 'CRT-0' yet you have no reference to it in your monitors section. What happens when you change your 'monitor0' identifier to 'CRT-0'? Your config might be confusing your X,Y locations, try removing them –  craigsmith86 Oct 23 '12 at 16:44
    
Have tried removing all of the coordinate/offset data as well as playing around with several combinations of monitor identifiers and naming for the metamodes. No luck yet. –  AvatarKava Oct 23 '12 at 18:57
    
How many monitors are you using? Are you using a single gpu? Do you want the monitors to act as one big screen, or as individual outputs? What monitors are detected by nvidia-settings? –  Anthony Oct 27 '12 at 4:20
    
It's two monitors hooked to a Matrox TripleHead2Go, and the previous override of the nvidia settings allowed splitting them into individual outputs which is what I desire. Right now it is treating it as one 3840x1080 screen. –  AvatarKava Oct 28 '12 at 0:49
    
nvnews.net/vbulletin/showthread.php?t=184814 Looks like there are some handling issues with RandR data? –  AvatarKava Nov 6 '12 at 8:03
add comment

2 Answers

up vote 5 down vote accepted

In recent versions of NVIDIA Linux graphics driver - including the version of nvidia-current in quantal 12.10, 304.51 - the support for RandR 1.2+ has been introduced, improving the integration between the graphics card and the window manager (GNOME, KDE, etc.) with the handling of display resolution, rotation, etc. from window manager tools in addition to nvidia-settings. However it seems that TwinViewXineramaInfoOverride xorg.conf config option (which now has been renamed to nvidiaXineramaInfoOverride) is not working properly.

To follow NVIDIA progress on this subject see:

http://www.nvnews.net/vbulletin/showthread.php?p=2578805
http://www.nvnews.net/vbulletin/showthread.php?t=184814

A possible solution is to use Fake Xinerama http://home.kde.org/~seli/fakexinerama/ that has been proven to work also with Xorg 7.7 (the version of Xorg on quantal 12.10). To follow the procedure described in the linked document you need:

  • Before the procedure, sudo apt-get install libxinerama-dev
  • After the procedure, reboot the system

You can use the following content for ~/.fakexinerama:

2
0 0 1920 1080
1920 0 1920 1080

To enable fakexinerama only when the Matrox DualHead2Go is present, you can also add this code to /etc/init/lightdm.conf, before exec lightdm:

if lsusb | grep -q 18ea:0003; then
        echo "Matrox DualHead2Go Detected"
        cp /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0-fake /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
else
        echo "Matrox DualHead2Go NOT Detected"
        cp /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0-orig /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
fi

Use the following rules to make this code working:

  • In any case, use /usr/lib/i386-linux-gnu instead of /usr/lib/x86_64-linux-gnu if not on 64 bits
  • Make a backup copy of the original /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0 to /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0-orig
  • Copy the modified version, resulting from fakexinerama build to /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0-fake
  • Replace 18ea:0003 with your device product id, if different (use lsusb to find the right value).

Reboot the system each time you need to switch from Matrox DualHead2Go mode to original mode.

NOTE: once working you should be able to maximize windows to each single screen, but any action that use the RandR information instead of Xinerama won't take care of the fake Xinerama information (e.g. wallpaper, Adobe Flash full screen - including YouTube, etc.).

share|improve this answer
add comment

Alright, partial fix:

  1. Install the compizconfig-settings-manager package, if you don't have it already.
  2. Run it and go to General Options > Display Settings
  3. Add outputs as desired (in my case with two DVI connections I have it as 1920x1080+0+0 and 1920x1080+1920+0)
  4. Uncheck the "Detect Outputs" option above the output list

Caveat:

  • This will NOT fix the issue with the panel spanning multiple desktops, only that of maximized windows spanning both screens

I had forgotten completely about compizconfig's ability to do this.

Any input on splitting the panel per output using this?

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.