autocfg-xorg.py - auto-configure X window system in Linux

jonasmg at softhome.net jonasmg at softhome.net
Thu Jan 19 05:34:58 PST 2006


Long ago that a tool as important as xorgconfig is out of date. By this fact 
I suggested a serie of changes that never have taken place.
http://lists.freedesktop.org/archives/xorg/2005-April/007422.html 

So I decided to create from scratch a tool of detection for modern systems 
like Linux, using Python due to its productivity. 


Which has been the result?
An absolute detection of all the system related to X window, from X core and 
xft/fontconfig fonts subsystem to X key map.

And as an image is worth more than thousand words: 

# cat /etc/X11/xorg.conf
# Configuration created by 'autocfg-xorg.py'
# https://savannah.nongnu.org/projects/autocfg-xorg/ 

Section "Files"
       RgbPath     "/usr/lib/X11/rgb"
       ModulePath  "/usr/lib/modules"
       FontPath    "/usr/share/fonts/misc/"
       FontPath    "/usr/share/fonts/TTF/"
       FontPath    "/usr/share/fonts/arphicfonts/"
       FontPath    "/usr/share/fonts/corefonts/"
       FontPath    "/usr/share/fonts/kochi-substitute/"
       FontPath    "/usr/share/fonts/Type1/"
       FontPath    "/usr/share/fonts/freefont/"
       FontPath    "/usr/share/fonts/sharefonts/"
       FontPath    "/usr/share/fonts/100dpi/"
       FontPath    "/usr/share/fonts/75dpi/"
       FontPath    "/usr/share/fonts/baekmuk-fonts/"
       FontPath    "/usr/share/fonts/cyrillic/"
       FontPath    "/usr/share/fonts/ukr/"
EndSection 

Section "Module"
       Load  "dbe"
       Load  "freetype"
       Load  "dri"
       Load  "glx" 

       SubSection "extmod"
               Option  "omit xfree86-dga"
       EndSubSection
EndSection 

Section "InputDevice"
       Identifier  "Keyboard"
       Driver      "kbd"
       Option      "XkbModel" "pc105"
       Option      "XkbLayout" "es"
EndSection 

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

Section "Device"
       Identifier  "Card_1"
       BusID       "PCI:2:0:0"
       VendorName  "nVidia Corporation"
       BoardName   "NV34 [GeForce FX 5200]"
       Driver      "nv"
       #Option      "HWCursor"                 # boolean
       #Option      "NoAccel"                  # boolean
       #Option      "UseFBDev"                 # boolean
       #Option      "CrtcNumber"               # integer
       #Option      "FlatPanel"                # boolean
       #Option      "FPDither"                 # boolean
       #Option      "FPScale"                  # boolean
       #Option      "Rotate"                   # CW
       #Option      "Rotate"                   # CCW
       #Option      "ShadowFB"                 # boolean
EndSection 

Section "DRI"
       Mode  0666
EndSection 

#Section "Extensions"
#       Option  "Composite"
#EndSection 

Section "Monitor"
       Identifier   "Monitor_1"
       VendorName   "PHL"
       ModelName    "PHILIPS 109S"
       HorizSync     30 - 92
       VertRefresh   50 - 160
       DisplaySize   360.0  270.0
       Gamma         2.76
       Option       "DPMS"
EndSection 

Section "ServerFlags"
       Option  "StandbyTime" "15"
       Option  "SuspendTime" "25"
       Option  "OffTime"     "35"
       Option  "AllowMouseOpenFail"
EndSection 

Section "Screen"
       Identifier  "Screen_1"
       Device      "Card_1"
       Monitor     "Monitor_1"
       DefaultColorDepth  24 

       SubSection "Display"
               Depth   24
               Modes  "1280x1024" "1024x768" "800x600" "640x480"
       EndSubSection
       SubSection "Display"
               Depth   16
               Modes  "1280x1024" "1024x768" "800x600" "640x480"
       EndSubSection
       SubSection "Display"
               Depth   8
               Modes  "1280x1024" "1024x768" "800x600" "640x480"
       EndSubSection
       SubSection "Display"
               Depth   4
               Modes  "1280x1024" "1024x768" "800x600"
       EndSubSection
EndSection 

Section "ServerLayout"
       Identifier   "Layout_1"
       Screen     1 "Screen_1"
       InputDevice  "Keyboard" "CoreKeyboard"
       InputDevice  "Mouse"    "CorePointer"
EndSection 


# cat /etc/fonts/local.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/local.conf file for local customizations -->
<fontconfig> 

<!-- Font directory list configured on  -->
       <dir>/usr/share/fonts/TTF</dir>
       <dir>/usr/share/fonts/arphicfonts</dir>
       <dir>/usr/share/fonts/corefonts</dir>
       <dir>/usr/share/fonts/kochi-substitute</dir>
       <dir>/usr/share/fonts/Type1</dir>
       <dir>/usr/share/fonts/freefont</dir>
       <dir>/usr/share/fonts/sharefonts</dir>
       <dir>~/.fonts</dir>
...
...
... 

For more information: http://www.nongnu.org/autocfg-xorg/ 


I have seen in http://xorg.freedesktop.org/wiki/ToDo that xorgconfig utility 
could use some cleaning. Well, autocfg-xorg.py could be the substitute of 
old xorgconfig. 



More information about the xorg mailing list