# xorg.conf# for use with a ThinkPad T41p# excessively commented by Nish Aravamudan <nacc@us.ibm.com> 1/14/06# this section is important for you font nazis :)# I found the unscaled fonts to be a little nicer, but it's up to you# In Ubuntu (Breezy and later, at least), take a look at# System->Preferences->Fonts (I use Subpixel Smoothing, Full Hinting and# BGR Order# If you install more X fonts, make sure to add their path to this# sectionSection "Files" FontPath "/usr/share/X11/fonts/100dpi/:unscaled" FontPath "/usr/share/X11/fonts/75dpi/:unscaled" FontPath "/usr/share/X11/fonts/100dpi" FontPath "/usr/share/X11/fonts/75dpi" FontPath "/usr/share/X11/fonts/misc" FontPath "/usr/share/X11/fonts/Type1" # paths to defoma fonts FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"EndSection# Noticeable missing module: GLcore# I don't use the binary drivers, so no OpenGL...# Note: You will see complaints in /var/log/Xorg.0.log about no Direct# rendering support in current X.org for Breezy. Not sure if/when it# will be addedSection "Module" Load "bitmap" Load "dbe" # ddc allows for communication with monitors to figure out their # modes Load "ddc" # the aforementioned direct rendering module Load "dri" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "record" # necessary for the synaptics touchpad Load "synaptics" Load "type1" Load "vbe"EndSectionSection "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbModel" "pc105" Option "XkbLayout" "us" # I hate the caps lock key :) Option "XkbOptions" "nocaps"EndSection# For the ThinkNubSection "InputDevice" Identifier "ThinkPoint" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5"EndSection# For the external USB optical mouse some of us haveSection "InputDevice" Identifier "IBM Optical" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5"EndSection# You would need another section here for the Synaptics touchpad, but I# have it disabled in the BIOS# This the internal LCDSection "Monitor" Identifier "LCD" HorizSync 28.0 - 96.0 VertRefresh 50.0 - 75.0 Option "dpms"EndSection# This is the big 22" IBM monitor several of us haveSection "Monitor" Identifier "L200p" HorizSync 31.5 - 92.0 VertRefresh 56.0 - 85.0 # DPMS is for power-saving in the monitor Option "dpms"EndSection# So, the way I implemented two screens is *not* MergedFB# Instead, I take advantage of the dual-headedness of the screens and# create two Devices and a Screen on eachSection "Device" Identifier "Primary ATI FireGL Mobility T2" Driver "radeon" BusID "PCI:1:0:0" # Explicitly setting the AGP stuff provides better performance, # as Xorg is conservative otherwise #Option "AGPMode" "4" # Option "AGPFastWrite" "on" # Notice the differing layouts of this option between the # Primary and Secondary, this is what sets up the dual-headed, I # think Option "MonitorLayout" "LVDS, TMDS" # Checkout the man-page for xorg to see the details, but this # indicates which head this is Screen 0EndSectionSection "Device" Identifier "Secondary ATI FireGL Mobility T2" Driver "radeon" BusID "PCI:1:0:0" # Explicitly setting the AGP stuff provides better performance, # as Xorg is conservative otherwise #Option "AGPMode" "4" # Option "AGPFastWrite" "on" # Notice the differing layouts of this option between the # Primary and Secondary, this is what sets up the dual-headed, I # think Option "MonitorLayout" "TMDS,LVDS" # Checkout the man-page for xorg to see the details, but this # indicates which head this is Screen 1EndSection# Here are the various screens, notice the LCD always uses (and is the# only user of) the Primary device. The secondary displays (CRT and# projectors) use the ... Secondary deviceSection "Screen" Identifier "LCD" Device "Primary ATI FireGL Mobility T2" Monitor "LCD" DefaultDepth 24 # Many people provide all the depth modes # I don't -- I only use 24 and only show 24 SubSection "Display" Depth 24 Modes "1400x1050" "1280x1024" "1024x768" "800x600" EndSubSectionEndSectionSection "Screen" Identifier "CRT" Device "Secondary ATI FireGL Mobility T2" Monitor "L200p" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1600x1200" "1400x1050" "1280x1024" "1024x768" "800x600" EndSubSectionEndSection# With Xinerama off, you get two completely separate displays, except# that the mouse moves between them. The secondary will use whatever the# defaults are in your desktop manager and the LCD will look like it's# supposed to... I would recommend this for using the projectorSection "ServerLayout" Identifier "Separate" Screen 0 "LCD" 0 0 Screen 1 "CRT" LeftOf "LCD" InputDevice "ThinkPoint" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "IBM Optical" "AlwaysCore" Option "Xinerama" "false" Option "DefaultServerLayout" "true"EndSection# With Xinerama on, the background gets stretched across both screens,# windows can be used back and forth, etc.Section "ServerLayout" Identifier "Xinerama" Screen 0 "LCD" 0 0 Screen 1 "CRT" LeftOf "LCD" InputDevice "ThinkPoint" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "IBM Optical" "AlwaysCore" Option "Xinerama" "true" EndSection# Not that it really matters, DRI stuffSection "DRI" Group 0 Mode 0666EndSection# You also will need to make a change to /etc/gdm/gdm.conf to get things# working... (as yet untested)# Basically, gdm needs to be able to spawn Layouts of servers that are# not the default.# You can do this by adding multiple server lines in gdm.conf# Specifically, one can do the following:# ...# 0=Standard# 1=Xinerama# ...# [server-Standard]# name=Standard server# command=/usr/X11R6/bin/X -br -audit 0 -layout Separate# flexible=true## [server-Xinerama]# name=Xinerama server# command=/usr/X11R6/bin/X -br -audit 0 -layout Xinerama# flexible=true# ...# This set of commands tells gdm that starting at vt7 (based on the# FirstVT and VTAllocation variables in gdm.conf), we want a Standard# server and Xinerama server to be started (the first on vt7, the second# on vt8). The server definitions follow later in the same file. The# eonly difference between the two commands being run are which layout# to start in (Separate and Xinerama being ServerLayout Identifiers from# xorg.conf above).