Difference between revisions of "Display Drivers"

From LinuxMCE
Jump to: navigation, search
(updated a bit)
(reorganized a bit)
Line 1: Line 1:
An incomplete HowTo on updating LinuxMCE to the latest display drivers and configuring them manually.   
+
An incomplete HowTo on updating LinuxMCE to the latest display drivers and configuring them manually.  It could use your help, so if something is different in your situation, please add it.
  
 
'''Note that this should normally not be necessary unless you have specific wishes or trouble getting your display to work properly.'''   
 
'''Note that this should normally not be necessary unless you have specific wishes or trouble getting your display to work properly.'''   
  
== ATI Chipsets ==
+
== Installation ==
 +
 
 +
=== ATI Chipsets ===
 +
The two main ways to install the ATI drivers are described in the [http://wiki.cchtml.com/index.php/Ubuntu_Feisty_Installation_Guide Ubuntu Feisty Installation Guide].
  
 
For more information see also the [http://wiki.cchtml.com/index.php/Main_Page Unofficial ATI Linux Driver Wiki] and you might want to have a look at [http://www.mythtv.org/wiki/index.php/AtiProprietaryDriver AtiProprietaryDriver] in the MythTV wiki as well since LinuxMCE depends on it for viewing TV.  MythTV in turn relies heavily on the support of certain features by the graphics drivers.  The ATI drivers turn out to be a bit "challenged" in this area to say the least.
 
For more information see also the [http://wiki.cchtml.com/index.php/Main_Page Unofficial ATI Linux Driver Wiki] and you might want to have a look at [http://www.mythtv.org/wiki/index.php/AtiProprietaryDriver AtiProprietaryDriver] in the MythTV wiki as well since LinuxMCE depends on it for viewing TV.  MythTV in turn relies heavily on the support of certain features by the graphics drivers.  The ATI drivers turn out to be a bit "challenged" in this area to say the least.
  
=== Installation ===
+
=== NVidia Chipsets ===
 +
There are several ways to install NVidia drivers, the way described here is meant as a guide to install the very latest drivers from the NVidia website.  Note that this way will bypass the LinuxMCE (Kubuntu) packaging system, possibly removing and/or overwriting some of it's files.
  
There are several ways to do this, the two main ones are described in the [http://wiki.cchtml.com/index.php/Ubuntu_Feisty_Installation_Guide Ubuntu Feisty Installation Guide].
+
1. Go to a console (text) terminal by holding [CTRL]-[ALT] and pressing the [F1] key simultaneously, log in with the user account you have created during the Kubuntu install and become root, if you haven't done so already.
 +
'''<you>@dcerouter:~$''' sudo -s
 +
2. Download the latest [http://www.nvidia.com/object/unix.html linux drivers from NVidia] (depending [http://www.nvidia.com/object/IO_32667.html on your hardware], one of versions: 100.14.11, 1.0-9639 or 1.0-7185 currently), if you haven't done so already.
 +
'''root@dcerouter:~#''' wget <nowiki>http://us.download.nvidia.com/XFree86/Linux-x86/100.14.11/NVIDIA-Linux-x86-</nowiki>''<version>''<nowiki>-pkg1.run</nowiki>
 +
3. Go to runlevel 1 to stop the currently running X-server.
 +
'''root@dcerouter:~#''' telinit 1
 +
4. Execute the installer and follow instructions.  Ignore the warning about runlevel 1 and don't bother looking for precompiled drivers.
 +
'''root@dcerouter:~#''' sh NVIDIA-Linux-x86-''<version>''-pkg1.run
 +
5. Now it needs to be configured.  The recommended and most convenient way is to use the [[AVWizard]].  For more advanced setup, or if the AVWizard for some reason is unable to set your up your screens to your liking, you can configure the ''X-server'' manually by editing the ''xorg.conf'' file directly.
  
=== Configuration ===
+
=== Other chipsets ===
 +
Please help out by adding more if you can.
  
The recommended and most convenient way is to use the [[AVWizard]].  For more advanced setup, or if the AVWizzard for some reason is unable to set your up your screens to your liking, you could try configuring the ''X-server'' manually by editing the ''xorg.conf'' file directly.
+
== Configuration ==
 +
The recommended and most convenient way is to use the [[AVWizard]].  For more advanced setup, or if the X-server (and thus also the AVWizard) is unable to start, you can configure the ''X-server'' manually by editing the ''xorg.conf'' file directly.
  
You should start by making a backup copy of this file (even if it doesn't work it might contain settings you could need).  In this example we will start from scratch and edit the configuration file step by step to get the main display setup.   
+
=== Getting started ===
 +
Start by making a backup copy of this file (even if it doesn't work it might contain settings you could need).  In this example we will start from scratch and edit the configuration file step by step to get the main display setup.   
  
 
Some of these steps require that there will be no X-server active on the system, the easiest way to achieve this is to boot in ''rescue-mode'', just hit [Esc] when [[Grub]] tells you to during the startup of your machine and select the right line from the menu.  Another way is to go to a text-mode console (aka. terminal) with [CTRL]-[ALT]-[F1], log in, become root and issue the command:
 
Some of these steps require that there will be no X-server active on the system, the easiest way to achieve this is to boot in ''rescue-mode'', just hit [Esc] when [[Grub]] tells you to during the startup of your machine and select the right line from the menu.  Another way is to go to a text-mode console (aka. terminal) with [CTRL]-[ALT]-[F1], log in, become root and issue the command:
Line 22: Line 37:
  
 
One of the advantages is that now you can start and stop the X-server by hand with an alternative configuration file and without having to reboot or even start an entire desktop environment.
 
One of the advantages is that now you can start and stop the X-server by hand with an alternative configuration file and without having to reboot or even start an entire desktop environment.
 +
 +
=== Generating a template ===
 +
These instructions were originally written for ATI chipsets, so they might need to be adjusted and updated a bit.  Not all of the specific options may be relevant for your chipset.
  
 
'''While there is no (other) X-server running''' you can create a template configuration file by running:
 
'''While there is no (other) X-server running''' you can create a template configuration file by running:
 
  X -configure
 
  X -configure
This will create a file called xorg.conf.new in the current directory, test it with the following command and hit [CTRL]-[ALT]-[Backspace] when done:
+
This will create a file called xorg.conf.new in your ''home'' directory, test it with the following command and hit [CTRL]-[ALT]-[Backspace] when done:
  X -config ./xorg.conf.new
+
  X -config ~/xorg.conf.new
Within a few seconds a gray bitpattern should show up with an 'X' shaped mouse cursor.  If the screen is distorted or reports the refresh rate to be out of range you will have to either specify the proper refreshrate limitations for your screen or insert "modelines" for the resolution(s) you want to use (see below).  When you're satisfied you can overwrite /etc/X11/xorg.conf with this file to make it the default, once you have done that you can use "startx" to test and have the use of your desktop as well.
+
Within a few seconds a gray bitpattern should show up with an 'X' shaped mouse cursor.  If the screen is distorted or reports the refresh rate to be out of range then you will either have to specify the proper refreshrate limitations for your screen or insert "modelines" for the resolution(s) you want to use (see below).   
 +
 
 +
When you're satisfied you can overwrite ''/etc/X11/xorg.conf'' with this file to make it the default (you did make a backup didn't you?), once you have done that you can use "startx" to test and have the use of your desktop as well.  This should at least be enough to allow the use of a graphic configuration tool (like the [[AVWizard]] for instance) to set up your display further.  More advanced manual configuration options can be found below.
  
 
Here is an example of such a generated file:
 
Here is an example of such a generated file:
Line 128: Line 148:
 
  EndSection
 
  EndSection
  
Note that the only thing specific to my setup in this config file is "BusID", if you only have one graphics adapter in your system this value can be omitted, otherwise the value(s) can be found with:
+
Note that the only thing really specific to my setup in this config file is ''BusID'', if you only have one graphics adapter in your system this value can be omitted, otherwise the value(s) can be found with:
 
  X -scanpci
 
  X -scanpci
 
Where each card will need it's own Device Section in the config file.  The "VendorName" and "BoardName" settings are just labels and serve no real purpose other then being able to identify this particular device, which is usefull if you have more then one.
 
Where each card will need it's own Device Section in the config file.  The "VendorName" and "BoardName" settings are just labels and serve no real purpose other then being able to identify this particular device, which is usefull if you have more then one.
Line 134: Line 154:
 
We'll be using this sample configuration as a starting point in the other examples below, the comments (lines starting with ''#'' can be safely removed as well as the ''"Display"'' subsections for the colordepths we don't plan on using.
 
We'll be using this sample configuration as a starting point in the other examples below, the comments (lines starting with ''#'' can be safely removed as well as the ''"Display"'' subsections for the colordepths we don't plan on using.
  
==== Refresh rate ====
+
=== Refresh rate / ModeLine ===
 
+
 
The easiest way to sort this problem is to let the X-server figure this out by not specifying the limits of your screen.  However this often fails, leaving you with an unusable display.  Simply look up '''your screen''''s refresh rates in the documentation and add them like this:
 
The easiest way to sort this problem is to let the X-server figure this out by not specifying the limits of your screen.  However this often fails, leaving you with an unusable display.  Simply look up '''your screen''''s refresh rates in the documentation and add them like this:
  
Line 157: Line 176:
 
Using the wrong timings could in some (nowadays rare) occasions damage the hardware of your screen, so if it looks garbeled don't leave it like that for hours on end but hit [Ctrl]-[Alt]-[&larr;Backspace] and readjust your settings.  Most modern screens however simply report that the signal is out of range if this happens.
 
Using the wrong timings could in some (nowadays rare) occasions damage the hardware of your screen, so if it looks garbeled don't leave it like that for hours on end but hit [Ctrl]-[Alt]-[&larr;Backspace] and readjust your settings.  Most modern screens however simply report that the signal is out of range if this happens.
  
==== Colordepth and resolution ====
+
=== Colordepth and resolution ===
 
+
 
Specify the colordepth and resolution(s) you would like to use, like this:
 
Specify the colordepth and resolution(s) you would like to use, like this:
  
Line 176: Line 194:
 
As most people will only be using 24 bits anyway, I have removed the other redundant subsections.  "Virtual" is the size of your desktop and "Modes" are physical resolutions, you can flip through these by holding [CTRL]-[ALT] and pressing the plus or minus on the numeric keypad.  These are just examples, most people will only want to specify the resolution they actually use.
 
As most people will only be using 24 bits anyway, I have removed the other redundant subsections.  "Virtual" is the size of your desktop and "Modes" are physical resolutions, you can flip through these by holding [CTRL]-[ALT] and pressing the plus or minus on the numeric keypad.  These are just examples, most people will only want to specify the resolution they actually use.
  
==== DRI device permissions ====
+
=== DRI device permissions ===
 
+
This section is needed to have the X-server set the proper permissions on the DRI device during startup.  Simply add it to the end of the /etx/X11.xorg file if it isn't there already.
Aparently this section is needed to have the X-server set the proper permissions on the DRI device during startup.  Simply add it to the end of the /etx/X11.xorg file if it isn't there already.
+
  
 
  Section "DRI"
 
  Section "DRI"
Line 184: Line 201:
 
  EndSection
 
  EndSection
  
==== Disable composite ====
+
=== Chipset driver ===
 
+
Change "'''vesa'''" to "'''fglrx'''" (or "'''ati'''", depending on which drivers you installed earlier), as shown below, the old line is left as a comment in this example for clarity, but it's better to remove it as some scripts seem to find it confusing.  For Nvidia chipsets use '''nvidia''' or '''nv''' as the driver names (instead of '''fglrx''').
Aparently the fglrx driver does not yet support composite with DRI.  So if you are using the fglrx driver, disable it by adding this to the end of the /etx/X11.xorg file if it isn't there already.
+
 
+
Section "Extensions"
+
        Option      "Composite" "Disable"
+
EndSection
+
 
+
==== Changing the driver ====
+
 
+
Change "'''''vesa'''''" to "'''''fglrx'''''" (or even "'''''ati'''''", depending on which drivers you installed earlier), as shown below, the old line is left as a comment in this example for clarity, but it's better to remove it as some scripts seem to find it confusing.
+
  
 
  Section "Device"
 
  Section "Device"
Line 207: Line 215:
 
If your X-server was running you will have to restart it completely for the changes to take effect, the easiest and most thorough way to do this is to reboot.
 
If your X-server was running you will have to restart it completely for the changes to take effect, the easiest and most thorough way to do this is to reboot.
  
==== Physical display size ====
+
=== Physical display size ===
 
+
Like specifying the refresh rate his is optional but sometimes necessary, most of the time it is either detected or some sane defaults are used but sometimes it isn't, which can result in unreadable font sizes.
This is optional, most of the time it is either detected or some sane defaults are used, but sometimes not which can result in unreadable font sizes.
+
  
 
  Section "Monitor"
 
  Section "Monitor"
Line 216: Line 223:
 
  EndSection
 
  EndSection
  
Where you have to replace the numbers with the physical '''height''' and '''width''' of your screen in millimeters (1" = 25mm), feel free to try mine, however these are for a small touchscreen.
+
Where you have to replace the numbers with the physical '''width''' and '''height''' of your screen in millimeters (1" = 25mm), feel free to try mine, however these are for a small touchscreen.
  
==== Additional options ====
+
=== Disable composite ===
 +
Aparently the ATI '''fglrx''' driver does not ''yet'' support composite with DRI.  So if you are using the fglrx driver, disable it by adding this to the end of the /etx/X11.xorg file if it isn't there already.
 +
 
 +
Section "Extensions"
 +
        Option      "Composite" "Disable"
 +
EndSection
  
To be continued, I don't think this is enough to get UI2 (medium/masking) going yet.  Feel free to jump in anytime...  
+
=== Additional options ===
 +
To be continued, I don't think this is enough to get UI2 completely (either mode) going yet.  Feel free to jump in anytime...  
  
  
Line 255: Line 268:
 
TV-out options, 2nd display, etc.
 
TV-out options, 2nd display, etc.
  
== NVidia Chipsets ==
 
 
There are several ways to install NVidia drivers, the way described here is meant as a guide to install the very latest drivers from the NVidia website.  Note that this way will bypass the LinuxMCE (Kubuntu) packaging system, possibly removing and/or overwriting some of it's files.
 
 
=== Installation ===
 
 
1. Go to a console (text) terminal by holding [CTRL]-[ALT] and pressing the [F1] key simultaneously, log in with the user account you have created during the Kubuntu install and become root, if you haven't done so already.
 
'''<you>@dcerouter:~$''' sudo -s
 
2. Download the latest [http://www.nvidia.com/object/unix.html linux drivers from NVidia] (depending [http://www.nvidia.com/object/IO_32667.html on your hardware], one of versions: 100.14.11, 1.0-9639 or 1.0-7185 currently), if you haven't done so already.
 
'''root@dcerouter:~#''' wget <nowiki>http://us.download.nvidia.com/XFree86/Linux-x86/100.14.11/NVIDIA-Linux-x86-</nowiki>''<version>''<nowiki>-pkg1.run</nowiki>
 
3. Go to runlevel 1 to stop the currently running X-server.
 
'''root@dcerouter:~#''' telinit 1
 
4. Execute the installer and follow instructions.  Ignore the warning about runlevel 1 and don't bother looking for precompiled drivers.
 
'''root@dcerouter:~#''' sh NVIDIA-Linux-x86-''<version>''-pkg1.run
 
5. Now it needs to be configured.  The recommended and most convenient way is to use the [[AVWizard]].  For more advanced setup, or if the AVWizard for some reason is unable to set your up your screens to your liking, you can configure the ''X-server'' manually by editing the ''xorg.conf'' file directly.
 
 
=== Configuration ===
 
 
To be continued, see ATI chipsets for now, it's very similar and both instructions might be joined into more general instructions eventually.  Use '''nvidia''' or '''nv''' as the driver names (instead of '''fglrx/ati''') and not all of the specific options are probably relevant.
 
  
 
== Troubleshooting ==
 
== Troubleshooting ==
  
=== X-windows won't start anymore at all ===
+
=== X-windows won't start ===
  
 
Reboot into rescue-mode if needed (hit [Esc] when [[Grub]] tells you to), and restore a working copy of your /etc/X11/xorg.conf, or edit it by hand to fix the problem. Test it with the command "X" and press [Ctrl]-[Alt]-[&larr;Backspace] simultaneous to quit (alternative: use "startx" and get the full desktop, if any), then reboot when it works and you're done.
 
Reboot into rescue-mode if needed (hit [Esc] when [[Grub]] tells you to), and restore a working copy of your /etc/X11/xorg.conf, or edit it by hand to fix the problem. Test it with the command "X" and press [Ctrl]-[Alt]-[&larr;Backspace] simultaneous to quit (alternative: use "startx" and get the full desktop, if any), then reboot when it works and you're done.
Line 290: Line 284:
  
 
== See also ==
 
== See also ==
* [[X_Configuration_Scripts]]
 
 
* [http://www.mythtv.org/wiki/index.php/Main_Page MythTV wiki]  
 
* [http://www.mythtv.org/wiki/index.php/Main_Page MythTV wiki]  
 
* MythTV Experience [http://brentlagesse.net/~brent/mythtv.php]
 
* MythTV Experience [http://brentlagesse.net/~brent/mythtv.php]
 +
* [[X_Configuration_Scripts]]
  
  
 
[[Category: Tutorials]]
 
[[Category: Tutorials]]
 
[[Category: Hardware]]
 
[[Category: Hardware]]

Revision as of 01:03, 9 August 2007

An incomplete HowTo on updating LinuxMCE to the latest display drivers and configuring them manually. It could use your help, so if something is different in your situation, please add it.

Note that this should normally not be necessary unless you have specific wishes or trouble getting your display to work properly.

Installation

ATI Chipsets

The two main ways to install the ATI drivers are described in the Ubuntu Feisty Installation Guide.

For more information see also the Unofficial ATI Linux Driver Wiki and you might want to have a look at AtiProprietaryDriver in the MythTV wiki as well since LinuxMCE depends on it for viewing TV. MythTV in turn relies heavily on the support of certain features by the graphics drivers. The ATI drivers turn out to be a bit "challenged" in this area to say the least.

NVidia Chipsets

There are several ways to install NVidia drivers, the way described here is meant as a guide to install the very latest drivers from the NVidia website. Note that this way will bypass the LinuxMCE (Kubuntu) packaging system, possibly removing and/or overwriting some of it's files.

1. Go to a console (text) terminal by holding [CTRL]-[ALT] and pressing the [F1] key simultaneously, log in with the user account you have created during the Kubuntu install and become root, if you haven't done so already.

<you>@dcerouter:~$ sudo -s

2. Download the latest linux drivers from NVidia (depending on your hardware, one of versions: 100.14.11, 1.0-9639 or 1.0-7185 currently), if you haven't done so already.

root@dcerouter:~# wget http://us.download.nvidia.com/XFree86/Linux-x86/100.14.11/NVIDIA-Linux-x86-<version>-pkg1.run

3. Go to runlevel 1 to stop the currently running X-server.

root@dcerouter:~# telinit 1

4. Execute the installer and follow instructions. Ignore the warning about runlevel 1 and don't bother looking for precompiled drivers.

root@dcerouter:~# sh NVIDIA-Linux-x86-<version>-pkg1.run

5. Now it needs to be configured. The recommended and most convenient way is to use the AVWizard. For more advanced setup, or if the AVWizard for some reason is unable to set your up your screens to your liking, you can configure the X-server manually by editing the xorg.conf file directly.

Other chipsets

Please help out by adding more if you can.

Configuration

The recommended and most convenient way is to use the AVWizard. For more advanced setup, or if the X-server (and thus also the AVWizard) is unable to start, you can configure the X-server manually by editing the xorg.conf file directly.

Getting started

Start by making a backup copy of this file (even if it doesn't work it might contain settings you could need). In this example we will start from scratch and edit the configuration file step by step to get the main display setup.

Some of these steps require that there will be no X-server active on the system, the easiest way to achieve this is to boot in rescue-mode, just hit [Esc] when Grub tells you to during the startup of your machine and select the right line from the menu. Another way is to go to a text-mode console (aka. terminal) with [CTRL]-[ALT]-[F1], log in, become root and issue the command:

telinit 1

This wil stop the running X-server and drop you into rescue mode as well.

One of the advantages is that now you can start and stop the X-server by hand with an alternative configuration file and without having to reboot or even start an entire desktop environment.

Generating a template

These instructions were originally written for ATI chipsets, so they might need to be adjusted and updated a bit. Not all of the specific options may be relevant for your chipset.

While there is no (other) X-server running you can create a template configuration file by running:

X -configure

This will create a file called xorg.conf.new in your home directory, test it with the following command and hit [CTRL]-[ALT]-[Backspace] when done:

X -config ~/xorg.conf.new

Within a few seconds a gray bitpattern should show up with an 'X' shaped mouse cursor. If the screen is distorted or reports the refresh rate to be out of range then you will either have to specify the proper refreshrate limitations for your screen or insert "modelines" for the resolution(s) you want to use (see below).

When you're satisfied you can overwrite /etc/X11/xorg.conf with this file to make it the default (you did make a backup didn't you?), once you have done that you can use "startx" to test and have the use of your desktop as well. This should at least be enough to allow the use of a graphic configuration tool (like the AVWizard for instance) to set up your display further. More advanced manual configuration options can be found below.

Here is an example of such a generated file:

Section "ServerLayout"
       Identifier     "X.org Configured"
       Screen      0  "Screen0" 0 0
       InputDevice    "Mouse0" "CorePointer"
       InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
       RgbPath      "/etc/X11/rgb"
       ModulePath   "/usr/lib/xorg/modules"
       FontPath     "/usr/share/fonts/X11/misc"
       FontPath     "/usr/X11R6/lib/X11/fonts/misc"
       FontPath     "/usr/share/fonts/X11/cyrillic"
       FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
       FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
       FontPath     "/usr/share/fonts/X11/Type1"
       FontPath     "/usr/X11R6/lib/X11/fonts/Type1"
       FontPath     "/usr/share/fonts/X11/100dpi"
       FontPath     "/usr/share/fonts/X11/75dpi"
       FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
       Load  "extmod"
       Load  "record"
       Load  "xtrap"
       Load  "dri"
       Load  "glx"
       Load  "dbe"
       Load  "GLcore"
       Load  "type1"
EndSection

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

Section "InputDevice"
       Identifier  "Mouse0"
       Driver      "mouse"
       Option      "Protocol" "auto"
       Option      "Device" "/dev/input/mice"
       Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
       Identifier   "Monitor0"
       VendorName   "Monitor Vendor"
       ModelName    "Monitor Model"
EndSection

Section "Device"
       ### Available Driver options are:-
       ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
       ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
       ### [arg]: arg optional
       #Option     "ShadowFB"                  # [<bool>]
       #Option     "DefaultRefresh"            # [<bool>]
       #Option     "ModeSetClearScreen"        # [<bool>]
       Identifier  "Card0"
       Driver      "vesa"
       VendorName  "ATI Technologies Inc"
       BoardName   "ATI Radeon Xpress 1200 Series"
       BusID       "PCI:1:5:0"
EndSection

Section "Screen"
       Identifier "Screen0"
       Device     "Card0"
       Monitor    "Monitor0"
       SubSection "Display"
               Viewport   0 0
               Depth     1
       EndSubSection
       SubSection "Display"
               Viewport   0 0
               Depth     4
       EndSubSection
       SubSection "Display"
               Viewport   0 0
               Depth     8
       EndSubSection
       SubSection "Display"
               Viewport   0 0
               Depth     15
       EndSubSection
       SubSection "Display"
               Viewport   0 0
               Depth     16
       EndSubSection
       SubSection "Display"
               Viewport   0 0
               Depth     24
       EndSubSection
EndSection

Note that the only thing really specific to my setup in this config file is BusID, if you only have one graphics adapter in your system this value can be omitted, otherwise the value(s) can be found with:

X -scanpci

Where each card will need it's own Device Section in the config file. The "VendorName" and "BoardName" settings are just labels and serve no real purpose other then being able to identify this particular device, which is usefull if you have more then one.

We'll be using this sample configuration as a starting point in the other examples below, the comments (lines starting with # can be safely removed as well as the "Display" subsections for the colordepths we don't plan on using.

Refresh rate / ModeLine

The easiest way to sort this problem is to let the X-server figure this out by not specifying the limits of your screen. However this often fails, leaving you with an unusable display. Simply look up your screen's refresh rates in the documentation and add them like this:

Section "Monitor"
       Identifier   "Monitor0"
       VendorName   "Monitor Vendor"
       ModelName    "Monitor Model"
       HorizSync     27-102 # kHz
       VertRefresh   50-160 # Hz
EndSection

Alternatively you could specify a "ModeLine" for each resolution you want to use. By using ModeLines you have much finer controll over the timings of the output signal generated by your videocard. The drawback is that the timing values can be hard to get right.

Search the web for a "modeline generator", and many of these will include instructions on how to add the modeline, but briefly, you just add it to the "Monitor" section. Read the wikipedia entry to learn how to use modelines.

If one modeline doesn't work perfectly, try another, perhaps from another generator, because they can vary so much.

Using the wrong timings could in some (nowadays rare) occasions damage the hardware of your screen, so if it looks garbeled don't leave it like that for hours on end but hit [Ctrl]-[Alt]-[←Backspace] and readjust your settings. Most modern screens however simply report that the signal is out of range if this happens.

Colordepth and resolution

Specify the colordepth and resolution(s) you would like to use, like this:

Section "Screen"
       Identifier   "Screen0"
       Device       "Card0"
       Monitor      "Monitor0"
       DefaultDepth 24
       SubSection "Display"
               Viewport   0 0
               Depth      24
               Virtual    1600 1200
               Modes      "1600x1200" "1280x1024" "1024x768" "800x600" "640x480" "512x384" "400x300" "320x240"
       EndSubSection
EndSection

As most people will only be using 24 bits anyway, I have removed the other redundant subsections. "Virtual" is the size of your desktop and "Modes" are physical resolutions, you can flip through these by holding [CTRL]-[ALT] and pressing the plus or minus on the numeric keypad. These are just examples, most people will only want to specify the resolution they actually use.

DRI device permissions

This section is needed to have the X-server set the proper permissions on the DRI device during startup. Simply add it to the end of the /etx/X11.xorg file if it isn't there already.

Section "DRI"
       Mode         0666
EndSection

Chipset driver

Change "vesa" to "fglrx" (or "ati", depending on which drivers you installed earlier), as shown below, the old line is left as a comment in this example for clarity, but it's better to remove it as some scripts seem to find it confusing. For Nvidia chipsets use nvidia or nv as the driver names (instead of fglrx).

Section "Device"
       Identifier  "Card0"
#      Driver      "vesa"
       Driver      "fglrx"
       VendorName  "ATI Technologies Inc"
       BoardName   "ATI Radeon Xpress 1200 Series"
       BusID       "PCI:1:5:0"
EndSection

If your X-server was running you will have to restart it completely for the changes to take effect, the easiest and most thorough way to do this is to reboot.

Physical display size

Like specifying the refresh rate his is optional but sometimes necessary, most of the time it is either detected or some sane defaults are used but sometimes it isn't, which can result in unreadable font sizes.

Section "Monitor"
  ...
  DisplaySize 155 95
EndSection

Where you have to replace the numbers with the physical width and height of your screen in millimeters (1" = 25mm), feel free to try mine, however these are for a small touchscreen.

Disable composite

Aparently the ATI fglrx driver does not yet support composite with DRI. So if you are using the fglrx driver, disable it by adding this to the end of the /etx/X11.xorg file if it isn't there already.

Section "Extensions"
       Option      "Composite" "Disable"
EndSection

Additional options

To be continued, I don't think this is enough to get UI2 completely (either mode) going yet. Feel free to jump in anytime...


Things still to sort out amongst others (i.e. what is it, do we need it and what are the settings if any):

Section "Module"
       Load  "i2c"
       Load  "bitmap"
       Load  "ddc"
       Load  "freetype"
       Load  "int10"
       Load  "vbe"
       Load  "speedo"
       Load  "type1"
       Load  "dbe"
       Load  "glx"
       Load  "v4l"
EndSection
Section "ServerFlags"
       Option "AIXGL" "off"
EndSection
Section "Extensions"
       Option      "Composite" "Disable"
#      Option      "RENDER" "true"
EndSection
       Option      "PseudoColorVisuals" "off"
       Option      "OpenGLOverlay" "off"
       Option      "VideoOverlay" "off"
       Option      "DesktopSetup" "clone"

TV-out options, 2nd display, etc.


Troubleshooting

X-windows won't start

Reboot into rescue-mode if needed (hit [Esc] when Grub tells you to), and restore a working copy of your /etc/X11/xorg.conf, or edit it by hand to fix the problem. Test it with the command "X" and press [Ctrl]-[Alt]-[←Backspace] simultaneous to quit (alternative: use "startx" and get the full desktop, if any), then reboot when it works and you're done.

Signal out of range

See Refresh rate above.

Microscopic fonts in KDE

See Physical display size above.

See also