Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have Ubuntu Studio 12.04 Precise Pangolin with XFCE as its default desktop.

My old HIS ATI Radeon 9250 graphics card was adding red crud across the screen with the generic driver, but downloading the proprietary "fglrx" driver makes it work cleanly. The trouble is the Catalyst control centre refuses to recognise my old card so I must do some manual configuring to make sure both the DVI and VGA monitors are capable of the correct screen resolution (both 1280x1024) and a dual display.

It used to be easier to just edit the existing xorg.conf file and add another resolution and so forth, but now there are automatic xorg.conf.d directories (more than one) with scant documentation.

Creating a generic xorg.conf with a terminal command creates every setting imaginable. What I want to do is create the simplest conf file which just tells the system the following:

  • My VGA monitor can do 1280x1024 60Hz
  • The two monitors together may be 2560x1024 width
  • The VGA monitor on the right
  • I might need to specify Xinerama if it's needed

I don't think I need to bore you with log files, but please ask for further info.

share|improve this question

migrated from stackoverflow.com Jun 19 '12 at 10:22

This question came from our site for professional and enthusiast programmers.

    
Sorry. uskubuntu.com doesn't seem to be providing results. I'm going to have to work it out myself by trial and error and reading man pages. –  FLASE Jun 19 '12 at 7:01
    
of course. It seems the sort of problem I'm on my own with. Linux has reached the stage where if it can't automatically configure your system all anybody can do is say, "use the graphical frontend". Manual configuration seems to have disappeared... –  FLASE Jun 19 '12 at 8:38
    
Have not tried, but isn't it just to drop your config fragments into the 'xorg.conf.d' directory? Just name it uniquely, perhaps local or your login name, but like the pattern of the others and restart the xserver. Like '/etc/init.d' or '/etc/apt/sources.d' is done. You might want to look into '/usr/shar/docs/*xorg*' directories for more information. –  Anders Jun 19 '12 at 11:55
    
Thank you Anders. Getting dual monitors right has always been notoriously difficult and I tried to avoid writing it all from scratch. I'll need to get the right number of conf sections that work together and debug by rebooting a number of times. I won't have time until this evening, but one thing I don't understand is how to specify one monitor. Maybe I'll share the code here for others when I do it. –  FLASE Jun 19 '12 at 23:30

1 Answer 1

I hope this helps somebody because most people online don't realise they can use the smallest code snippets possible when the automatic detection doesn't work. Either they say to create an xorg.conf file including every setting under the Sun, or else every user of the system must use a graphical front end every reboot, with a script in every user's home directory if you want it permanent.

I found a large number of people with similar problems to me that remain unresolved, and much of the code and advice on these pages was erroneous.

I was worried I needed all sorts of sections like "Device" and "Modes" that all had to refer to each other but I tried something short and it worked... mostly.

  1. Filename and Path

    Some websearching revealed the following:

    Custom configuration files follow this priority:
    • settings from /usr/share/X11/xorg.conf.d/
    • udev rules (I'm not quite sure about udev priority, maybe less)
    • settings from /etc/X11/xorg.conf.d/
    • settings in /etc/X11/xorg.conf
    where the good old, still supported xorg.conf has highest priority. Therefore any rules you put in /usr/share/X11/xorg.conf.d/ loose validity when other rules with a higher priority are found. To define a custom configuration without xorg.conf file you need to create a folder /etc/X11/xorg.conf.d/ where you put your custom device configuration files in (here your 50-synaptics.conf). However any other definitions in an existing xorg.conf file will override these, therefore you need to remove your xorg.conf file.

    If you read the xorg.conf* man pages you will find about twenty more paths to confuse you and contradict this info...

    I followed the advice on this page: http://samuelmartin.wordpress.com/category/linux/

    The file I created was:

    /etc/X11/xorg.conf.d/10-monitor.conf
  2. Virtual Display resolution

    I needed a screen section to allow an adequate width for my two displays, so the shortest possible was the following:

    Section "Screen"
        Identifier "default Screen Section"
        SubSection "Display"
            Virtual   2560 1024
        EndSubSection
    EndSection
    
  3. Monitor Resolution

    The main reason for the problem detecting the VGA screen resolution is that I have a splitter cable and an extra display with an extension cord, which I don't always use.

    I wasn't sure how to identify the vga output in the monitor section so I always referred to it by ATI's naming convention, "VGA-0". Even where I could refer to it as something else, I call it VGA-0. (I've found the device and server sections of the conf file to be unnecessary for this).

    I discovered I needed to add a modeline as per the instructions on the link above. Well to find your modeline, the cvt command has superseded the gtf command (Don't use mine). Lord knows what a modeline really does. There seems to be no way to specify which monitor you're even probing so you just have to cross your fingers that this bunch of numbers is even what you're looking for...

    Section "Monitor"
        Identifier   "VGA-0"
            Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
            Option  "RightOf" "DVI-0"
    EndSection
    
  4. Testing

    It worketh ... mostly ...

    I turn monitors off because I've had to replace capacitors in the power circuit of my LCD screen. I am also disappointed by the power consumption of these devices in standby.

    When this monitor was turned off during startup, I got clone mode again. I had to add some repetition of information.

            Option  "RightOf" "DVI-0"
            Option  "Position" "1280 0"
    

    I also added a DVI-0 monitor section.

    ARANDR consistently crashed on me when I tried to adjust it on the fly like most people recommend nowadays, so that seems to be a piece of poo that doesn't play nicely with xorg.conf settings (It reminds me of CSS which doesn't play nicely with HTML attributes... but I digress).

    I still have to find a way to specify a VGA refresh rate of 60Hz which is not "helpfully" automatically reset all the time, or else I can not turn on my third monitor (with the splitter cable) when I want it, which is offpissing. The following line does not work:

            Option  "PreferredMode"  "1280x1024_60.00"
    

The full code of my 10-monitor.conf file:

Section "Monitor"
    Identifier   "DVI-0"
        Option  "LeftOf" "VGA-0"
EndSection

Section "Monitor"
    Identifier   "VGA-0"
        Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
        Option  "PreferredMode"  "1280x1024_60.00"
        Option  "RightOf" "DVI-0"
        Option  "Position" "1280 0"
EndSection

Section "Screen"
    Identifier "default Screen Section"
    SubSection "Display"
        Virtual   2560 1024
    EndSubSection
EndSection
share|improve this answer
1  
Again, don't use my modeline. –  FLASE Jun 23 '12 at 8:14
1  
Still getting some funny results at times, so I might have to add modes to my screen settings... Any feedback would be nice. Am I just a crazy man talking to himself? –  FLASE Jun 24 '12 at 5:42
    
Excellent info, much appreciated. i.qkme.me/3vcw9c.jpg –  Richard Aug 20 '13 at 3:50

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.