diff options
author | Mike Fulbright <msf@redhat.com> | 2002-06-20 19:19:15 +0000 |
---|---|---|
committer | Mike Fulbright <msf@redhat.com> | 2002-06-20 19:19:15 +0000 |
commit | f73c3ce1e70413570e2b90f9d760c2e1fbd5590e (patch) | |
tree | c4456aaedd6b09b51ef9250dc309e06ff0309f73 /legacy_xf86config.py | |
parent | 61f7a64a2c62494bace630db7fbd3e402c8593e9 (diff) | |
download | anaconda-f73c3ce1e70413570e2b90f9d760c2e1fbd5590e.tar.gz anaconda-f73c3ce1e70413570e2b90f9d760c2e1fbd5590e.tar.xz anaconda-f73c3ce1e70413570e2b90f9d760c2e1fbd5590e.zip |
old cruft code goes here for now
Diffstat (limited to 'legacy_xf86config.py')
-rw-r--r-- | legacy_xf86config.py | 608 |
1 files changed, 608 insertions, 0 deletions
diff --git a/legacy_xf86config.py b/legacy_xf86config.py new file mode 100644 index 000000000..4cf96021e --- /dev/null +++ b/legacy_xf86config.py @@ -0,0 +1,608 @@ +# +# legacy_xf866config.py - XFree86 configuration file generator for 3.3.x +# +# Matt Wilson <msw@redhat.com> +# Brent Fox <bfox@redhat.com> +# Michael Fulbright <msf@redhat.com> +# +# Copyright 1999-2002 Red Hat, Inc. +# +# This software may be freely redistributed under the terms of the GNU +# library public license. +# +# You should have received a copy of the GNU Library Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# + +import sys +if __name__ == "__main__": + sys.path.append ('kudzu') + sys.path.append ('isys') +import string +import iutil +import kudzu +import isys +import time +import os + +from rhpl.log import log +from rhpl.keyboard import Keyboard +from rhpl.mouse import Mouse +from rhpl.translate import _ + +XF86Config_template = """ +# File generated by anaconda. +# ********************************************************************** +# Refer to the XF86Config(4/5) man page for details about the format of +# this file. +# ********************************************************************** + +# ********************************************************************** +# Files section. This allows default font and rgb paths to be set +# ********************************************************************** + +Section "Files" +%(files)s +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 + + # NoTrapSignals + + # Uncomment this to disable the <Crtl><Alt><BS> server abort sequence + # This allows clients to receive this key event. + + # DontZap + + # Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching + # sequences. This allows clients to receive these key events. + + # DontZoom +EndSection + +# Pointer section +# ********************************************************************** + +Section "Pointer" + Protocol "%(mouseProto)s" + Device "/dev/%(mouseDevice)s" + +# For wheel support - can not be used with Emulate3Buttons +# +# ZAxisMapping 4 5 + +# When using XQUEUE, comment out the above two lines, and uncomment +# the following line. +# Protocol "Xqueue" + +# Baudrate and SampleRate are only for some Logitech mice +# BaudRate 9600 +# SampleRate 150 + +# Emulate3Buttons is an option for 2-button Microsoft mice +# Emulate3Timeout is the timeout in milliseconds (default is 50ms) +%(emulate3)s + +# ChordMiddle is an option for some 3-button Logitech mice +# ChordMiddle + +EndSection + +# ********************************************************************** +# Keyboard section +# ********************************************************************** + +Section "Keyboard" + Protocol "Standard" + +%(autorepeat)s + +# when using XQUEUE, comment out the above line, and uncomment the +# following line + # Protocol "Xqueue" + +# Let the server do the NumLock processing. This should only be +# required when using pre-R6 clients + # ServerNumLock + +# Specify which keyboard LEDs can be user-controlled (eg, with xset(1)) + # Xleds 1 2 3 + +# To set the LeftAlt to Meta, RightAlt key to ModeShift, +# RightCtl key to Compose, and ScrollLock key to ModeLock: + + LeftAlt Meta + RightAlt Meta + ScrollLock Compose + RightCtl Control + +# To disable the XKEYBOARD extension, uncomment XkbDisable. +# XkbDisable + +# 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: +# XkbModel "pc102" +# If you have a US Microsoft Natural keyboard, you can use: +# XkbModel "microsoft" +# +# Then to change the language, change the Layout setting. +# For example, a german layout can be obtained with: +# XkbLayout "de" +# or: +# XkbLayout "de" +# XkbVariant "nodeadkeys" +# +# If you'd like to switch the positions of your capslock and +# control keys, use: +# XkbOptions "ctrl:swapcaps" +# +# If you'd like to disable the capslock key, use: +# XkbOptions "ctrl:nocaps" + + + XkbRules "%(XkbRules)s" + XkbModel "%(XkbModel)s" + XkbLayout "%(XkbLayout)s" + %(enableVariant)sXkbVariant "%(XkbVariant)s" + %(enableOptions)sXkbOptions "%(XkbOptions)s" +EndSection + +# ********************************************************************** +# Monitor section +# ********************************************************************** + +# Any number of monitor sections may be present +Section "Monitor" + Identifier "Generic Monitor" + VendorName "Unknown" + ModelName "Unknown" +# HorizSync 31.5 +# VertRefresh 60 + HorizSync 35.15 + VertRefresh 55-65 + +# ModeLine "640x480" 25.175 640 664 760 800 +# 480 491 493 525 + +# 800x600 @ 56 Hz, 35.15 kHz hsync + ModeLine "800x600" 36 800 824 896 1024 + 600 601 603 625 + +EndSection + +Section "Monitor" + Identifier "%(monitorID)s" + VendorName "Unknown" + ModelName "Unknown" + +# 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. + + HorizSync %(monitorHoriz)s + +# VertRefresh is in Hz unless units are specified. +# VertRefresh 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. + + VertRefresh %(monitorVert)s + +# Modes can be specified in two formats. A compact one-line format, or +# a multi-line format. + +# These two are equivalent + +# ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace + +# Mode "1024x768i" +# DotClock 45 +# HTimings 1024 1048 1208 1264 +# VTimings 768 776 784 817 +# Flags "Interlace" +# EndMode + +# This is a set of standard mode timings. Modes that are out of monitor spec +# are automatically deleted by the server (provided the HorizSync and +# VertRefresh lines are correct), so there's no immediate need to +# delete mode timings (unless particular mode timings don't work on your +# monitor). With these modes, the best standard mode that your monitor +# and video card can support for a given resolution is automatically +# used. + +# Low-res Doublescan modes +# If your chipset does not support doublescan, you get a 'squashed' +# resolution like 320x400. + +# --320x200-- +# 320x200 @ 70 Hz, 31.5 kHz hsync, 8:5 aspect ratio + Modeline "320x200" 12.588 320 336 384 400 + 200 204 205 225 Doublescan +# 320x240 @ 60 Hz, 31.5 kHz hsync, 4:3 aspect ratio + Modeline "320x240" 12.588 320 336 384 400 + 240 245 246 262 Doublescan +# 320x240 @ 72 Hz, 36.5 kHz hsync + Modeline "320x240" 15.750 320 336 384 400 + 240 244 246 262 Doublescan +# --400x300-- +# 400x300 @ 56 Hz, 35.2 kHz hsync, 4:3 aspect ratio + ModeLine "400x300" 18 400 416 448 512 + 300 301 302 312 Doublescan +# 400x300 @ 60 Hz, 37.8 kHz hsync + Modeline "400x300" 20 400 416 480 528 + 300 301 303 314 Doublescan +# 400x300 @ 72 Hz, 48.0 kHz hsync + Modeline "400x300" 25 400 424 488 520 + 300 319 322 333 Doublescan +# 480x300 @ 56 Hz, 35.2 kHz hsync, 8:5 aspect ratio + ModeLine "480x300" 21.656 480 496 536 616 + 300 301 302 312 Doublescan +# 480x300 @ 60 Hz, 37.8 kHz hsync + Modeline "480x300" 23.890 480 496 576 632 + 300 301 303 314 Doublescan +# 480x300 @ 63 Hz, 39.6 kHz hsync + Modeline "480x300" 25 480 496 576 632 + 300 301 303 314 Doublescan +# 480x300 @ 72 Hz, 48.0 kHz hsync + Modeline "480x300" 29.952 480 504 584 624 + 300 319 322 333 Doublescan + +# Normal video modes + +# -- 512x384 +# 512x384 @ 78 Hz, 31.50 kHz hsync + Modeline "512x384" 20.160 512 528 592 640 + 384 385 388 404 -HSync -VSync +# 512x384 @ 85 Hz, 34.38 kHz hsync + Modeline "512x384" 22 512 528 592 640 + 384 385 388 404 -HSync -VSync + +# -- 640x400 -- +# 640x400 @ 70 Hz, 31.5 kHz hsync + Modeline "640x400" 25.175 640 664 760 800 + 400 409 411 450 +# 640x400 @ 85 Hz, 37.86 kHz hsync + Modeline "640x400" 31.5 640 672 736 832 + 400 401 404 445 -HSync +VSync + +# --- 640x480 --- +# 640x480 @ 60 Hz, 31.5 kHz hsync + Modeline "640x480" 25.175 640 664 760 800 + 480 491 493 525 +# 640x480 @ 72 Hz, 36.5 kHz hsync + Modeline "640x480" 31.5 640 680 720 864 + 480 488 491 521 +# 640x480 @ 75 Hz, 37.50 kHz hsync + ModeLine "640x480" 31.5 640 656 720 840 + 480 481 484 500 -HSync -VSync +# 640x480 @ 85 Hz, 43.27 kHz hsync + Modeline "640x480" 36 640 696 752 832 + 480 481 484 509 -HSync -VSync +# 640x480 @ 100 Hz, 53.01 kHz hsync + Modeline "640x480" 45.8 640 672 768 864 + 480 488 494 530 -HSync -VSync + +# --- 800x600 --- +# 800x600 @ 56 Hz, 35.15 kHz hsync + ModeLine "800x600" 36 800 824 896 1024 + 600 601 603 625 +# 800x600 @ 60 Hz, 37.8 kHz hsync + Modeline "800x600" 40 800 840 968 1056 + 600 601 605 628 +hsync +vsync +# 800x600 @ 72 Hz, 48.0 kHz hsync + Modeline "800x600" 50 800 856 976 1040 + 600 637 643 666 +hsync +vsync +# 800x600 @ 85 Hz, 55.84 kHz hsync + Modeline "800x600" 60.75 800 864 928 1088 + 600 616 621 657 -HSync -VSync +# 800x600 @ 100 Hz, 64.02 kHz hsync + Modeline "800x600" 69.65 800 864 928 1088 + 600 604 610 640 -HSync -VSync + +# --- 1024x768 --- +# 1024x768 @ 60 Hz, 48.4 kHz hsync + Modeline "1024x768" 65 1024 1032 1176 1344 + 768 771 777 806 -hsync -vsync +# 1024x768 @ 70 Hz, 56.5 kHz hsync + Modeline "1024x768" 75 1024 1048 1184 1328 + 768 771 777 806 -hsync -vsync +# 1024x768 @ 76 Hz, 62.5 kHz hsync + Modeline "1024x768" 85 1024 1032 1152 1360 + 768 784 787 823 +# 1024x768 @ 85 Hz, 70.24 kHz hsync + Modeline "1024x768" 98.9 1024 1056 1216 1408 + 768 782 788 822 -HSync -VSync +# 1024x768 @ 100Hz, 80.21 kHz hsync + Modeline "1024x768" 115.5 1024 1056 1248 1440 + 768 771 781 802 -HSync -VSync + +# --- 1152x864 --- +# 1152x864 @ 60 Hz, 53.5 kHz hsync + Modeline "1152x864" 89.9 1152 1216 1472 1680 + 864 868 876 892 -HSync -VSync +# 1152x864 @ 70 Hz, 62.4 kHz hsync + Modeline "1152x864" 92 1152 1208 1368 1474 + 864 865 875 895 +# 1152x864 @ 78 Hz, 70.8 kHz hsync + Modeline "1152x864" 110 1152 1240 1324 1552 + 864 864 876 908 +# 1152x864 @ 84 Hz, 76.0 kHz hsync + Modeline "1152x864" 135 1152 1464 1592 1776 + 864 864 876 908 +# 1152x864 @ 100 Hz, 89.62 kHz hsync + Modeline "1152x864" 137.65 1152 1184 1312 1536 + 864 866 885 902 -HSync -VSync + +# -- 1280x1024 -- +# 1280x1024 @ 61 Hz, 64.2 kHz hsync + Modeline "1280x1024" 110 1280 1328 1512 1712 + 1024 1025 1028 1054 +# 1280x1024 @ 70 Hz, 74.59 kHz hsync + Modeline "1280x1024" 126.5 1280 1312 1472 1696 + 1024 1032 1040 1068 -HSync -VSync +# 1280x1024 @ 74 Hz, 78.85 kHz hsync + Modeline "1280x1024" 135 1280 1312 1456 1712 + 1024 1027 1030 1064 +# 1280x1024 @ 76 Hz, 81.13 kHz hsync + Modeline "1280x1024" 135 1280 1312 1416 1664 + 1024 1027 1030 1064 +# 1280x1024 @ 85 Hz, 91.15 kHz hsync + Modeline "1280x1024" 157.5 1280 1344 1504 1728 + 1024 1025 1028 1072 +HSync +VSync +# 1280x1024 @ 100 Hz, 107.16 kHz hsync + Modeline "1280x1024" 181.75 1280 1312 1440 1696 + 1024 1031 1046 1072 -HSync -VSync + +# -- 1400x1050 -- +# 1400x1050 @ 60Hz, 65.8 kHz hsync + Modeline "1400x1050" 129 1400 1464 1656 1960 + 1050 1051 1054 1100 +HSync +VSync + +# 1400x1050 @ 70Hz, 76.8 kHz hsync + Modeline "1400x1050" 151 1400 1464 1656 1960 + 1050 1051 1054 1100 +HSync +VSync + +# 1400x1050 @ 75Hz, 82.3 kHz hsync + Modeline "1400x1050" 162 1400 1464 1656 1960 + 1050 1051 1054 1100 +HSync +VSync + +# 1400x1050 @ 85Hz, 93.2 kHz hsync + Modeline "1400x1050" 184 1400 1464 1656 1960 + 1050 1051 1054 1100 +HSync +VSync + +# -- 1600x1200 -- +# 1600x1200 @ 60Hz, 75.00 kHz hsync + Modeline "1600x1200" 162 1600 1664 1856 2160 + 1200 1201 1204 1250 +HSync +VSync +# 1600x1200 @ 70 Hz, 87.50 kHz hsync + Modeline "1600x1200" 189 1600 1664 1856 2160 + 1200 1201 1204 1250 -HSync -VSync +# 1600x1200 @ 75 Hz, 93.75 kHz hsync + Modeline "1600x1200" 202.5 1600 1664 1856 2160 + 1200 1201 1204 1250 +HSync +VSync +# 1600x1200 @ 85 Hz, 105.77 kHz hsync + Modeline "1600x1200" 220 1600 1616 1808 2080 + 1200 1204 1207 1244 +HSync +VSync + +# -- 1800x1400 -- + +# 1800x1440 @ 64Hz, 96.15 kHz hsync + ModeLine "1800X1440" 230 1800 1896 2088 2392 + 1440 1441 1444 1490 +HSync +VSync +# 1800x1440 @ 70Hz, 104.52 kHz hsync + ModeLine "1800X1440" 250 1800 1896 2088 2392 + 1440 1441 1444 1490 +HSync +VSync + +# -- 1920x1200 -- + +# 1920x1200 @ 70Hz, 87.50 KHz hsync + Modeline "1920x1200" 230 1920 1936 2096 2528 + 1200 1201 1204 1250 +HSync +VSync + +EndSection + +# ********************************************************************** +# Graphics device section +# ********************************************************************** + +Section "Device" + Identifier "Generic VGA Card" + VendorName "Unknown" + BoardName "Unknown" + Chipset "generic" +EndSection + +%(acceleratedDevices)s + +# ********************************************************************** +# Screen section +# ********************************************************************** + +# The 16-color VGA server +Section "Screen" + Driver "vga16" + Device "Generic VGA Card" + Monitor "%(monitorID)s" + Subsection "Display" + Modes "640x480" "800x600" + ViewPort 0 0 + EndSubsection +EndSection + +# The Mono server +Section "Screen" + Driver "vga2" + Device "Generic VGA Card" + Monitor "%(monitorID)s" + Subsection "Display" + Modes "640x480" "800x600" + ViewPort 0 0 + EndSubsection +EndSection + +%(acceleratedScreens)s +""" + +class XF86Config_Version3: + def Version3Config (self, test=0): + info = {} + devices = "" + screens = "" + + monitor = self.monitor + card = self.videocard + carddata = card.getCardData() + devices = devices + """ +Section "Device" + Identifier "%(NAME)s" +""" % carddata + if carddata.has_key ("VENDOR"): + devices = devices + ' VendorName "%(VENDOR)s"\n' % carddata + if carddata.has_key ("BOARDNAME"): + devices = devices + ' BoardName "%(BOARD)s"\n' % carddata + if carddata.has_key ("RAMDAC"): + devices = devices + ' Ramdac "%(RAMDAC)s"\n' % carddata + if carddata.has_key ("LINE"): + devices = devices + carddata["LINE"] + "\n" + if card.getVideoRam(): + devices = devices + ' VideoRam %s\n' % (card.getVideoRam(),) + devices = devices + "EndSection\n" + + if card.getDevID(): + screens = "" + tmp = {} + maxdepth = -1 + xmodes = self.manualModes + + for (depth, modes) in xmodes.items (): + modes.sort (self.areaCompare) + if len(modes) > 0 and string.atoi(depth) > maxdepth: + maxdepth = string.atoi(depth) + +# if monitor.getFBMonitorSection(): +# monitorname = "Probed Monitor" + + monitorname = monitor.getMonitorID() + + for driver in [ "svga", "accel" ]: + tmp["driver"] = driver + tmp["devID"] = card.getDevID() + tmp["monitorID"] = monitorname + screens = screens + """ +# The %(driver)s server +Section "Screen" + Driver "%(driver)s" + Device "%(devID)s" + Monitor "%(monitorID)s" +""" % tmp + + # see if 16 bpp is available, and if it should be the + # default depth + if self.res == "640x480": + screens = screens + " DefaultColorDepth 8\n" + elif maxdepth > 0: + if maxdepth > 16 and '16' in xmodes.keys() and xmodes['16']: + screens = screens + " DefaultColorDepth 16\n" + else: + screens = screens + " DefaultColorDepth %d\n" % maxdepth + + for depth in xmodes.keys (): + if not xmodes[depth]: continue + screens = screens + """ + Subsection "Display" + Depth %s + Modes """ % depth + for res in xmodes[depth]: + screens = screens + '"' + res + '" ' + screens = screens + """ + ViewPort 0 0 + EndSubsection +""" + screens = screens + "EndSection\n" + + # XXX if we're going to be using IMPS/2 on + # reboot, but we're using PS/2 now, we'll need + # to temporarily use PS/2 so we don't frob the + # intellimouse into IMPS/2 mode (if we did, we'll + # loose the mouse cursor in the install) + if test and self.mouse.info["XMOUSETYPE"] == "IMPS/2": + mouseProto = "PS/2" + else: + mouseProto = self.mouse.info['XMOUSETYPE'] + +# +# we're removing frame buffer code +# +# fbprobemon = monitor.getFBMonitorSection() +# if fbprobemon != "": +# fbmonid = "Probed Monitor" +# else: +# fbmonid = monitor.getMonitorID() + + info = { "acceleratedDevices" : devices, + "acceleratedScreens" : screens, + "devID" : card.getDevID(), + "mouseProto" : mouseProto, + "mouseDevice" : self.mouse.device, + "XkbRules" : self.keyboard["rules"], + "XkbModel" : self.keyboard["model"], + "XkbLayout" : self.keyboard["layout"], + "XkbVariant" : self.keyboard["variant"], + "enableVariant" : "#", + "XkbOptions" : self.keyboard["options"], + "enableOptions" : "#", + "monitorID" : monitor.getMonitorID(), + "monitorHoriz" : monitor.getMonitorHorizSync(), + "monitorVert" : monitor.getMonitorVertSync(), +# "fbProbedMonitor" : fbprobemon, +# "fbmonitorID" : fbmonid, + "files" : self.files, + } + + # HACK if no frame buffer running just wing it +# +# we're removing frame buffer code +# +# if card.getFBBpp(): +# info["fbDepth"] = card.getFBBpp() +# else: +# info["fbDepth"] = 8 +# +# info["fbDepth"] = self.fbDepth + + if self.keyboard["variant"]: + info["enableVariant"] = "" + if self.keyboard["options"]: + info["enableOptions"] = "" + if self.mouse.get()[1]: + info["emulate3"] = " Emulate3Buttons\n Emulate3Timeout 50" + else: + info["emulate3"] = "# Emulate3Buttons\n Emulate3Timeout 50" + if iutil.getArch() == "sparc": + info["autorepeat"] = "# AutoRepeat 200 20" + else: + info["autorepeat"] = " AutoRepeat 500 5" + + return XF86Config_template % info + + + + +# function to write out XF86Config +# def write (self, path): +# +# config = open (path + "/XF86Config", 'w') +# config.write (self.Version3Config ()) +# config.close () |