# File modified by JosephOswald@gmail.com in attempt to support Dell 2007FP # look for "JAO" to see my annotations and notes # # Revision: 7 August 2006 15:23 # # http://voltaire.nfshost.com/transfer/xorg.conf # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # Joseph Oswald BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF # OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. # # # JAO: General description: # # Most of this is semi-default; i.e., whatever xorgconfig spewed out before # I got serious and hand-crafted the monitor information. # The stuff in sections labelled "Module", "Files", "ServerFlags", # "InputDevice", and "DRI", and any missing sections, is of unknown quality. # Some of it causes warnings to be logged on my Slackware box in # /var/log/Xorg.0.log # # The "Device", "Monitor", "Screen", and "ServerLayout" was edited to # support (reasonably well) a single Dell 2007FP Flat Panel monitor, driven # by a "nv"-compatible graphics card. If you have a different graphics card, # you might try substituting your own "Device" section. # # Otherwise, I hope this helps. # # Copyright 2004 The X.Org Foundation # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # The X.Org Foundation BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF # OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. # # Except as contained in this notice, the name of The X.Org Foundation shall # not be used in advertising or otherwise to promote the sale, use or other # dealings in this Software without prior written authorization from # The X.Org Foundation. # # ********************************************************************** # Refer to the xorg.conf(5x) man page for details about the format of # this file. # ********************************************************************** # ********************************************************************** # Module section -- this section is used to specify # which dynamically loadable modules to load. # ********************************************************************** # Section "Module" # This loads the DBE extension module. Load "dbe" # Double buffer extension # This loads the miscellaneous extensions module, and disables # initialisation of the XFree86-DGA extension within that module. SubSection "extmod" Option "omit xfree86-dga" # don't initialise the DGA extension EndSubSection # This loads the font modules Load "type1" # Load "speedo" Load "freetype" # Load "xtt" # This loads the GLX module Load "glx" # This loads the DRI module # Load "dri" EndSection # ********************************************************************** # Files section. This allows default font and rgb paths to be set # ********************************************************************** Section "Files" # The location of the RGB database. Note, this is the name of the # file minus the extension (like ".txt" or ".db"). There is normally # no need to change the default. RgbPath "/usr/X11R6/lib/X11/rgb" # Multiple FontPath entries are allowed (which are concatenated together), # as well as specifying multiple comma-separated entries in one FontPath # command (or a combination of both methods) # # FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/TTF/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/CID/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" FontPath "/usr/X11R6/lib/X11/fonts/local/" FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/" # The module search path. The default path is shown here. # ModulePath "/usr/X11R6/lib/modules" EndSection # ********************************************************************** # Server flags section. # ********************************************************************** Section "ServerFlags" # Uncomment this to cause a core dump at the spot where a signal is # received. This may leave the console in an unusable state, but may # provide a better stack trace in the core dump to aid in debugging # Option "NoTrapSignals" # Uncomment this to disable the VT switch sequence # (where n is 1 through 12). This allows clients to receive these key # events. # Option "DontVTSwitch" # Uncomment this to disable the server abort sequence # This allows clients to receive this key event. # Option "DontZap" # Uncomment this to disable the / mode switching # sequences. This allows clients to receive these key events. # Option "Dont Zoom" # Uncomment this to disable tuning with the xvidtune client. With # it the client can still run and fetch card and monitor attributes, # but it will not be allowed to change them. If it tries it will # receive a protocol error. # Option "DisableVidModeExtension" # Uncomment this to enable the use of a non-local xvidtune client. # Option "AllowNonLocalXvidtune" # Uncomment this to disable dynamically modifying the input device # (mouse and keyboard) settings. # Option "DisableModInDev" # Uncomment this to enable the use of a non-local client to # change the keyboard or mouse settings (currently only xset). # Option "AllowNonLocalModInDev" EndSection # ********************************************************************** # Input devices # ********************************************************************** # ********************************************************************** # Core keyboard's InputDevice section # ********************************************************************** Section "InputDevice" Identifier "Keyboard1" Driver "kbd" # For most OSs the protocol can be omitted (it defaults to "Standard"). # When using XQUEUE (only for SVR3 and SVR4, but not Solaris), # uncomment the following line. # Option "Protocol" "Xqueue" Option "AutoRepeat" "500 30" # Specify which keyboard LEDs can be user-controlled (eg, with xset(1)) # Option "Xleds" "1 2 3" # Option "LeftAlt" "Meta" # Option "RightAlt" "ModeShift" # To customise the XKB settings to suit your keyboard, modify the # lines below (which are the defaults). For example, for a non-U.S. # keyboard, you will probably want to use: # Option "XkbModel" "pc102" # If you have a US Microsoft Natural keyboard, you can use: # Option "XkbModel" "microsoft" # # Then to change the language, change the Layout setting. # For example, a german layout can be obtained with: # Option "XkbLayout" "de" # or: # Option "XkbLayout" "de" # Option "XkbVariant" "nodeadkeys" # # If you'd like to switch the positions of your capslock and # control keys, use: # Option "XkbOptions" "ctrl:swapcaps" # These are the default XKB settings for Xorg # Option "XkbRules" "xorg" # Option "XkbModel" "pc101" # Option "XkbLayout" "us" # Option "XkbVariant" "" # Option "XkbOptions" "" # Option "XkbDisable" Option "XkbRules" "xorg" Option "XkbModel" "dell" Option "XkbLayout" "us" EndSection # ********************************************************************** # Core Pointer's InputDevice section # ********************************************************************** Section "InputDevice" # Identifier and driver Identifier "Mouse1" Driver "mouse" Option "Protocol" "Auto" Option "Device" "/dev/mouse" # Mouse-speed setting for PS/2 mouse. # Option "Resolution" "256" # When using XQUEUE, comment out the above two lines, and uncomment # the following line. # Option "Protocol" "Xqueue" # Baudrate and SampleRate are only for some Logitech mice. In # almost every case these lines should be omitted. # Option "BaudRate" "9600" # Option "SampleRate" "150" # Emulate3Buttons is an option for 2-button Microsoft mice # Emulate3Timeout is the timeout in milliseconds (default is 50ms) # Option "Emulate3Buttons" # Option "Emulate3Timeout" "50" # ChordMiddle is an option for some 3-button Logitech mice # Option "ChordMiddle" EndSection # ********************************************************************** # Other input device sections # this is optional and is required only if you # are using extended input devices. This is for example only. Refer # to the xorg.conf man page for a description of the options. # ********************************************************************** # # Section "InputDevice" # Identifier "Mouse2" # Driver "mouse" # Option "Protocol" "MouseMan" # Option "Device" "/dev/mouse2" # EndSection # # Section "InputDevice" # Identifier "spaceball" # Driver "magellan" # Option "Device" "/dev/cua0" # EndSection # # Section "InputDevice" # Identifier "spaceball2" # Driver "spaceorb" # Option "Device" "/dev/cua0" # EndSection # # Section "InputDevice" # Identifier "touchscreen0" # Driver "microtouch" # Option "Device" "/dev/ttyS0" # Option "MinX" "1412" # Option "MaxX" "15184" # Option "MinY" "15372" # Option "MaxY" "1230" # Option "ScreenNumber" "0" # Option "ReportingMode" "Scaled" # Option "ButtonNumber" "1" # Option "SendCoreEvents" # EndSection # # Section "InputDevice" # Identifier "touchscreen1" # Driver "elo2300" # Option "Device" "/dev/ttyS0" # Option "MinX" "231" # Option "MaxX" "3868" # Option "MinY" "3858" # Option "MaxY" "272" # Option "ScreenNumber" "0" # Option "ReportingMode" "Scaled" # Option "ButtonThreshold" "17" # Option "ButtonNumber" "1" # Option "SendCoreEvents" # EndSection # ********************************************************************** # Monitor section # ********************************************************************* # Any number of monitor sections may be present # # JAO: The Monitor section is used to describe the sync frequencies # supported by a monitor # In the case of the Dell 2007FP, the information from # http://support.dell.com/support/edocs/monitors/2007FP/en/about.htm#Specifiications # indicates the following for the optimal resolution, VESA 1600x1200 # 75.0 kHz Horizontal frequency, 60.0 Vertical frequency, 162.0 MHz pixel clock # +/+ sync polarity for horizontal and vertical # # JAO: this section is an attempt to describe the other monitor modes # for the 2007FP # # http://support.dell.com/support/edocs/monitors/2007FP/en/about.htm#Specifiications # # indicates the following # Horizontal scan range 30 kHz--81 kHz automatic # Vertical scan range 56 Hz--76 Hz (exception 1600x1200 at 60 Hz only) # That exception explains the previous entry # # MODE Horiz freq (kHz) Vert Freq (Hz) Pixel Clock (MHz) H/V sync # polarity # # VGA, 720x400 31.5 70.1 28.3 -/+ # VGA, 640x480 31.5 59.9 25.2 -/- # VESA, 640x480 37.5 75.0 31.5 -/- # VESA, 800x600 37.9 60.3 40.0 +/+ # VESA, 800x600 46.9 75.0 49.5 +/+ # VESA, 1024x768 48.4 60.0 65.0 -/- # VESA, 1024x768 60.0 75.0 78.8 +/+ # VESA, 1152x864 67.5 75.0 108.0 +/+ # VESA, 1280x1024 64.0 60.0 108.0 +/+ # VESA, 1280x1024 80.0 75.0 135.0 +/+ # VESA, 1600x1200 75.0 60.0 162.0 +/+ # # The Identifier for this section will be used later in the "Screen" section # # Section "Monitor" Identifier "Dell 2007FP" # HorizSync is in kHz unless units are specified. # HorizSync may be a comma separated list of discrete values, or a # comma separated list of ranges of values. # NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S # USER MANUAL FOR THE CORRECT NUMBERS. # JAO: these "magic" values were mostly found from # http://webcvs.freedesktop.org/system-tools-backends/system-tools-backends/x.pl.in?revision=1.49 # the strings will show up later in the "Screen" "Modes" lines # the numbers after the string are # Pixel Clock in MHz # "Hdisp" i.e. the horizontal resolution # "Hsyncstart", "Hsyncend", "Htotal" which might be defined in some # VESA standard somewhere, but seem to # define the horizontal timing in pixel # clocks # One key equality is "PixelClock" / "Htotal" = Horizontal sync frequency # I.e. a horizontal sync interval equals "Htotal" pixel clocks in duration # # "Vdisp" i.e. the vertical resolution in pixels # "Vsyncstart", "Vsyncend", and "Vtotal" which define the vertical timing # One key equality is Horizontal Sync Freq / Vtotal = Vertical refresh rate # I.e. a vertical refresh interval lasts for "Vtotal" horizontal sync # intervals. # # +or-hsync and +or-vsync refer to the polarity of the respective sync # pulses. # # For the first example, 25.2 MHz pixel clock, 640 horizontal visible pixels # 656 & 752 are "magic" describing the horizontal sync information, and # 25.2 MHz / 800 pixel clocks = 31.5 kHz horizontal sync rate # 480 is the vertical visible line count, # 490 & 492 are "magic" describing the vertical sync information, and # 31.5 kHz / 525 horizontal sync intervals = 60 Hz vertical refresh. # The Hsync and Vsync are both negative polarity. # # 640x480@59.9 hsync: 31.5 ModeLine "640x480@60" 25.2 640 656 752 800 480 490 492 525 -hsync -vsync # 640x480 @ 75Hz (VGA) hsync: 37.5 ModeLine "640x480@75" 31.5 640 656 720 840 480 481 484 500 -hsync -vsync # 800x600 @ 60.3Hz (VESA) hsync: 37.9kHz ModeLine "800x600@60.3" 40.0 800 840 968 1056 600 601 605 628 +hsync +vsync # 800x600 @ 75Hz (VESA) hsync: 46.9kHz ModeLine "800x600@75" 49.5 800 816 896 1056 600 601 604 625 +hsync +vsync # 1024x768 @ 60 Hz hsync: 48.4 kHz ModeLine "1024x768@60" 65.0 1024 1048 1184 1344 768 771 777 806 -hsync -vsync # 1024x768 @ 75 hsync: 60.0 kHz ModeLine "1024x768@75" 78.8 1024 1040 1136 1312 768 769 772 800 +hsync +vsync # 1152x864 @ 75 hsync: 67.5 kHz ModeLine "1152x864@75" 108.0 1152 1216 1344 1600 864 865 868 900 +hsync +vsync # 1280x1024 @ 60 hsync: 64.0 kHz ModeLine "1280x1024@60" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync # 1280x1024 @ 75 hsync: 80.0 kHz ModeLine "1280x1024@75" 135.0 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync # JAO: here is the one that counts, as it is the "optimal" resolution of the # Dell 2007FP monitor: 1600x1200, 60 Hz vertical refresh # 162.0 MHz pixel clock, 75 kHz horizontal sync # 1600 Hdisp, 1200 Vdisp # i.e. Htotal must be 162.0 MHz/75 kHz = 2160 # Vtotal must be 75 kHz/60 Hz = 1250 # The Hsyncstart, Hsyncend, Vsyncstart, Vsyncend are copied from the # freedesktop.org source cited above. # # 1600x1200 @ 60 hsync: 75.0 kHz ModeLine "1600x1200@60" 162.0 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync # JAO: this is the allowable range; it causes the X driver and KDE Control # panel to suggest lots of VESA-compatible rates that probably look lousy, # but if I leave them out, it assumes even less selective default values. # # It might be nice to be able to say "only use those modes I've explicitly # mentioned, and forget all those default VESA modes coded in the driver" # but I can't find such an option. # HorizSync 30-81 VertRefresh 56-76 EndSection # ********************************************************************** # Graphics device section # ********************************************************************** # Any number of graphics device sections may be present # Standard VGA Device: Section "Device" Identifier "Standard VGA" VendorName "Unknown" BoardName "Unknown" # The chipset line is optional in most cases. It can be used to override # the driver's chipset detection, and should not normally be specified. # Chipset "generic" # The Driver line must be present. When using run-time loadable driver # modules, this line instructs the server to load the specified driver # module. Even when not using loadable driver modules, this line # indicates which driver should interpret the information in this section. Driver "vga" # The BusID line is used to specify which of possibly multiple devices # this section is intended for. When this line isn't present, a device # section can only match up with the primary video device. For PCI # devices a line like the following could be used. This line should not # normally be included unless there is more than one video device # intalled. # BusID "PCI:0:10:0" # VideoRam 256 # Clocks 25.2 28.3 EndSection # Device configured by xorgconfig: # JAO: The "Device" section is supposed to describe your video card # This appears to work well enough for a Diamond Viper V770D # Section "Device" Identifier "Diamond Viper V770D" Driver "nv" # unsupported card #VideoRam 32768 # Insert Clocks lines here if appropriate EndSection # ********************************************************************** # Screen sections # ********************************************************************** # Any number of screen sections may be present. Each describes # the configuration of a single screen. A single specific screen section # may be specified from the X server command line with the "-screen" # option. # # JAO: here is where it all comes together: # the "Device" and "Monitor" identifiers should match the desired # entries above. # The Modes identifiers are chosen to match those defined above in # the Monitor "Dell 2007FP" section; these are the resolutions that will # (usually) be cycled through using ctrl-alt-keypad+ and -keypad- # KDE Control Center>Peripherals>Display will also include a bunch of VESA # modes which nominally fit within the monitor sync capabilities, but # can look very ugly. # Section "Screen" Identifier "Screen 1" Device "Diamond Viper V770D" Monitor "Dell 2007FP" DefaultDepth 24 Subsection "Display" Depth 8 Modes "1600x1200@60" "1280x1024@75" "1152x864@75" "1024x768@60" "800x600@75" "640x480@75" ViewPort 0 0 EndSubsection Subsection "Display" Depth 16 Modes "1600x1200@60" "1280x1024@75" "1152x864@75" "1024x768@60" "800x600@75" "640x480@75" ViewPort 0 0 EndSubsection Subsection "Display" Depth 24 Modes "1600x1200@60" "1280x1024@75" "1152x864@75" "1024x768@60" "800x600@75" "640x480@75" ViewPort 0 0 EndSubsection EndSection # ********************************************************************** # ServerLayout sections. # ********************************************************************** # Any number of ServerLayout sections may be present. Each describes # the way multiple screens are organised. A specific ServerLayout # section may be specified from the X server command line with the # "-layout" option. In the absence of this, the first section is used. # When now ServerLayout section is present, the first Screen section # is used alone. Section "ServerLayout" # The Identifier line must be present Identifier "Simple Layout" # Each Screen line specifies a Screen section name, and optionally # the relative position of other screens. The four names after # primary screen name are the screens to the top, bottom, left and right # of the primary screen. # JAO: this is the absolute simplest case: "Screen 1" as defined above # is the one and only screen. Screen "Screen 1" # Each InputDevice line specifies an InputDevice section name and # optionally some options to specify the way the device is to be # used. Those options include "CorePointer", "CoreKeyboard" and # "SendCoreEvents". InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" EndSection # Section "DRI" # Mode 0666 # EndSection