summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Fulbright <msf@redhat.com>2002-06-20 19:19:15 +0000
committerMike Fulbright <msf@redhat.com>2002-06-20 19:19:15 +0000
commitf73c3ce1e70413570e2b90f9d760c2e1fbd5590e (patch)
treec4456aaedd6b09b51ef9250dc309e06ff0309f73
parent61f7a64a2c62494bace630db7fbd3e402c8593e9 (diff)
downloadanaconda-f73c3ce1e70413570e2b90f9d760c2e1fbd5590e.tar.gz
anaconda-f73c3ce1e70413570e2b90f9d760c2e1fbd5590e.tar.xz
anaconda-f73c3ce1e70413570e2b90f9d760c2e1fbd5590e.zip
old cruft code goes here for now
-rw-r--r--legacy_xf86config.py608
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 ()