xserver: Branch 'master'

Adam Jackson ajax at kemper.freedesktop.org
Tue Jun 24 10:39:27 PDT 2008


 hw/xfree86/utils/Makefile.am                   |    3 
 hw/xfree86/utils/xorgconfig/.gitignore         |    1 
 hw/xfree86/utils/xorgconfig/Cards              | 3135 -------------------------
 hw/xfree86/utils/xorgconfig/Cards98            |  647 -----
 hw/xfree86/utils/xorgconfig/Makefile.am        |   70 
 hw/xfree86/utils/xorgconfig/cards.c            |  278 --
 hw/xfree86/utils/xorgconfig/cards.h            |   30 
 hw/xfree86/utils/xorgconfig/xorgconfig.c       | 2890 -----------------------
 hw/xfree86/utils/xorgconfig/xorgconfig.man.pre |   22 
 9 files changed, 1 insertion(+), 7075 deletions(-)

New commits:
commit d34430414ac0e77eec61ab0ac9ef427b236eb639
Author: Adam Jackson <ajax at redhat.com>
Date:   Tue Jun 24 13:32:55 2008 -0400

    Remove xorgconfig.  Use X -configure instead.

diff --git a/hw/xfree86/utils/Makefile.am b/hw/xfree86/utils/Makefile.am
index e3e7a61..62705d2 100644
--- a/hw/xfree86/utils/Makefile.am
+++ b/hw/xfree86/utils/Makefile.am
@@ -3,5 +3,4 @@ SUBDIRS = \
 	cvt \
 	ioport \
 	kbd_mode \
-	xorgcfg \
-	xorgconfig
+	xorgcfg
diff --git a/hw/xfree86/utils/xorgconfig/.gitignore b/hw/xfree86/utils/xorgconfig/.gitignore
deleted file mode 100644
index 6f3cabd..0000000
--- a/hw/xfree86/utils/xorgconfig/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-xorgconfig.1
diff --git a/hw/xfree86/utils/xorgconfig/Cards b/hw/xfree86/utils/xorgconfig/Cards
deleted file mode 100644
index b95928c..0000000
--- a/hw/xfree86/utils/xorgconfig/Cards
+++ /dev/null
@@ -1,3135 +0,0 @@
-# $XConsortium: Cards /main/27 1996/10/28 05:43:53 kaleb $
-# This is the database of card definitions used by xf86config.
-# Each definition should have a NAME entry, CHIPSET (descriptive) and
-# SERVER (one of Mono, VGA16, SVGA, S3, 8514, Mach8, Mach32, Mach64, AGX,
-# P9000, W32, I128).
-# A reference to another definition is made with SEE (already defined
-# entries are not overridden).
-# Optional entries are RAMDAC (identifier), CLOCKCHIP (identifier),
-# DACSPEED, NOCLOCKPROBE (advises never to probe clocks), UNSUPPORTED
-# (indicates card that is not yet properly supported by a dedicated
-# server). A LINE entry adds a line of text to be included in the
-# Device section (can include options or comments).
-# There's no CLOCKS option (although a Clocks line can be included
-# with LINE), as it is very undesirable to have a Clocks line that
-# is incorrect. The idea is that the Clocks are probed for to be
-# sure (a commented suggested Clocks line can be included).
-#
-# The majority of entries are just a binding of a model name to a
-# chipset/server and untested.
-#
-# $XFree86: xc/programs/Xserver/hw/xfree86/xf86config/Cards,v 3.79 2002/10/16 01:31:05 dawes Exp $
-
-# VGA
-
-NAME * Generic VGA compatible
-SERVER VGA16
-DRIVER vga
-
-NAME * Generic VESA compatible
-SERVER VGA16
-DRIVER vesa
-
-NAME * Unsupported VGA compatible
-SERVER VGA16
-DRIVER vga
-UNSUPPORTED
-
-
-#	  #
-# generic #
-#	  #
-
-NAME ** Alliance Pro Motion (generic)      [apm]
-#CHIPSET apm
-SERVER SVGA
-DRIVER apm
-LINE #Option "no_accel"
-
-NAME ** Ark Logic (generic)                [ark]
-#CHIPSET ark
-SERVER SVGA
-DRIVER ark
-
-NAME ** ASPEED Technology (generic)        [ast]
-#CHIPSET ast
-SERVER SVGA
-DRIVER ast
-
-NAME ** ATI (generic)                      [ati]
-#CHIPSET ati
-SERVER SVGA
-DRIVER ati
-
-NAME ** ATI Rage 128 based (generic)       [r128]
-#CHIPSET r128
-SERVER SVGA
-DRIVER r128
-
-NAME ** ATI Radeon (generic)               [radeon]
-#CHIPSET radeon
-SERVER SVGA
-DRIVER radeon
-
-NAME ** Chips and Technologies (generic)   [chips]
-#CHIPSET chips
-SERVER SVGA
-DRIVER chips
-LINE # Option "suspend_hack"
-LINE # Option "STN"
-LINE # Option "no_stretch"
-LINE # Option "no_center"
-LINE # Option "use_modeline"
-LINE # Option "fix_panel_size"
-LINE # videoram 512
-LINE # Option "noaccel"
-LINE # Option "no_bitblt"
-LINE # Option "xaa_no_color_exp"
-LINE # Option "xaa_benchmark"
-LINE # Option "hw_cursor"
-LINE # Option "nolinear"
-LINE # MemBase 0x03b00000
-LINE # Option "hw_clocks"
-LINE # Textclockfreq 25.175
-
-NAME ** Cirrus Logic (generic)             [cirrus]
-#CHIPSET cirrus
-SERVER SVGA
-DRIVER cirrus
-LINE # MemBase 0x00e00000		# ISA card that maps to 14Mb
-LINE # MemBase 0x04000000		# VLB card that maps to 64Mb
-LINE # MemBase 0x80000000		# VLB card that maps to 2048Mb
-LINE # MemBase 0x02000000		# VLB card that maps to 32Mb
-LINE # Option "linear"
-LINE # Option "fifo_conservative"
-
-NAME ** Cyrix MediaGX (generic)            [cyrix]
-#CHIPSET cyrix
-SERVER SVGA
-DRIVER cyrix
-
-NAME ** Linux framebuffer (generic)        [fbdev]
-#CHIPSET fbdev
-SERVER SVGA
-DRIVER fbdev
-
-NAME ** 3DLabs, TI (generic)               [glint]
-#CHIPSET glint
-SERVER SVGA
-DRIVER glint
-LINE #Option "no_accel"
-
-NAME ** Number Nine I128 (generic)         [i128]
-#CHIPSET i128
-SERVER SVGA
-DRIVER i128
-
-NAME ** Intel i740 (generic)               [i740]
-#CHIPSET i740
-SERVER SVGA
-DRIVER i740
-
-NAME ** Intel i810 (generic)               [i810]
-#CHIPSET i810
-SERVER SVGA
-DRIVER i810
-
-NAME ** Matrox Graphics (generic)          [mga]
-#CHIPSET mga
-SERVER SVGA
-DRIVER mga
-LINE # Option "mga_sdram"
-
-NAME ** NeoMagic (generic)                 [neomagic]
-#CHIPSET neomagic
-SERVER SVGA
-DRIVER neomagic
-LINE # Chipset    "NM2160"
-LINE # IOBase     0xfea00000
-LINE # MemBase    0xfd000000
-LINE # VideoRam   2048
-LINE # DacSpeed   90
-LINE # Option     "linear"
-LINE # Option     "nolinear"
-LINE # Option     "sw_cursor"
-LINE # Option     "hw_cursor"
-LINE # Option     "no_accel"
-LINE # Option     "intern_disp"
-LINE # Option     "extern_disp"
-LINE # Option     "mmio"
-LINE # Option     "no_mmio"
-LINE # Option     "lcd_center"
-LINE # Option     "no_stretch"
-
-NAME ** NVIDIA (generic)                   [nv]
-#CHIPSET nv
-SERVER SVGA
-DRIVER nv
-
-NAME ** Rendition (generic)                [rendition]
-#CHIPSET rendition
-SERVER SVGA
-DRIVER rendition
-LINE # Option "sw_cursor"
-
-NAME ** S3 (not ViRGE or Savage) (generic) [s3]
-#CHIPSET s3
-SERVER SVGA
-DRIVER s3
-
-NAME ** S3 ViRGE (generic)                 [s3virge]
-#CHIPSET s3virge
-SERVER SVGA
-DRIVER s3virge
-LINE # Option "xaa_benchmark"
-LINE # Option "fifo_moderate"
-LINE # Option "pci_burst_on"
-LINE # Option "pci_retry"
-LINE # Option "lcd_center"
-LINE # Set_LCDClk  <pixel_clock_for_LCD>
-
-NAME ** S3 Savage (generic)                [savage]
-#CHIPSET savage
-SERVER SVGA
-DRIVER savage
-
-NAME ** Silicon Motion (generic)           [siliconmotion]
-#CHIPSET siliconmotion
-SERVER SVGA
-DRIVER siliconmotion
-
-NAME ** SiS (generic)                      [sis]
-#CHIPSET sis
-SERVER SVGA
-DRIVER sis
-LINE # Option "no_accel"
-LINE # Option "fifo_moderate"
-LINE # Option "fifo_conserv"
-LINE # Option "fifo_aggressive"
-LINE # Option "no_BitBlt"
-LINE # Option "fast_vram"
-LINE # Option "pci_burst_on"
-LINE # Option "xaa_benchmark"
-LINE # Option "ext_eng_queue"
-
-NAME ** 3Dfx (generic)                     [tdfx]
-#CHIPSET tdfx
-SERVER SVGA
-DRIVER tdfx
-
-NAME ** DEC TGA (generic)                  [tga]
-#CHIPSET tga
-SERVER SVGA
-DRIVER tga
-
-NAME ** Trident (generic)                  [trident]
-#CHIPSET trident
-SERVER SVGA
-DRIVER trident
-
-NAME ** Tseng Labs (generic)               [tseng]
-#CHIPSET tseng
-SERVER SVGA
-DRIVER tseng
-LINE # Option "linear"
-LINE # Option "noaccel"
-LINE # Option "power_saver"
-LINE # Option "fast_dram"
-LINE # Option "pci_retry"
-LINE # Option "hibit_high"
-LINE # Option "hibit_low"
-LINE # MemBase 0x3C00000
-
-NAME ** VMWare guest OS (generic)          [vmware]
-#CHIPSET vmware
-SERVER SVGA
-DRIVER vmware
-
-
-#Chips & Technologies
-
-#untested
-NAME Chips & Technologies CT65520
-CHIPSET ct65520
-SERVER SVGA
-DRIVER chips
-LINE # Device section for C&T cards.
-LINE # Option "suspend_hack"
-LINE # Option "STN"
-LINE # Option "no_stretch"
-LINE # Option "no_center"
-LINE # Option "use_modeline"
-LINE # Option "fix_panel_size"
-LINE # videoram 512
-
-NAME Chips & Technologies CT65525
-CHIPSET ct65525
-LINE # Option "nolinear"
-LINE # MemBase 0x03b00000
-SEE Chips & Technologies CT65520
-
-NAME Chips & Technologies CT65530
-CHIPSET ct65530
-SEE Chips & Technologies CT65525
-
-NAME Chips & Technologies CT65535
-CHIPSET ct65535
-NOCLOCKPROBE
-LINE # Option "hw_clocks"
-LINE # Textclockfreq 25.175
-SEE Chips & Technologies CT65530
-
-NAME Chips & Technologies CT65540
-CHIPSET ct65540
-NOCLOCKPROBE
-LINE # Option "use_18bit_bus"
-SEE Chips & Technologies CT65535
-
-NAME Chips & Technologies CT65545
-CHIPSET ct65545
-NOCLOCKPROBE
-LINE # Option "noaccel"
-LINE # Option "no_bitblt"
-LINE # Option "xaa_no_color_exp"
-LINE # Option "xaa_benchmark"
-LINE # Option "hw_cursor"
-LINE # Option "mmio"
-SEE Chips & Technologies CT65540
-
-NAME Chips & Technologies CT65546
-CHIPSET ct65546
-SEE Chips & Technologies CT65545
-
-NAME Chips & Technologies CT65548
-CHIPSET ct65548
-SEE Chips & Technologies CT65545
-
-NAME Chips & Technologies CT65550
-CHIPSET ct65550
-NOCLOCKPROBE
-LINE # Option "noaccel"
-LINE # Option "no_bitblt"
-LINE # Option "xaa_no_color_exp"
-LINE # Option "xaa_benchmark"
-LINE # Option "hw_cursor"
-LINE # Option "sync_on_green"
-LINE # Option "fast_dram"
-LINE # Option "use_vclk1"
-LINE # Textclockfreq 25.175
-SEE Chips & Technologies CT65530
-
-NAME Chips & Technologies CT65554
-CHIPSET ct65554
-SEE Chips & Technologies CT65550
-
-NAME Chips & Technologies CT65555
-CHIPSET ct65555
-SEE Chips & Technologies CT65550
-
-NAME Chips & Technologies CT68554
-CHIPSET ct68554
-SEE Chips & Technologies CT65550
-
-NAME Chips & Technologies CT69000
-CHIPSET ct69000
-SEE Chips & Technologies CT65550
-
-NAME Chips & Technologies CT69030
-CHIPSET ct69030
-SEE Chips & Technologies CT65550
-
-NAME Chips & Technologies CT64200
-CHIPSET ct64200
-SERVER SVGA
-DRIVER chips
-LINE # Device section for C&T cards.
-LINE # videoram 1024
-
-NAME Chips & Technologies CT64300
-CHIPSET ct64300
-SERVER SVGA
-DRIVER chips
-LINE # Option "noaccel"
-LINE # Option "no_bitblt"
-LINE # Option "xaa_no_color_exp"
-LINE # Option "xaa_benchmark"
-LINE # Option "hw_cursor"
-LINE # Option "nolinear"
-LINE # MemBase 0x03b00000
-LINE # Option "hw_clocks"
-LINE # Textclockfreq 25.175
-SEE Chips & Technologies CT64200
-
-# Cirrus Logic
-
-#tested
-NAME Cirrus Logic GD542x
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-LINE # Device section for Cirrus Logic GD5420/2/4/6/8/9-based cards.
-LINE     #MemBase 0x00e00000
-LINE     #MemBase 0x04e00000
-LINE     #Option "linear"
-
-#tested
-NAME Cirrus Logic GD543x
-CHIPSET CL-GD5430/5434/5436
-SERVER SVGA
-DRIVER cirrus
-NOCLOCKPROBE
-LINE # Device section for Cirrus Logic GD5430/34-based cards.
-LINE     #MemBase 0x00e00000		# ISA card that maps to 14Mb
-LINE     #MemBase 0x04000000		# VLB card that maps to 64Mb
-LINE     #MemBase 0x80000000		# VLB card that maps to 2048Mb
-LINE     #MemBase 0x02000000		# VLB card that maps to 32Mb
-LINE     #Option "linear"
-
-NAME Cirrus Logic GD544x
-CHIPSET CL-GD544x
-SERVER SVGA
-DRIVER cirrus
-NOCLOCKPROBE
-
-NAME Creative Labs Graphics Blaster MA201
-SEE Cirrus Logic GD544x
-
-NAME Creative Labs Graphics Blaster MA202
-SEE Cirrus Logic GD544x
-
-#tested
-NAME Cirrus Logic GD5462
-CHIPSET CL-GD5462
-SERVER SVGA
-DRIVER cirrus
-NOCLOCKPROBE
-LINE #Option "fifo_conservative"
-
-#tested
-NAME Cirrus Logic GD5464
-CHIPSET CL-GD5464
-SERVER SVGA
-DRIVER cirrus
-NOCLOCKPROBE
-LINE #Option "fifo_conservative"
-
-#tested
-NAME Cirrus Logic GD5465
-CHIPSET CL-GD5465
-SERVER SVGA
-DRIVER cirrus
-NOCLOCKPROBE
-LINE #Option "fifo_conservative"
-
-NAME Creative Labs Graphics Blaster MA302
-CHIPSET CL-GD5462
-SEE Cirrus Logic GD5462
-
-NAME Creative Labs Graphics Blaster MA334
-CHIPSET CL-GD5464
-SEE Cirrus Logic GD5464
-
-NAME Creative Labs Graphics Blaster 3D
-CHIPSET CL-GD5464
-SEE Cirrus Logic GD5464
-
-#tested
-NAME Cirrus Logic GD5480
-CHIPSET CL-GD5480
-SERVER SVGA
-DRIVER cirrus
-NOCLOCKPROBE
-
-#tested
-NAME Diamond SpeedStar 64
-CHIPSET CL-GD5434
-SEE Cirrus Logic GD543x
-
-NAME Diamond SpeedStar64 Graphics 2000/2200
-CHIPSET CL-GD5434
-SEE Cirrus Logic GD543x
-
-NAME Diamond SpeedStar Pro SE (CL-GD5430/5434)
-SEE Cirrus Logic GD543x
-
-NAME Diamond SpeedStar Pro 1100
-SEE Cirrus Logic GD542x
-
-NAME Orchid Kelvin 64 VLB Rev A
-CHIPSET CL-GD5434
-SERVER SVGA
-DRIVER cirrus
-NOCLOCKPROBE
-LINE # Device section for Orchid Kelvin 64 VLB Rev A
-LINE # Linear framebuffer maps at 2048Mb. Some motherboards make linear addressing
-LINE # impossible. Some cards map at 32Mb.
-LINE     #MemBase 0x02000000		# VLB card that maps to 32Mb
-LINE     #MemBase 0x04000000		# VLB card that maps to 64Mb
-LINE     MemBase 0x80000000		# VLB card that maps to 2048Mb
-LINE     #Option "linear"
-
-NAME Orchid Kelvin 64 VLB Rev B
-CHIPSET CL-GD5434
-SERVER SVGA
-DRIVER cirrus
-NOCLOCKPROBE
-LINE # Device section for Orchid Kelvin 64 VLB Rev B
-LINE # Linear framebuffer maps at 32Mb. Some motherboards make linear addressing
-LINE # impossible. Some cards map at 2048Mb.
-LINE     MemBase 0x02000000		# VLB card that maps to 32Mb
-LINE     #MemBase 0x04000000		# VLB card that maps to 64Mb
-LINE     #MemBase 0x80000000		# VLB card that maps to 2048Mb
-LINE     #Option "linear"
-
-NAME Orchid Kelvin 64
-CHIPSET CL-GD5434
-SEE Cirrus Logic GD543x
-
-NAME Intel 5430
-CHIPSET CL-GD5430
-SEE Cirrus Logic GD543x
-
-NAME STB Nitro (64)
-CHIPSET CL-GD5434
-SEE Cirrus Logic GD543x
-
-NAME STB Nitro 64 Video
-CHIPSET CL-GD5446
-SEE Cirrus Logic GD544x
-
-NAME STB Horizon
-CHIPSET CL-GD5426/28
-SEE Cirrus Logic GD542x
-
-NAME STB Horizon Video
-CHIPSET CL-GD5440
-SEE Cirrus Logic GD544x
-
-NAME Genoa 8500VL(-28)
-CHIPSET CL-GD5426/28
-SEE Cirrus Logic GD542x
-
-NAME Diamond SpeedStar Pro (not SE)
-CHIPSET CL-GD5426/28
-SEE Cirrus Logic GD542x
-
-NAME ALG-5434(E)
-CHIPSET CL-GD5434
-SEE Cirrus Logic GD543x
-
-NAME Actix ProStar
-CHIPSET CL-GD5426/5428
-SEE Cirrus Logic GD542x
-
-NAME Actix ProStar 64
-CHIPSET CL-GD5434
-SEE Cirrus Logic GD543x
-
-#tested
-NAME Acumos AVGA3
-SEE Cirrus Logic GD542x
-
-NAME DFI-WG1000
-SEE Cirrus Logic GD542x
-
-NAME Spider VLB Plus
-CHIPSET CL-GD5428
-SEE Cirrus Logic GD542x
-
-NAME VI720
-CHIPSET CL-GD5434
-SEE Cirrus Logic GD543x
-
-NAME Cirrus Logic GD62xx (laptop)
-CHIPSET CL-GD6205/15/25/35
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME Cirrus Logic GD64xx (laptop)
-CHIPSET CL-GD6420/6440
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Cirrus Logic GD754x (laptop)
-CHIPSET CL-GD7541/42/43/48
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME Techworks Ultimate 3D
-CHIPSET CL-GD5464
-SEE Cirrus Logic GD5464
-
-NAME VideoLogic GrafixStar 550
-CHIPSET CL-GD5464
-SEE Cirrus Logic GD5464
-
-NAME Jaton Video-70P
-CHIPSET CL-GD5464
-SEE Cirrus Logic GD5464
-
-NAME PixelView Combo TV Pro (Prolink)
-CHIPSET CL-GD5480, 4MB
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-LINE # COMMENT on card TV Tuner
-NOCLOCKPROBE
-
-NAME PixelView Combo TV 3D AGP (Prolink)
-CHIPSET CL-GD5465, 4MB
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-LINE # COMMENT on card TV+FM Tuner
-NOCLOCKPROBE
-
-NAME Creative Labs Graphics Blaster Eclipse (OEM Model CT6510)
-SEE Cirrus Logic GD5465
-
-NAME VideoLogic GrafixStar 560 (PCI/AGP)
-SEE Cirrus Logic GD5465
-
-NAME Cirrus Logic GD5446 (noname card)
-CHIPSET CL-GD5446, 1MB (upgradable to 2MB).
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME Octek VL-VGA-26
-CHIPSET CL-GD5426
-SEE Cirrus Logic GD542x
-
-NAME Octek VL-VGA-28
-CHIPSET CL-GD5428
-SEE Cirrus Logic GD542x
-
-NAME Octek Combo-26
-CHIPSET CL-GD5426
-SEE Cirrus Logic GD542x
-
-NAME Octek Combo-28
-CHIPSET CL-GD5428
-SEE Cirrus Logic GD542x
-
-NAME Octek AVGA-20
-SEE Cirrus Logic GD542x
-
-# S3 801/805
-
-NAME S3 801/805 (generic)
-CHIPSET S3 801/805
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-
-NAME S3 86C801 (generic)
-SEE S3 801/805 (generic)
-
-NAME S3 86C805 (generic)
-SEE S3 801/805 (generic)
-
-#tested
-NAME S3 801/805 with ATT20c490 RAMDAC
-CHIPSET S3 801/805
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC att20c490
-LINE     #Option "dac_8_bit"		# Not supported by some 20c490 clones
-
-NAME S3 801/805 with SC1148{2,3,4} RAMDAC
-CHIPSET S3 801/805
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC sc11482
-
-NAME S3 801/805 with SC1148{5,7,9} RAMDAC
-CHIPSET S3 801/805
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC sc11485
-
-NAME S3 801/805 with S3 GenDAC
-CHIPSET S3 801/805
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC s3gendac
-CLOCKCHIP s3gendac
-
-NAME S3 801/805 with ATT20c490 RAMDAC and ICD2061A
-CHIPSET S3 801/805
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC att20c490
-CLOCKCHIP icd2061a
-LINE     #Option "dac_8_bit"		# Not supported by some 20c490 clones
-
-NAME S3 801/805 with Chrontel 8391
-CHIPSET S3 801/805
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC att20c490
-CLOCKCHIP ch8391
-LINE     Option "dac_8_bit"
-
-#tested
-NAME Actix GE32+ 2MB
-CHIPSET S3 801/805
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC att20c490
-LINE     #Option "dac_8_bit"
-
-NAME Actix GE32i
-CHIPSET S3 805i
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-
-NAME Orchid Fahrenheit VA
-CHIPSET S3 801/805
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC att20c490
-
-NAME Orchid Fahrenheit 1280
-CHIPSET S3 801
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-LINE     #Probable clocks:
-LINE     #Clocks 25.20 28.32 32.50 0.00 40.00 44.90 50.40 65.00
-LINE     #Clocks 78.00 56.70 63.10 75.10 80.00 89.90 100.90 31.50
-
-NAME Orchid Fahrenheit-1280+
-CHIPSET S3 801/805
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC att20C490
-LINE     Dacspeed   110
-LINE     Option     "dac_8_bit"
-LINE     #Option    "nolinear" # VLB card may require this
-LINE     #Probable clocks:
-LINE     #Clocks     25.20 28.32 40.0 0.0 50.10 77.0 36.10 45.0
-LINE     #Clocks     130.0 120.20 80.0 31.50 110.30 65.0 75.0 94.60
-
-NAME Diamond Stealth 24
-CHIPSET S3 801/805
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-CLOCKCHIP icd2061a
-LINE     #Option    "nolinear"
-LINE     #Ramdac "att20c490" # The Diamond RAMDAC is reportedly compatible for 15bpp
-
-NAME Miro Crystal 8S
-SEE S3 801/805 (generic)
-
-NAME Miro Crystal 10SD with GenDAC
-SEE S3 801/805 with S3 GenDAC
-
-NAME Dell S3 805
-SEE S3 801/805 (generic)
-
-NAME STB Powergraph X-24
-SEE S3 801/805 with ATT20c490 RAMDAC and ICD2061A
-
-NAME JAX 8241
-SEE S3 801/805 with Chrontel 8391
-
-NAME VL-41
-SEE S3 801/805 with Chrontel 8391
-
-NAME SPEA Mirage
-SEE S3 801/805 with Chrontel 8391
-
-# S3 864/Trio64/Trio32/868
-
-NAME S3 864 (generic)
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-
-NAME S3 86C864 (generic)
-SEE S3 864 (generic)
-
-NAME S3 Vision864 (generic)
-SEE S3 864 (generic)
-
-NAME S3 864 with SDAC (86C716)
-CHIPSET S3 864
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC s3_sdac
-CLOCKCHIP s3_sdac
-NOCLOCKPROBE
-
-NAME S3 864 with ATT 20C498 or 21C498
-CHIPSET S3 864
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC att20c498
-
-NAME S3 864 with STG1703
-CHIPSET S3 864
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC stg1703
-NOCLOCKPROBE
-
-NAME S3 868 (generic)
-CHIPSET S3 868
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-
-NAME S3 86C868 (generic)
-SEE S3 868 (generic)
-
-NAME S3 Vision868 (generic)
-SEE S3 868 (generic)
-
-NAME S3 868 with SDAC (86C716)
-CHIPSET S3 868
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME S3 868 with ATT 20C498 or 21C498
-CHIPSET S3 868
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC att20c498
-
-NAME S3 868 with ATT 20C409
-CHIPSET S3 868
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC att20c409
-NOCLOCKPROBE
-
-NAME Number Nine FX Motion 531
-CLOCKCHIP icd2061a
-SEE S3 868 with ATT 20C498 or 21C498
-
-NAME S3 Trio64 (generic)
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME S3 86C764 (generic)
-SEE S3 Trio64 (generic)
-
-NAME S3 Trio64V+ (generic)
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME S3 86C765 (generic)
-SEE S3 Trio64V+ (generic)
-
-NAME S3 Trio32 (generic)
-CHIPSET S3 Trio32
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME Genoa Phantom 64i with S3 SDAC
-DACSPEED 135
-SEE S3 864 with SDAC (86C716)
-
-NAME Number Nine GXE64
-CHIPSET S3 864
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-CLOCKCHIP icd2061a
-LINE     Option "number_nine"
-
-NAME Number Nine GXE64 with S3 Trio64
-SEE S3 Trio64 (generic)
-
-NAME Diamond Stealth 64 DRAM with S3 SDAC
-DACSPEED 135
-SEE S3 864 with SDAC (86C716)
-
-NAME Diamond Stealth64 Graphics 2xx0 series (864 + SDAC)
-DACSPEED 135
-SEE S3 864 with SDAC (86C716)
-
-NAME Diamond Stealth 64 DRAM with S3 Trio64
-SEE S3 Trio64 (generic)
-
-NAME Diamond Stealth64 Graphics 2xx0 series (Trio64)
-SEE S3 Trio64 (generic)
-
-NAME Diamond Stealth 64 DRAM SE
-SEE S3 Trio32 (generic)
-
-NAME Diamond Stealth64 Video 2001 series (2121/2201)
-SEE S3 Trio64V+ (generic)
-
-NAME Actix GE64
-CLOCKCHIP icd2061a
-SEE S3 864 (generic)
-
-NAME ELSA Winner 1000PRO with S3 SDAC
-SEE S3 864 with SDAC (86C716)
-
-NAME ELSA Winner 1000PRO with STG1700 or AT&T RAMDAC
-CHIPSET S3 864
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-CLOCKCHIP icd2061a
-
-NAME ELSA Winner 1000PRO/X
-SEE S3 868 with SDAC (86C716)
-
-NAME ELSA Winner 1000ISA
-CHIPSET S3 805i
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-CLOCKCHIP icd2061a
-LINE     Option "dac_8_bit"
-LINE     # the following settings should be detected and set automatically by XF86_S3
-LINE     # if the serial number of the ELSA card is printed correctly:
-LINE     #ClockChip "icd2061a"
-
-NAME Cardex Trio64
-SEE S3 Trio64 (generic)
-
-NAME Cardex Trio64Pro
-SEE S3 Trio64 (generic)
-
-NAME Miro Crystal 12SD
-SEE S3 Trio32 (generic)
-
-NAME Miro Crystal 22SD
-SEE S3 Trio64 (generic)
-
-NAME Miro Crystal 20SD with ICS2494 (BIOS 1.xx)
-SEE S3 864 with ATT 20C498 or 21C498
-
-NAME Miro Crystal 20SD with ICD2061A (BIOS 2.xx)
-CLOCKCHIP icd2061a
-SEE S3 864 with ATT 20C498 or 21C498
-
-NAME Miro Crystal 20SD VLB with S3 SDAC (BIOS 3.xx)
-SEE S3 864 with SDAC (86C716)
-
-NAME Miro Crystal 20SD PCI with S3 SDAC
-SEE S3 868 with SDAC (86C716)
-
-NAME ELSA Winner 1000AVI (SDAC version)
-SEE S3 868 with SDAC (86C716)
-
-NAME ELSA Winner 1000AVI (AT&T 20C409 version)
-SEE S3 868 with ATT 20C409
-
-NAME Diamond Stealth Video DRAM
-SEE S3 868 with SDAC (86C716)
-
-NAME Diamond Stealth64 Video 2120/2200
-SEE S3 868 with SDAC (86C716)
-
-NAME SPEA/V7 Mirage P64
-CLOCKCHIP ics2595
-SEE S3 864 (generic)
-
-NAME SPEA/V7 Mirage P64 with S3 Trio64
-SEE S3 Trio64 (generic)
-
-NAME Number Nine FX Vision 330
-SEE S3 Trio64 (generic)
-
-NAME Number Nine FX Motion 331
-SEE S3 Trio64V+ (generic)
-
-NAME ASUS Video Magic PCI V864
-SEE S3 864 (generic)
-
-NAME ASUS Video Magic PCI VT64
-SEE S3 Trio64 (generic)
-
-NAME VidTech FastMax P20
-SEE S3 864 (generic)
-
-NAME VideoLogic GrafixStar 500
-SEE S3 868 with SDAC (86C716)
-
-NAME VideoLogic GrafixStar 400
-SEE S3 Trio64V+ (generic)
-
-NAME VideoLogic GrafixStar 300
-SEE S3 Trio64 (generic)
-
-NAME 2 the Max MAXColor S3 Trio64V+
-SEE S3 Trio64V+ (generic)
-
-NAME DataExpert DSV3365
-SEE S3 Trio64V+ (generic)
-
-NAME ExpertColor DSV3365
-SEE S3 Trio64V+ (generic)
-
-NAME DSV3326
-SEE S3 Trio64V+ (generic)
-
-# S3 Trio64V2
-
-NAME S3 Trio64V2 (generic)
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME S3 Trio64V2/DX (generic)
-SEE S3 Trio64V2 (generic)
-
-NAME S3 Trio64V2/GX (generic)
-SEE S3 Trio64V2 (generic)
-
-NAME S3 86C775 (generic)
-SEE S3 Trio64V2/DX (generic)
-
-NAME S3 86C785 (generic)
-SEE S3 Trio64V2/GX (generic)
-
-NAME ELSA WINNER 1000/T2D
-SEE S3 Trio64V2/DX (generic)
-
-
-# S3 Aurora64V+
-
-NAME S3 Aurora64V+ (generic)
-CHIPSET S3 Aurora64V+
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-LINE     # Option "lcd_center"
-LINE     # Set_LCDClk  <pixel_clock_for_LCD>
-
-NAME S3 86CM65
-SEE S3 Aurora64V+ (generic)
-
-NAME SHARP 9080
-SEE S3 Aurora64V+ (generic)
-
-NAME SHARP 9090
-SEE S3 Aurora64V+ (generic)
-
-NAME COMPAQ Armada 7730MT
-SEE S3 Aurora64V+ (generic)
-
-NAME COMPAQ Armada 7380DMT
-SEE S3 Aurora64V+ (generic)
-
-
-# S3 964/968
-
-NAME S3 964 (generic)
-CHIPSET S3 964
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME S3 86C964 (generic)
-SEE S3 964 (generic)
-
-NAME S3 Vision964 (generic)
-SEE S3 964 (generic)
-
-NAME S3 968 (generic)
-CHIPSET S3 968
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME S3 86C968 (generic)
-SEE S3 968 (generic)
-
-NAME S3 Vision968 (generic)
-SEE S3 968 (generic)
-
-NAME Number Nine GXE64 Pro
-CHIPSET S3 964
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC ti3025
-LINE     Option "number_nine"
-
-NAME Diamond Stealth 64 VRAM
-CLOCKCHIP icd2061a
-LINE    #Option "slow_vram"
-SEE S3 964 (generic)
-
-NAME Diamond Stealth64 Video 3200
-CHIPSET S3 968
-LINE    #Option "slow_vram"
-SEE S3 968 (generic)
-
-NAME Diamond Stealth 64 Video VRAM (TI RAMDAC)
-CHIPSET S3 968
-LINE    #Option "slow_vram"
-LINE    #DacSpeed 220
-SEE S3 968 (generic)
-
-NAME Diamond Stealth64 Video 3240/3400 (TI RAMDAC)
-CHIPSET S3 968
-LINE    #Option "slow_vram"
-LINE    #DacSpeed 220
-SEE S3 968 (generic)
-
-NAME Diamond Stealth64 Video 3240/3400 (IBM RAMDAC)
-CHIPSET S3 968
-LINE    #Option "slow_vram"
-RAMDAC ibm_rgb526
-LINE    DacSpeed 220
-SEE S3 968 (generic)
-
-NAME Genoa VideoBlitz III AV
-CHIPSET S3 968
-LINE    #s3RefClk  50
-LINE    #DACspeed 170
-SEE S3 968 (generic)
-
-NAME STB Velocity 64 Video
-CHIPSET S3 968
-LINE    #s3RefClk  24
-LINE    #DACspeed 220
-SEE S3 968 (generic)
-
-NAME STB Powergraph 64 Video
-SEE S3 Trio64V+ (generic)
-
-NAME STB Powergraph 64
-SEE S3 Trio64 (generic)
-
-NAME ELSA Winner 1000TRIO
-SEE S3 Trio64 (generic)
-
-NAME ELSA Winner 1000TRIO/V
-SEE S3 Trio64V+ (generic)
-
-NAME Hercules Graphite Terminator 64
-LINE     Option "slow_vram"
-LINE    #s3RefClk  50
-LINE    #DACspeed 170
-SEE S3 964 (generic)
-
-NAME Hercules Terminator 64/Video
-SEE S3 Trio64V+ (generic)
-
-NAME Hercules Graphite Terminator 64/DRAM
-SEE S3 Trio64 (generic)
-
-NAME Hercules Graphite Terminator Pro 64
-LINE    #s3RefClk  16
-LINE    #DACspeed 220
-SEE S3 968 (generic)
-
-NAME Number Nine FX Motion 771
-LINE    #s3RefClk  16
-SEE S3 968 (generic)
-
-NAME Spider Tarantula 64
-SEE S3 964 (generic)
-
-NAME Miro Crystal 20SV
-CHIPSET S3 964
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-CLOCKCHIP icd2061a
-
-NAME Miro Crystal 40SV
-CHIPSET S3 964
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-CLOCKCHIP ti3025
-
-NAME Miro Crystal 80SV
-CHIPSET S3 968
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME Miro Video 20SV
-CHIPSET S3 968
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC att20c505
-LINE    #DacSpeed 150
-CLOCKCHIP ics9161a
-
-NAME SPEA Mercury 64
-CHIPSET S3 964
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-CLOCKCHIP ics9161a
-LINE     #Option "spea_mercury"
-
-NAME ELSA Winner 2000PRO-2
-CHIPSET S3 964
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-LINE     #Option "ELSA_w2000pro"
-NOCLOCKPROBE
-
-NAME ELSA Winner 2000PRO-4
-CHIPSET S3 964
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-LINE     #Option "ELSA_w2000pro"
-NOCLOCKPROBE
-
-NAME ELSA Winner 2000PRO/X-2
-CHIPSET S3 968
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-LINE     #Option "sync_on_green"
-NOCLOCKPROBE
-
-NAME ELSA Winner 2000PRO/X-4
-CHIPSET S3 968
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-LINE     #Option "sync_on_green"
-NOCLOCKPROBE
-
-NAME ELSA Winner 2000PRO/X-8
-CHIPSET S3 968
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-LINE     #Option "sync_on_green"
-NOCLOCKPROBE
-
-NAME ELSA Winner 2000AVI
-CHIPSET S3 968
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-LINE     #Option "sync_on_green"
-NOCLOCKPROBE
-
-NAME ELSA Gloria-4
-CHIPSET S3 968
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-LINE     #Option "sync_on_green"
-NOCLOCKPROBE
-
-NAME ELSA Gloria-8
-CHIPSET S3 968
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-LINE     #Option "sync_on_green"
-NOCLOCKPROBE
-
-NAME VideoLogic GrafixStar 700
-CHIPSET S3 968
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME LeadTek WinFast S430
-CHIPSET S3 968
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME WinFast S430
-SEE LeadTek WinFast S430
-
-NAME LeadTek WinFast S510
-CHIPSET S3 968
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME WinFast S510
-SEE LeadTek WinFast S510
-
-# S3 928
-
-NAME S3 928 (generic)
-CHIPSET S3 928
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-
-NAME S3 86C928 (generic)
-SEE S3 928 (generic)
-
-NAME Actix Ultra
-CHIPSET S3 928
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC att20c490
-LINE     #Option "dac_8_bit"
-
-NAME Diamond Stealth Pro
-CHIPSET S3 928
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-CLOCKCHIP icd2061a
-LINE     #Ramdac "att20c490" # The Diamond RAMDAC is reportedly compatible for 15bpp
-LINE     #Option "no_linear" # Some VLB machines may require this
-
-NAME ELSA Winner 1000VL
-CHIPSET S3 928
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-LINE     # the following settings should be detected and set automatically by XF86_S3
-LINE     # if the serial number of the ELSA card is printed correctly:
-LINE     #ClockChip "icd2061a"
-LINE     #Membase 0xf8000000
-
-NAME ELSA Winner 1000TwinBus
-SEE ELSA Winner 1000VL
-
-NAME ELSA Winner 2000
-SEE S3 928 (generic)
-
-NAME Miro Crystal 16S
-SEE S3 928 (generic)
-
-NAME SPEA/V7 Mercury
-CHIPSET S3 928
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-CLOCKCHIP sc11412
-LINE     Option "spea_mercury"
-
-NAME STB Pegasus
-CHIPSET S3 928
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-RAMDAC bt485
-CLOCKCHIP icd2061a
-LINE     Option "stb_pegasus"
-LINE     #Option "sync_on_green"
-
-NAME Number Nine GXE Level 14/16
-CHIPSET S3 928
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-DACSPEED 200
-CLOCKCHIP icd2061a
-LINE     Option "number_nine"
-LINE     #Option "nolinear"
-LINE     #Option "nomemaccess"
-
-NAME Number Nine GXE Level 10/11/12
-CHIPSET S3 928
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-CLOCKCHIP icd2061a
-LINE     Option "number_nine"
-
-NAME 928Movie
-CHIPSET S3 928
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-CLOCKCHIP icd2595
-RAMDAC bt485
-LINE     # pixel multiplexing not supported
-
-# S3 911/924
-
-NAME S3 911/924 (generic)
-CHIPSET S3 911/924
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-
-NAME S3 86C911 (generic)
-SEE S3 911/924 (generic)
-
-NAME S3 86C924 (generic)
-SEE S3 911/924 (generic)
-
-NAME Diamond Stealth VRAM
-CHIPSET S3 911/924
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-CLOCKCHIP icd2061a
-
-#NAME Orchid Fahrenheit 1280
-#SEE S3 911/924 (generic)
-
-NAME S3 924 with SC1148 DAC
-CHIPSET S3 924
-SERVER S3
-DRIVER vga
-UNSUPPORTED
-LINE     #Probable clocks:
-LINE     #Clocks 25.2 28.3 39.7 1.7 49.9 76.7 35.7 44
-LINE     #Clocks 130.2 119.5 79.4 31.2 110.0 65.2 74.9 71.3
-
-# S3 ViRGE,/DX,/GX and ViRGE/VX
-
-NAME S3 ViRGE (old S3V server)
-CHIPSET S3 ViRGE
-SERVER S3V
-DRIVER s3virge
-NOCLOCKPROBE
-
-NAME S3 ViRGE (generic)
-CHIPSET S3 ViRGE
-SERVER SVGA
-DRIVER s3virge
-NOCLOCKPROBE
-LINE      #Option "xaa_benchmark"
-LINE      #Option "fifo_moderate"
-LINE      #Option "pci_burst_on"
-LINE      #Option "pci_retry"
-
-NAME S3 ViRGE/DX (generic)
-CHIPSET S3 ViRGE/DX
-SERVER SVGA
-DRIVER s3virge
-NOCLOCKPROBE
-LINE      #Option "xaa_benchmark"
-LINE      #Option "fifo_moderate"
-LINE      #Option "pci_burst_on"
-LINE      #Option "pci_retry"
-
-NAME S3 ViRGE/GX (generic)
-CHIPSET S3 ViRGE/GX
-SERVER SVGA
-DRIVER s3virge
-NOCLOCKPROBE
-LINE      #Option "xaa_benchmark"
-LINE      #Option "fifo_moderate"
-LINE      #Option "pci_burst_on"
-LINE      #Option "pci_retry"
-
-
-NAME S3 ViRGE/GX2 (generic)
-CHIPSET S3 ViRGE/GX2
-SERVER SVGA
-DRIVER s3virge
-NOCLOCKPROBE
-LINE      #Option "xaa_benchmark"
-LINE      #Option "fifo_moderate"
-LINE      #Option "pci_burst_on"
-LINE      #Option "pci_retry"
-
-NAME S3 ViRGE/MX (generic)
-CHIPSET S3 ViRGE/MX
-SERVER SVGA
-DRIVER s3virge
-NOCLOCKPROBE
-LINE      #Option "lcd_center"
-LINE      #Set_LCDClk  <pixel_clock_for_LCD>
-LINE      #Option "xaa_benchmark"
-LINE      #Option "fifo_moderate"
-LINE      #Option "pci_burst_on"
-LINE      #Option "pci_retry"
-
-NAME S3 ViRGE/MX+ (generic)
-SEE S3 ViRGE/MX (generic)
-
-
-
-
-NAME S3 86C325 (generic)
-SEE S3 ViRGE (generic)
-
-NAME S3 86C375 (generic)
-SEE S3 ViRGE/DX (generic)
-
-NAME S3 86C385 (generic)
-SEE S3 ViRGE/GX (generic)
-
-NAME S3 86C357 (generic)
-SEE S3 ViRGE/GX2 (generic)
-
-NAME S3 86C260 (generic)
-SEE S3 ViRGE/MX (generic)
-
-NAME S3 86C280 (generic)
-SEE S3 ViRGE/MX+ (generic)
-
-
-NAME ELSA Victory 3D
-SEE S3 ViRGE (generic)
-
-NAME ELSA Victory 3DX
-SEE S3 ViRGE/DX (generic)
-
-NAME ELSA Winner 3000-S
-SEE S3 ViRGE (generic)
-
-NAME Number Nine Visual 9FX Reality 332
-SEE S3 ViRGE (generic)
-
-NAME Number Nine FX Motion 332
-SEE S3 ViRGE (generic)
-
-NAME Diamond Stealth 3D 2000
-SEE S3 ViRGE (generic)
-
-NAME Diamond Stealth 3D 2000 PRO
-SEE S3 ViRGE/DX (generic)
-
-NAME Diamond Multimedia Stealth 3D 2000
-SEE S3 ViRGE (generic)
-
-NAME Diamond Multimedia Stealth 3D 2000 PRO
-SEE S3 ViRGE/DX (generic)
-
-NAME Canopus Co. Power Window 3DV
-SEE S3 ViRGE (generic)
-
-NAME DataExpert DSV3325
-SEE S3 ViRGE (generic)
-
-NAME ExpertColor DSV3325
-SEE S3 ViRGE (generic)
-
-NAME DSV3325
-SEE S3 ViRGE (generic)
-
-NAME Hercules Terminator 64/3D
-SEE S3 ViRGE (generic)
-
-NAME Hercules Terminator 3D/DX
-SEE S3 ViRGE/DX (generic)
-
-NAME LeadTek WinFast 3D S600
-SEE S3 ViRGE (generic)
-
-NAME WinFast 3D S600
-SEE LeadTek WinFast 3D S600
-
-NAME LeadTek WinFast 3D S680
-SEE S3 ViRGE/GX2 (generic)
-
-NAME Miro MiroMedia 3D
-SEE S3 ViRGE (generic)
-
-NAME Orchid Technology Fahrenheit Video 3D
-SEE S3 ViRGE (generic)
-
-NAME STB Systems Powergraph 3D
-SEE S3 ViRGE (generic)
-
-NAME STB Nitro 3D
-CHIPSET S3 ViRGE/GX
-SEE S3 ViRGE/GX (generic)
-
-NAME MELCO WGP-VG4S
-LINE      #DACSpeed  191 162 111 83
-LINE      #SetMClck  75
-SEE S3 ViRGE (generic)
-
-
-
-NAME S3 ViRGE/VX (generic)
-CHIPSET S3 ViRGE/VX
-SERVER SVGA
-DRIVER s3virge
-NOCLOCKPROBE
-LINE      #Option "xaa_benchmark"
-LINE      #Option "fifo_moderate"
-LINE      #Option "pci_burst_on"
-LINE      #Option "pci_retry"
-
-
-NAME S3 86C988 (generic)
-SEE S3 ViRGE/VX (generic)
-
-NAME ELSA Winner 3000
-SEE S3 ViRGE/VX (generic)
-
-NAME ELSA Winner 3000-M-22
-SEE S3 ViRGE/VX (generic)
-
-NAME ELSA Winner 3000-L-42
-SEE S3 ViRGE/VX (generic)
-
-NAME ELSA Winner 2000AVI/3D
-SEE S3 ViRGE/VX (generic)
-
-NAME Diamond Stealth 3D 3000
-SEE S3 ViRGE/VX (generic)
-
-NAME STB Systems Velocity 3D
-SEE S3 ViRGE/VX (generic)
-
-NAME MELCO WGP-VX8
-SEE S3 ViRGE/VX (generic)
-
-NAME Diamond Stealth 3D 4000
-SEE S3 ViRGE/GX2 (generic)
-
-NAME Toshiba Tecra 750CDT
-SEE S3 ViRGE/MX (generic)
-
-NAME Toshiba Tecra 750DVD
-SEE S3 ViRGE/MX (generic)
-
-NAME Toshiba Tecra 540CDT
-SEE S3 ViRGE/MX (generic)
-
-NAME Toshiba Tecra 550CDT
-SEE S3 ViRGE/MX (generic)
-
-# currently unsupported S3
-
-NAME S3 86C365 (Trio3D)
-SEE * Unsupported VGA compatible
-
-NAME S3 86C391 (Savage3D)
-SEE * Unsupported VGA compatible
-
-NAME S3 Trio3D
-SEE * Unsupported VGA compatible
-
-NAME S3 Savage3D
-SEE * Unsupported VGA compatible
-
-NAME S3 Savage4
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-# ET4000/ET6000
-
-NAME ET3000 (generic)
-CHIPSET ET3000
-SERVER SVGA
-DRIVER tseng
-
-NAME Genoa 5400
-SEE ET3000 (generic)
-
-NAME ET4000 (generic)
-CHIPSET ET4000
-SERVER SVGA
-DRIVER tseng
-
-NAME ET4000/W32 (generic)
-CHIPSET ET4000/W32
-SERVER W32
-DRIVER tseng
-
-NAME ET4000 W32i, W32p (generic)
-CHIPSET ET4000/W32(i/p)
-SERVER SVGA
-DRIVER tseng
-LINE     #Option "linear"       # for linear mode at 8bpp
-LINE     #Option "noaccel"      # when problems with accelerator
-LINE     #Option "power_saver"  # enable VESA DPMS
-LINE     #Option "fast_dram"
-LINE     #Option "pci_retry"    # faster, but problematic for ISA DMA
-LINE     #Option "hibit_high"   # see README.tseng -- most cards need this
-LINE     #Option "hibit_low"    # see README.tseng -- mostly for older ET4000 cards
-LINE     #MemBase 0x3C00000     # when automatic MemBase detection doesn't work
-LINE         # -- see README.tseng for more (important) information on MemBase
-
-NAME ET6000 (generic)
-CHIPSET ET6000
-SERVER SVGA
-DRIVER tseng
-NOCLOCKPROBE
-LINE     #videoram 2304         # 2.25 MB, when memory probe is incorrect
-LINE     #Option "linear"       # for linear mode at 8bpp
-LINE     #Option "noaccel"      # when problems with accelerator
-LINE     #Option "power_saver"  # enable VESA DPMS
-LINE     #Option "pci_retry"    # faster, but problematic for ISA DMA
-LINE     #Option "hw_cursor"    # Use hardware cursor (see docs for limitations)
-LINE     #Option "xaa_no_color_exp"  # When text (or bitmap) is not rendered correctly
-
-NAME ET6100 (generic)
-CHIPSET ET6100
-SEE ET6000 (generic)
-
-NAME Diamond Stealth 32
-CLOCKCHIP icd2061a
-NOCLOCKPROBE
-SEE ET4000 W32i, W32p (generic)
-
-NAME Cardex Cobra
-SEE ET4000 W32i, W32p (generic)
-
-NAME Cardex Challenger (Pro)
-SEE ET4000 W32i, W32p (generic)
-
-NAME Colorgraphic Dual Lightning
-SEE ET4000 W32i, W32p (generic)
-
-NAME Dell onboard ET4000
-SEE ET4000 (generic)
-
-NAME DFI-WG5000
-SEE ET4000 W32i, W32p (generic)
-
-NAME Diamond SpeedStar (Plus)
-SEE ET4000 (generic)
-
-NAME Diamond SpeedStar 24
-SEE ET4000 (generic)
-
-NAME Diamond SpeedStar HiColor
-SEE ET4000 (generic)
-
-NAME Genoa 8900 Phantom 32i
-SEE ET4000 W32i, W32p (generic)
-
-NAME Hercules Dynamite
-SEE ET4000/W32 (generic)
-
-NAME Hercules Dynamite Power
-SEE ET4000 W32i, W32p (generic)
-
-NAME Hercules Dynamite Pro
-SEE ET4000 W32i, W32p (generic)
-
-NAME Integral FlashPoint
-SEE ET4000 W32i, W32p (generic)
-
-NAME LeadTek WinFast S200
-SEE ET4000 W32i, W32p (generic)
-
-NAME Matrox Comet
-SEE ET4000 W32i, W32p (generic)
-
-NAME Matrox Marvel II
-SEE ET4000 W32i, W32p (generic)
-
-NAME Miro MiroVideo 20TD
-SEE ET4000 W32i, W32p (generic)
-
-NAME WinFast S200
-SEE LeadTek WinFast S200
-
-NAME Sigma Concorde
-SEE ET4000/W32 (generic)
-
-NAME Sigma Legend
-SEE ET4000 (generic)
-
-NAME SPEA/V7 ShowTime Plus
-SEE ET4000 W32i, W32p (generic)
-
-NAME STB LightSpeed
-SEE ET4000 W32i, W32p (generic)
-
-NAME STB MVP-2
-SEE ET4000 (generic)
-
-NAME STB MVP-2 PCI
-SEE ET4000 W32i, W32p (generic)
-
-NAME STB MVP-2X
-SEE ET4000 W32i, W32p (generic)
-
-NAME STB MVP-4 PCI
-SEE ET4000 W32i, W32p (generic)
-
-NAME STB MVP-4X
-SEE ET4000 W32i, W32p (generic)
-
-NAME TechWorks Thunderbolt
-SEE ET4000/W32 (generic)
-
-NAME ViewTop PCI
-SEE ET4000 W32i, W32p (generic)
-
-NAME SNI PC5H W32
-CLOCKCHIP stg1703
-NOCLOCKPROBE
-SEE ET4000 W32i, W32p (generic)
-
-NAME SNI Scenic W32
-CLOCKCHIP stg1703
-NOCLOCKPROBE
-SEE ET4000 W32i, W32p (generic)
-
-NAME Hercules Dynamite 128/Video
-SEE ET6000 (generic)
-
-NAME STB LightSpeed 128
-SEE ET6000 (generic)
-
-NAME VideoLogic GrafixStar 600
-SEE ET6000 (generic)
-
-NAME Jazz Multimedia G-Force 128
-SEE ET6000 (generic)
-
-NAME Mirage Z-128
-SEE ET6000 (generic)
-
-NAME California Graphics SunTracer 6000
-SEE ET6000 (generic)
-
-NAME Binar Graphics AnyView
-SEE ET6000 (generic)
-
-NAME MediaVision Proaxcel 128
-SEE ET6000 (generic)
-
-NAME ATrend ATC-2165A
-SEE ET6000 (generic)
-
-NAME Interay PMC Viper
-SEE ET6000 (generic)
-
-NAME 2-the-Max MAXColor 6000
-SEE ET6000 (generic)
-
-NAME Gainward Challenger EV
-SEE ET6000 (generic)
-
-NAME MachSpeed VGA ET6000
-SEE ET6000 (generic)
-
-NAME KouTech KeyVision 128 EV
-SEE ET6000 (generic)
-
-NAME Jaton Video-58P
-SEE ET6000 (generic)
-
-# ATI
-
-NAME ATI Rage 128
-CHIPSET ati
-SERVER SVGA
-DRIVER ati
-
-NAME ATI 8514 Ultra (no VGA)
-CHIPSET ati
-SERVER Mach8
-DRIVER vga
-UNSUPPORTED
-
-NAME ATI Graphics Ultra
-CHIPSET ati
-SERVER Mach8
-DRIVER ati
-
-NAME ATI Graphics Ultra Pro
-CHIPSET ati
-SERVER Mach32
-DRIVER ati
-
-NAME ATI Wonder SVGA
-CHIPSET ati
-SERVER SVGA
-DRIVER ati
-
-NAME ATI Ultra Plus
-CHIPSET ati
-SERVER Mach32
-DRIVER ati
-
-NAME ATI Mach32
-CHIPSET ati
-SERVER Mach32
-DRIVER ati
-
-NAME ATI Mach64
-CHIPSET ati
-SERVER Mach64
-DRIVER ati
-NOCLOCKPROBE
-
-NAME ATI Mach64 CT (264CT)
-SEE ATI Mach64
-
-NAME ATI Mach64 VT (264VT)
-SEE ATI Mach64
-
-NAME ATI Mach64 GT (264GT), aka 3D RAGE
-SEE ATI Mach64
-
-NAME ATI Mach64 3D RAGE II
-SEE ATI Mach64
-
-NAME ATI Mach64 3D RAGE II+DVD
-SEE ATI Mach64
-
-NAME ATI Mach64 3D Rage IIC
-SEE ATI Mach64
-
-NAME ATI Mach64 3D Rage Pro
-SEE ATI Mach64
-
-NAME ATI 3D Pro Turbo
-SEE ATI Mach64
-
-NAME ATI 3D Pro Turbo PC2TV
-SEE ATI Mach64
-
-NAME ATI 3D Xpression
-SEE ATI Mach64
-
-NAME ATI 3D Xpression+
-SEE ATI Mach64
-
-NAME ATI 3D Xpression+ PC2TV
-SEE ATI Mach64
-
-NAME ATI All-in-Wonder
-SEE ATI Mach64
-
-NAME ATI All-in-Wonder Pro
-SEE ATI Mach64
-
-NAME ATI Graphics Pro Turbo
-SEE ATI Mach64
-
-NAME ATI Graphics Pro Turbo 1600
-SEE ATI Mach64
-
-NAME ATI Graphics Xpression
-SEE ATI Mach64
-
-NAME ATI Video Boost
-SEE ATI Mach64
-
-NAME ATI Video Charger
-SEE ATI Mach64
-
-NAME ATI Video Xpression
-SEE ATI Mach64
-
-NAME ATI Video Xpression+
-SEE ATI Mach64
-
-NAME ATI WinBoost
-SEE ATI Mach64
-
-NAME ATI WinCharger
-SEE ATI Mach64
-
-NAME ATI WinTurbo
-SEE ATI Mach64
-
-NAME ATI Xpert 98
-SEE ATI Mach64
-
-NAME ATI Xpert XL
-SEE ATI Mach64
-
-NAME ATI Xpert at Play
-SEE ATI Mach64
-
-NAME ATI Xpert at Play 98
-SEE ATI Mach64
-
-NAME ATI Xpert at Work
-SEE ATI Mach64
-
-NAME ATI integrated on Intel Maui MU440EX motherboard
-SEE ATI Mach64
-
-NAME ASUS PCI-V264CT
-SEE ATI Mach64
-
-NAME ASUS PCI-AV264CT
-SEE ATI Mach64
-
-# AGX
-
-NAME AGX (generic)
-CHIPSET AGX-014/15/16
-SERVER AGX
-DRIVER vga
-UNSUPPORTED
-
-NAME Boca Vortex (Sierra RAMDAC)
-CHIPSET AGX-015
-SERVER AGX
-DRIVER vga
-UNSUPPORTED
-RAMDAC sc15025
-LINE     Option "dac_8_bit"
-LINE     Option "no_wait_state"
-LINE     #Option "fifo_moderate"   # 2x bus bw - may result in random pixels
-
-NAME EIZO (VRAM)
-SEE AGX (generic)
-
-NAME Orchid Celsius (AT&T RAMDAC)
-CHIPSET AGX-015
-SERVER AGX
-DRIVER vga
-UNSUPPORTED
-RAMDAC att20c490
-LINE     Option "dac_8_bit"
-LINE     Option "no_wait_state"
-LINE     #Option "fifo_moderate"   # 2x bus bw - may result in random pixels
-
-NAME Orchid Celsius (Sierra RAMDAC)
-CHIPSET AGX-015
-SERVER AGX
-DRIVER vga
-UNSUPPORTED
-RAMDAC sc15025
-LINE     Option "dac_8_bit"
-LINE     Option "no_wait_state"
-LINE     #Option "fifo_moderate"   # 2x bus bw - may result in random pixels
-
-
-NAME Spider Black Widow
-CHIPSET AGX-015
-SERVER AGX
-DRIVER vga
-UNSUPPORTED
-RAMDAC sc15025
-LINE     Option "dac_8_bit"
-LINE     Option "no_wait_state"
-LINE     #Option "fifo_moderate"   # 2x bus bw - may result in random pixels
-
-
-NAME Spider Black Widow Plus
-CHIPSET AGX-016
-SERVER AGX
-DRIVER vga
-UNSUPPORTED
-RAMDAC sc15025
-LINE     Option "dac_8_bit"
-LINE     Option "no_wait_state"
-LINE     #Option "fifo_moderate"   # 2x bus bw - may result in random pixels
-LINE     #Option "fifo_aggressive" # 3x bus bw - may result in random pixels
-LINE	 #Probable clocks:
-LINE     #Clocks 25.2  28.3  39.9  72.2  50.0  76.9  36.1  44.8
-LINE     #Clocks 89.0  119.8 79.9  31.5 110.0  64.9  74.9  94.9
-
-NAME Hercules Graphite HG210
-CHIPSET AGX-014
-SERVER AGX
-DRIVER vga
-UNSUPPORTED
-RAMDAC bt482
-DACSPEED 85
-LINE     Chipset "AGX-014"
-LINE     Option "dac_8_bit"
-LINE     Option "no_wait_state"
-LINE     #Probable clocks:
-LINE     #Clocks 25.0  28.0  32.0  36.0  40.0  45.0  50.0  65.0
-LINE     #Clocks 70.0  75.0  80.0  85.0  90.0  95.0 100.0 110.0
-
-NAME Hercules Graphite Pro
-CHIPSET AGX-015
-SERVER AGX
-DRIVER vga
-UNSUPPORTED
-# Card specific DAC, doesn't appear in ramdac menu
-LINE     Ramdac "herc_dual_dac"
-LINE     Chipset "AGX-015"
-LINE     Option "dac_8_bit"
-LINE     Option "no_wait_state"
-LINE     #Option "fifo_moderate"   # 2x bus bw - may result in random pixels
-LINE     #Probable clocks:
-LINE     #Clocks 25.0  28.0  32.0  36.0  40.0  45.0  50.0  65.0
-LINE     #Clocks 70.0  75.0  80.0  85.0  90.0  95.0 100.0 110.0
-
-NAME Hercules Graphite Power
-CHIPSET AGX-016
-SERVER AGX
-DRIVER vga
-UNSUPPORTED
-# Card specific DAC, doesn't appear in ramdac menu
-#   The glue logic state machine for RAMDAC switching doesn't work as
-#   documented, for now we're stuck with the small RAMDAC
-LINE     Ramdac "herc_small_dac"
-LINE     Chipset "AGX-016"
-LINE     Option "dac_8_bit"
-LINE     Option "no_wait_state"
-LINE     #Option "fifo_moderate"   # 2x bus bw - may result in random pixels
-LINE     #Option "fifo_aggressive" # 3x bus bw - may result in random pixels
-LINE     #Probable clocks:
-LINE     #Clocks 25.0  28.0  32.0  36.0  40.0  45.0  50.0  65.0
-LINE     #Clocks 70.0  75.0  80.0  85.0  90.0  95.0 100.0 110.0
-
-NAME XGA-2  (ISA bus)
-CHIPSET XGA-2
-SERVER AGX
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-LINE     #Instance  7           # XGA instance 0-7
-LINE     #COPbase   0xC8F00     # XGA memory-mapped register address
-LINE     #POSbase   0           # Disable probing if above are specified
-
-NAME XGA-1  (ISA bus)
-CHIPSET XGA-1
-SERVER AGX
-DRIVER vga
-UNSUPPORTED
-LINE     #Instance  7           # XGA instance 0-7
-LINE     #COPbase   0xC8F00     # XGA memory-mapped register address
-LINE     #POSbase   0           # Disable probing if above are specified
-
-# WD
-
-NAME Paradise/WD 90CXX
-CHIPSET WD90CXX
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME DFI-WG6000
-CHIPSET WD90C33
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Diamond SpeedStar 24X (not fully supported)
-CHIPSET WD90C31
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME WD 90C24 (laptop)
-CHIPSET WD90C24
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-LINE     #Chipset "wd90c24"
-LINE     #Option "noaccel" # Use this if acceleration is causing problems
-LINE     #Clocks 25.175 28.322 65     36     # These are not programmable
-LINE     #Clocks 29.979 77.408 62.195 59.957 # These are programmable
-LINE     #Clocks 31.5   35.501 75.166 50.114 # These are not programmable
-LINE     #Clocks 39.822 72.038 44.744 80.092 # These are programmable
-LINE     #Clocks 44.297                      # Must match Mclk
-
-
-NAME WD 90C24A or 90C24A2 (laptop)
-CHIPSET WD90C24A
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-LINE     #Chipset "wd90c24"
-LINE     #Clocks 25.175 28.322 65     36     # These are not programmable
-LINE     #Clocks 29.979 77.408 62.195 59.957 # These are programmable
-LINE     #Clocks 31.5   35.501 75.166 50.114 # These are not programmable
-LINE     #Clocks 39.822 72.038 44.744 80.092 # These are programmable
-LINE     #Clocks 44.297                      # Must match Mclk
-
-# Avance Logic
-
-NAME Avance Logic 2101
-CHIPSET Avance Logic
-LINE   #chipset "al2101"
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Avance Logic 2228
-CHIPSET Avance Logic
-LINE   #chipset "ali2228"
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Avance Logic 2301
-CHIPSET Avance Logic
-LINE   #chipset "ali2301"
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Avance Logic 2302
-CHIPSET Avance Logic
-LINE   #chipset "ali2302"
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Avance Logic 2308
-CHIPSET Avance Logic
-LINE   #chipset "ali2308"
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Avance Logic 2401
-CHIPSET Avance Logic
-LINE   #chipset "ali2401"
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Hercules Stingray
-CHIPSET ALG-2228/2301/2302
-LINE   #chipset "ali2228"
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME SPEA/V7 Mirage VEGA Plus
-CHIPSET ALG-2228
-LINE   #chipset "ali2228"
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-# ARK Logic
-
-NAME Ark Logic ARK1000PV (generic)
-CHIPSET ARK1000PV
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-# For now, treat the VL as a PV.  This may be changed later
-NAME Ark Logic ARK1000VL (generic)
-CHIPSET ARK1000VL
-LINE Chipset "ark1000pv"
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Ark Logic ARK2000PV (generic)
-CHIPSET ARK1000PV
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Ark Logic ARK2000MT (generic)
-CHIPSET ARK1000MT
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Hercules Stingray Pro
-SEE Ark Logic ARK1000PV (generic)
-
-NAME Hercules Stingray Pro/V
-SEE Ark Logic ARK1000PV (generic)
-
-NAME Ocean (octek) VL-VGA-1000
-RAMDAC att20c490
-SEE Ark Logic ARK1000VL (generic)
-
-NAME Hercules Stingray 64/V with ZoomDAC
-SEE Ark Logic ARK2000PV (generic)
-
-NAME Hercules Stingray 64/V with ICS5342
-CHIPSET ARK2000MT
-RAMDAC ics5342
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Diamond Stealth64 Graphics 2001 series
-CHIPSET ARK2000PV
-RAMDAC ics5342
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-# Oak
-
-NAME Oak ISA Card (generic)
-CHIPSET Oak OTI-067/77
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Oak 87 VLB (generic)
-CHIPSET Oak OTI-087
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-LINE Option "fifo_aggressive" # Comment this if you experience streaks.
-LINE Option "no_wait"         # Comment this if you find problems.        
-LINE #Option "enable_bitblt"  # You may enable this and see if it works (see README.Oak file)
-
-NAME Oak 87 ISA (generic)
-CHIPSET Oak OTI-087
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-LINE Option "noaccel"        # ISA cards seem to have Color Expansion support broken
-LINE #Option "enable_bitblt" # This should work on ISA, but lets not make it default just in case.
-
-NAME Paradise Accelerator Value
-SEE Oak 87 ISA (generic)
-
-# P9000
-
-NAME Diamond Viper VLB 2Mb
-CHIPSET Weitek 9000
-SERVER P9000
-DRIVER vga
-UNSUPPORTED
-LINE     #Clocks must match the mode clocks (XFree86 3.1 P9000 server)
-LINE     #Versions later than 3.1 do not require a clocks line
-LINE     Chipset "vipervlb" # Required for some cards which autodetect as PCI
-LINE     Videoram 2048      # Required
-LINE     Membase 0x80000000 # Optional (0x80000000 is default)
-NOCLOCKPROBE
-
-NAME Diamond Viper PCI 2Mb
-CHIPSET Weitek 9000
-SERVER P9000
-DRIVER vga
-UNSUPPORTED
-LINE     #Clocks must match the mode clocks (XFree86 3.1 P9000 server)
-LINE     #Versions later than 3.1 do not require a clocks line
-LINE     Videoram 2048      # Required
-LINE     #Membase 0x80000000 # Use scanpci to get the correct Membase
-NOCLOCKPROBE
-
-NAME Orchid P9000 VLB
-CHIPSET Weitek 9000
-SERVER P9000
-DRIVER vga
-UNSUPPORTED
-LINE     Chipset "orchid_p9000"
-LINE     Membase 0xE0000000
-NOCLOCKPROBE
-
-# P9100
-
-NAME Weitek P9100 (generic)
-CHIPSET Weitek P9100
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME Diamond Viper Pro Video
-SEE Weitek P9100 (generic)
-
-# Trident
-
-NAME Trident 8900/9000 (generic)
-CHIPSET TVGA8900/9000
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Trident 8900D (generic)
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Trident TVGA9200CXr (generic)
-CHIPSET TVGA9200CXr
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-NAME Trident TGUI9400CXi (generic)
-CHIPSET TGUI9400CXi
-SERVER SVGA
-DRIVER trident
-
-NAME Trident TGUI9420DGi (generic)
-CHIPSET TGUI9420DGi
-SERVER SVGA
-DRIVER trident
-
-NAME Trident TGUI9430DGi (generic)
-CHIPSET TGUI9430DGi
-SERVER SVGA
-DRIVER trident
-
-NAME Trident TGUI9420 (generic)
-CHIPSET TGUI9420
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident TGUI9440 (generic)
-CHIPSET TGUI9440
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident TGUI9660 (generic)
-CHIPSET TGUI9660
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident TGUI9680 (generic)
-CHIPSET TGUI9680
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident TGUI9682 (generic)
-CHIPSET TGUI9682
-SERVER SVGA
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident TGUI9685 (generic)
-CHIPSET TGUI9685
-SERVER SVGA
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident Cyber 9320 (generic)
-CHIPSET Cyber9320
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident Cyber 9382 (generic)
-CHIPSET Cyber9382
-SERVER SVGA
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident Cyber 9385 (generic)
-CHIPSET Cyber9385
-SERVER SVGA
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident Cyber 9388 (generic)
-CHIPSET Cyber9388
-SERVER SVGA
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident Cyber 939a (generic)
-CHIPSET Cyber939a
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident Cyber 9397 (generic)
-CHIPSET Cyber9397
-SERVER SVGA
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident Cyber 9520 (generic)
-CHIPSET Cyber9520
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident 3DImage975 (generic)
-CHIPSET 3dimage975
-SERVER SVGA
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident 3DImage975 AGP (generic)
-CHIPSET 3dimage975
-SERVER SVGA
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident 3DImage985 (generic)
-CHIPSET 3dimage985
-SERVER SVGA
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident Providia 9682 (generic)
-CHIPSET Providia9682
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident Providia 9685 (generic)
-CHIPSET Providia9685
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident TVGA 8800BR
-SEE * Generic VGA compatible
-
-NAME Trident TVGA 8800CS
-SEE * Generic VGA compatible
-
-NAME Trident CyberBlade (generic)
-CHIPSET CyberBlade
-SERVER SVGA
-DRIVER trident
-NOCLOCKPROBE
-
-NAME Trident Blade3D (generic)
-CHIPSET Blade3D
-SERVER SVGA
-DRIVER trident
-NOCLOCKPROBE
-
-# SiS
-
-NAME SiS 530
-CHIPSET SIS530
-SERVER SVGA
-DRIVER sis
-
-NAME SiS 620
-CHIPSET SIS620
-SERVER SVGA
-DRIVER sis
-
-NAME SiS SG86C201
-CHIPSET SIS86C201
-SERVER SVGA
-DRIVER sis
-
-NAME SiS SG86C205
-CHIPSET SIS86C205
-SERVER SVGA
-DRIVER sis
-LINE     # Option "no_accel" # Use this if acceleration is causing problems
-LINE     # Option "fifo_moderate" 
-LINE     # Option "fifo_conserv" 
-LINE     # Option "fifo_aggressive" 
-NOCLOCKPROBE
-
-NAME SiS SG86C215
-CHIPSET SIS86C215 
-SERVER SVGA
-DRIVER sis
-LINE     # This is a cheap version of 86c205. I am not sure if acceleration works
-LINE     # Option "no_accel" # Use this if acceleration is causing problems
-LINE     # Option "no_BitBlt" # Use this if acceleration is causing problems
-LINE     # Option "fifo_moderate" 
-LINE     # Option "fifo_conserv" 
-LINE     # Option "fifo_aggressive" 
-NOCLOCKPROBE
-
-NAME SiS SG86C225
-CHIPSET SIS86C225
-SERVER SVGA
-DRIVER sis
-LINE     # Option "no_accel" # Use this if acceleration is causing problems
-LINE     # Option "fifo_moderate" 
-LINE     # Option "fifo_conserv" 
-LINE     # Option "fifo_aggressive" 
-NOCLOCKPROBE
-
-NAME SiS 5597
-CHIPSET SiS5597
-SERVER SVGA
-DRIVER sis
-LINE     # Option "no_accel" # Use this if acceleration is causing problems
-LINE     # Option "fifo_moderate" 
-LINE     # Option "fifo_conserv" 
-LINE     # Option "fifo_aggressive" 
-LINE     # Option "fast_vram"
-LINE     # Option "pci_burst_on"
-LINE     # Option "xaa_benchmark" # DON'T use with "ext_eng_queue" !!!
-LINE     # Option "ext_eng_queue" # Turbo-queue. This can cause drawing
-LINE                              # errors, but gives some accel
-NOCLOCKPROBE
-
-NAME SiS 5598
-CHIPSET SIS5598
-SERVER SVGA
-DRIVER sis
-LINE     # Option "no_accel" # Use this if acceleration is causing problems
-LINE     # Option "fifo_moderate" 
-LINE     # Option "fifo_conserv" 
-LINE     # Option "fifo_aggressive" 
-LINE     # Option "fast_vram"
-LINE     # Option "pci_burst_on"
-LINE     # Option "xaa_benchmark" # DON'T use with "ext_eng_queue" !!!
-LINE     # Option "ext_eng_queue" # Turbo-queue. This can cause drawing
-LINE                              # errors, but gives some accel
-NOCLOCKPROBE
-
-NAME SiS 6326
-CHIPSET SiS6326
-SERVER SVGA
-DRIVER sis
-LINE     # Option "no_accel" # Use this if acceleration is causing problems
-LINE     # Option "fifo_moderate" 
-LINE     # Option "fifo_conserv" 
-LINE     # Option "fifo_aggressive" 
-LINE     # Option "fast_vram"
-LINE     # Option "pci_burst_on"
-LINE     # Option "xaa_benchmark" # DON'T use with "ext_eng_queue" !!!
-LINE     # Option "ext_eng_queue" # Turbo-queue. This can cause drawing 
-LINE                              # errors, but gives some accel
-NOCLOCKPROBE
-
-NAME MSI MS-4417
-SEE SiS 6326
-
-NAME SiS 3D PRO AGP
-SEE SiS 6326
-
-NAME Miro Crystal DVD
-SEE SiS 6326
-
-NAME PC-Chips M567 Mainboard
-SEE SiS 5597
-
-NAME Diamond SpeedStar A50
-SEE SiS 6326
-
-# Cyrix
-
-NAME MediaGX
-CHIPSET mediagx
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-# Alliance ProMotion
-
-NAME Alliance ProMotion 6422
-CHIPSET AP6422
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-
-# Number 9 I128
-
-NAME Number Nine Imagine I-128
-CHIPSET I128
-SERVER I128
-DRIVER i128
-NOCLOCKPROBE
-
-NAME Number Nine Imagine I-128 Series 2
-CHIPSET I128
-SERVER I128
-DRIVER i128
-NOCLOCKPROBE
-
-NAME Number Nine Revolution 3D (T2R)
-CHIPSET I128
-SERVER I128
-DRIVER i128
-NOCLOCKPROBE
-
-NAME Number Nine Imagine-128 Revolution IV (T2R4)
-CHIPSET I128
-SERVER I128
-DRIVER i128
-NOCLOCKPROBE
-
-# Matrox
-
-NAME Matrox Millennium 2MB
-CHIPSET mga2064w
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 2048
-NOCLOCKPROBE
-
-NAME Matrox Millennium 4MB
-CHIPSET mga2064w
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 4096
-NOCLOCKPROBE
-
-NAME Matrox Millennium 8MB
-CHIPSET mga2064w
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 8192
-NOCLOCKPROBE
-
-NAME Matrox Millennium II 4MB
-CHIPSET mga2164w
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 4096
-NOCLOCKPROBE
-
-NAME Matrox Millennium II 8MB
-CHIPSET mga2164w
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 8192
-NOCLOCKPROBE
-
-NAME Matrox Millennium II 16MB
-CHIPSET mga2164w
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 16384
-NOCLOCKPROBE
-
-NAME Matrox Millennium G200 4MB
-CHIPSET mgag200
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 4096
-NOCLOCKPROBE
-
-NAME Matrox Millennium G200 8MB
-CHIPSET mgag200
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 8192
-NOCLOCKPROBE
-
-NAME Matrox Millennium G200 16MB
-CHIPSET mgag200
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 16384
-NOCLOCKPROBE
-
-NAME Matrox Millennium G200 SD 4MB
-CHIPSET mgag200
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 4096
-LINE # Option "mga_sdram"
-NOCLOCKPROBE
-
-NAME Matrox Millennium G200 SD 8MB
-CHIPSET mgag200
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 8192
-LINE # Option "mga_sdram"
-NOCLOCKPROBE
-
-NAME Matrox Millennium G200 SD 16MB
-CHIPSET mgag200
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 16384
-LINE # Option "mga_sdram"
-NOCLOCKPROBE
-
-NAME Matrox Mystique
-CHIPSET mga1064sg
-SERVER SVGA
-DRIVER mga
-NOCLOCKPROBE
-
-NAME Matrox Mystique G200 4MB
-CHIPSET mgag200
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 4096
-NOCLOCKPROBE
-
-NAME Matrox Mystique G200 8MB
-CHIPSET mgag200
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 8192
-NOCLOCKPROBE
-
-NAME Matrox Millennium G400
-CHIPSET mgag400
-SERVER SVGA
-DRIVER mga
-NOCLOCKPROBE
-
-NAME Matrox Mystique G200 16MB
-CHIPSET mgag200
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 16384
-NOCLOCKPROBE
-
-NAME Matrox Productiva G100 4MB
-CHIPSET mgag100
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 4096
-NOCLOCKPROBE
-
-NAME Matrox Productiva G100 8MB
-CHIPSET mgag100
-SERVER SVGA
-DRIVER mga
-LINE VideoRam 8192
-NOCLOCKPROBE
-
-# NVIDIA
-
-NAME Diamond Edge 3D
-CHIPSET nv1
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-NOCLOCKPROBE
-
-NAME RIVA128
-CHIPSET RIVA128
-SERVER SVGA
-DRIVER nv
-NOCLOCKPROBE
-
-NAME RIVA TNT
-CHIPSET RIVATNT
-SERVER SVGA
-DRIVER nv
-NOCLOCKPROBE
-
-NAME RIVA TNT2
-CHIPSET RIVATNT2
-SERVER SVGA
-DRIVER nv
-NOCLOCKPROBE
-
-NAME NVIDIA GeForce
-CHIPSET GeForce
-SERVER SVGA
-DRIVER nv
-NOCLOCKPROBE
-
-NAME ELSA VICTORY ERAZOR
-SEE RIVA128
-
-NAME ELSA Winner 1000 R3D
-SEE RIVA128
-
-NAME ELSA ERAZOR II
-SEE RIVA TNT
-
-NAME Diamond Viper 330
-SEE RIVA128
-
-NAME Diamond Viper 550
-SEE RIVA TNT
-
-NAME Diamond Viper 770
-SEE RIVA TNT2
-
-NAME STB Velocity 128
-SEE RIVA128
-
-NAME STB nvidia 128
-SEE RIVA128
-
-NAME STB Velocity 4400
-SEE RIVA TNT
-
-NAME ASUS 3Dexplorer
-SEE RIVA128
-
-NAME Guillemot Maxi Gamer Xentor
-SEE RIVA TNT2
-
-NAME Guillemot Maxi Gamer Xentor 32
-SEE RIVA TNT2
-
-NAME Creative Graphics Blaster TNT
-SEE RIVA TNT
-
-NAME Creative Graphics Blaster TNT2
-SEE RIVA TNT2
-
-# 3Dfx
-NAME Voodoo Banshee (generic)
-SERVER SVGA
-CHIPSET 3dfx Banshee
-DRIVER tdfx
-
-NAME Voodoo3 (generic)
-SERVER SVGA
-CHIPSET 3dfx Voodoo3
-DRIVER tdfx
-
-NAME Elsa Victory II
-SEE Voodoo Banshee (generic)
-
-NAME Diamond Monster Fusion
-SEE Voodoo Banshee (generic)
-
-NAME AOpen PA2010
-SEE Voodoo Banshee (generic)
-
-NAME Chaintech Desperado 3F10
-SEE Voodoo Banshee (generic)
-
-# 3DLabs
-
-NAME ELSA GLoria-L/MX
-CHIPSET GLINT MX
-SERVER 3DLabs
-DRIVER glint
-LINE #Option "no_accel"
-NOCLOCKPROBE
-
-NAME ELSA GLoria-L
-CHIPSET GLINT 500TX
-SERVER 3DLabs
-DRIVER glint
-NOCLOCKPROBE
-
-NAME ELSA GLoria-XL
-CHIPSET GLINT MX
-SERVER 3DLabs
-DRIVER glint
-NOCLOCKPROBE
-
-NAME Diamond Fire GL 3000
-CHIPSET GLINT 500TX
-SERVER 3DLabs
-DRIVER glint
-LINE Option "firegl_3000"
-NOCLOCKPROBE
-
-NAME ELSA GLoria-S
-CHIPSET PERMEDIA
-SERVER 3DLabs
-DRIVER glint
-LINE #Option "no_accel"
-LINE #VideoRam 8192
-NOCLOCKPROBE
-
-NAME Diamond Fire GL 1000
-CHIPSET PERMEDIA
-SERVER 3DLabs
-DRIVER glint
-LINE #Option "no_accel"
-LINE #VideoRam 8192
-NOCLOCKPROBE
-
-NAME ELSA GLoria Synergy
-CHIPSET PERMEDIA 2
-SERVER 3DLabs
-DRIVER glint
-LINE #Option "no_accel"
-NOCLOCKPROBE
-
-NAME ELSA Winner 2000/Office
-CHIPSET PERMEDIA 2
-SERVER 3DLabs
-DRIVER glint
-LINE #Option "no_accel"
-NOCLOCKPROBE
-
-NAME Diamond Fire GL 1000 PRO
-CHIPSET PERMEDIA 2
-SERVER 3DLabs
-DRIVER glint
-LINE #Option "no_accel"
-NOCLOCKPROBE
-
-NAME Creative Blaster Exxtreme
-CHIPSET PERMEDIA 2
-SERVER 3DLabs
-DRIVER glint
-LINE #Option "no_accel"
-NOCLOCKPROBE
-
-NAME AccelStar Permedia II AGP
-CHIPSET PERMEDIA 2
-SERVER 3DLabs
-DRIVER glint
-LINE #Option "no_accel"
-NOCLOCKPROBE
-
-NAME Leadtek WinFast 2300
-CHIPSET PERMEDIA 2
-SERVER 3DLabs
-DRIVER glint
-NOCLOCKPROBE
-
-NAME 3DLabs Oxygen GMX
-CHIPSET PERMEDIA 2
-SERVER 3DLabs
-DRIVER glint
-LINE #Option "no_accel"
-NOCLOCKPROBE
-
-NAME Appian Jeronimo 2000
-CHIPSET PERMEDIA 3
-SERVER 3DLabs
-DRIVER glint
-NOCLOCKPROBE
-
-# Alliance Semiconductor
-
-NAME Diamond Stealth Video 2500
-CHIPSET Alliance AT24 
-SERVER SVGA
-DRIVER apm
-NOCLOCKPROBE
-
-NAME AT3D
-CHIPSET Alliance AT3D
-SERVER SVGA
-DRIVER apm
-NOCLOCKPROBE
-LINE #Option "no_accel"
-
-NAME AT25
-SEE AT3D
-
-NAME Hercules Stingray 128 3D
-SEE AT3D
-
-# NeoMagic
-
-NAME NeoMagic (laptop/notebook)
-CHIPSET MagicGraph 128 series
-SERVER SVGA
-DRIVER neomagic
-LINE #    Chipset    "NM2160"
-LINE #    IOBase     0xfea00000
-LINE #    MemBase    0xfd000000
-LINE #    VideoRam   2048
-LINE #    DacSpeed   90
-LINE #    Option     "linear"
-LINE #    Option     "nolinear"
-LINE #    Option     "sw_cursor"
-LINE #    Option     "hw_cursor"
-LINE #    Option     "no_accel"
-LINE #    Option     "intern_disp"
-LINE #    Option     "extern_disp"
-LINE #    Option     "mmio"
-LINE #    Option     "no_mmio"
-LINE #    Option     "lcd_center"
-LINE #    Option     "no_stretch"
-
-# Epson SPC8110
-
-NAME EPSON SPC8110 (CardPC)
-CHIPSET SPC8110
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-LINE #    Chipset    "spc8110"
-LINE #    MemBase    0x03e00000
-LINE #    VideoRam   1024
-LINE #    Option     "nolinear"
-LINE #    Option     "sw_cursor"
-LINE #    Option     "noaccel"
-LINE #    Option     "fifo_moderate"
-LINE #    Option     "fifo_conservative"
-
-# Silicon Motion, Inc.
-
-NAME Silicon Motion Lynx family
-CHIPSET Lynx
-SERVER SVGA
-DRIVER siliconmotion
-NOCLOCKPROBE
-
-# Rendition
-
-NAME Rendition Verite 1000
-CHIPSET Verite 1000
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-LINE # Option "sw_cursor"
-
-NAME Rendition Verite 2x00
-CHIPSET Verite 2x00
-SERVER SVGA
-DRIVER vga
-UNSUPPORTED
-LINE # Option "sw_cursor"
-
-NAME Creative Labs 3D Blaster PCI (Verite 1000)
-SEE Rendition Verite 1000
-
-NAME Canopus Total-3D
-SEE Rendition Verite 1000
-
-NAME Sierra Screaming 3D
-SEE Rendition Verite 1000
-
-NAME Miro CRYSTAL VRX
-SEE Rendition Verite 1000
-
-NAME Diamond Stealth II S220
-CHIPSET Verite 2100
-SEE Rendition Verite 2x00
-
-NAME Hercules Thriller3D
-CHIPSET Verite 2200
-SEE Rendition Verite 2x00
-
-# Digital
-
-NAME Digital 8-plane TGA (UDB/Multia)
-CHIPSET TGA
-SERVER TGA
-DRIVER tga
-RAMDAC Bt485
-
-NAME Digital 8-plane TGA (ZLXp-E1)
-CHIPSET TGA
-SERVER TGA
-DRIVER tga
-RAMDAC Bt485
-
-NAME Digital 24-plane TGA (ZLXp-E2)
-CHIPSET TGA
-SERVER TGA
-DRIVER tga
-RAMDAC Bt463
-
-NAME Digital 24-plane+3D TGA (ZLXp-E3)
-CHIPSET TGA
-SERVER TGA
-DRIVER tga
-RAMDAC Bt463
-
-# i810
-
-NAME Intel 810
-SERVER SVGA
-DRIVER i810
-
-# i740
-
-NAME Intel 740 (generic)
-SERVER SVGA
-DRIVER i740
-
-# Misc
-
-END
diff --git a/hw/xfree86/utils/xorgconfig/Cards98 b/hw/xfree86/utils/xorgconfig/Cards98
deleted file mode 100644
index ef14a03..0000000
--- a/hw/xfree86/utils/xorgconfig/Cards98
+++ /dev/null
@@ -1,647 +0,0 @@
-# $XFree86: xc/programs/Xserver/hw/xfree98/xf86config/Cards98,v 1.7 1998/06/04 16:43:45 hohndel Exp $
-#
-#
-#
-# $XConsortium: Cards /main/27 1996/10/28 05:43:53 kaleb $
-# This is the database of card definitions used by xf86config.
-# Each definition should have a NAME entry, CHIPSET (descriptive) and
-# SERVER (one of EGC, GANBWAP, PEGC, NKVNEC, WABS, WABEP, WSNA, TGUI,
-# MGA, SVGA, NECS3, PWSKB, PWLB, GA968).
-# A reference to another definition is made with SEE (already defined
-# entries are not overridden).
-# Optional entries are RAMDAC (identifier), CLOCKCHIP (identifier),
-# DACSPEED, NOCLOCKPROBE (advises never to probe clocks), UNSUPPORTED
-# (indicates card that is not yet properly supported by a dedicated
-# server). A LINE entry adds a line of text to be included in the
-# Device section (can include options or comments).
-# There's no CLOCKS option (although a Clocks line can be included
-# with LINE), as it is very undesirable to have a Clocks line that
-# is incorrect. The idea is that the Clocks are probed for to be
-# sure (a commented suggested Clocks line can be included).
-#
-# The majority of entries are just a binding of a model name to a
-# chipset/server and untested.
-#
-
-# EGC
-
-NAME EGC16
-CHIPSET EGC
-SERVER EGC
-LINE    Chipset "vga"
-
-# PEGC
-
-NAME PEGC
-CHIPSET PEGC
-SERVER PEGC
-LINE    VideoRam	512
-LINE    Clocks	31.5
-LINE    # Virtual resolution for 640x400
-LINE    # Clocks	28.322
-
-# GANBWAP
-
-NAME GA-98NBI
-CHIPSET CL-GD5434
-SERVER GANBWAP
-LINE    ClockChip	"cirrus"
-LINE    Option	"ga98nb1"
-LINE    Option	"no_mmio"
-LINE    # Option	"sw_cursor"
-
-NAME GA-98NBII
-CHIPSET CL-GD5434
-SERVER GANBWAP
-LINE    ClockChip	"cirrus"
-LINE    Option	"ga98nb2"
-LINE    Option	"no_mmio"
-LINE    # Option	"sw_cursor"
-
-NAME GA-98NBIV
-CHIPSET CL-GD5434
-SERVER GANBWAP
-LINE    ClockChip	"cirrus"
-LINE    Option	"ga98nb4"
-LINE    Option	"no_mmio"
-LINE    # Option	"sw_cursor"
-
-NAME WAP-2000/4000
-CHIPSET CL-GD5434
-SERVER GANBWAP
-LINE    Option	"wap"
-LINE    Option	"no_mmio"
-LINE    # Option	"epsonmemwin"
-
-# NKVNEC
-
-NAME PCNKV/PCNKV2/NEC_CIRRUS
-CHIPSET CL-GD5428/5429/5430
-SERVER NKVNEC
-LINE    # Option	"fast_dram"
-LINE    VideoRam    1024
-
-NAME PC9821Bf/U8W
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Bp/U8W/U7W
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Bs/U7W
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Be/U7W
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821BA3/U2/W
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821BX3/U2/W
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821BX4/U2
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Cb
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Ce
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Cf
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Ce2
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Cs
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Cs2
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Cx
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Cx2
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Es
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Nd
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Ne2
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Nf
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Np
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Ns
-LINE    Option	"nec_cirrus"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821V7/C
-LINE    Chipset "clgd5430"
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821V10/C,S
-LINE    Chipset "clgd5430"
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821V12/S
-LINE    Chipset "clgd5430"
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821V13/S
-LINE    Chipset "clgd5430"
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821V16/S
-LINE    Chipset "clgd5430"
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821V16/S5V,P
-LINE    Chipset "clgd5446"
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821V20/S7
-LINE    Chipset "clgd5430"
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Xb10
-LINE    Chipset "clgd5430"
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Xc13/S5
-LINE    Chipset "clgd5446"
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Xc16/M,S
-LINE    Chipset "clgd5446"
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Xc200/M,S
-LINE    Chipset "clgd5446"
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Xa7e
-LINE    Chipset "clgd5430"
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Xe
-LINE    Chipset "clgd5430"
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC9821Xe10
-LINE    Chipset "clgd5430"
-LINE    Option	"nec_cirrus"
-LINE    Option	"no_mmio"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC486MR
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC486MS
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC486MU
-LINE    Chipset "clgd5429"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC486MV
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC586MV
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-NAME PC586RV
-LINE    Chipset "clgd5429"
-SEE PCNKV/PCNKV2/NEC_CIRRUS
-
-# WABS
-
-NAME WAB-S
-CHIPSET CL-GD5426/5428
-SERVER WABS
-LINE    VideoRam	1024
-LINE    # VideoRam	2048
-
-NAME WAB-1000/2000
-CHIPSET CL-GD5428
-SERVER WABS
-LINE    VideoRam	1024
-LINE    # VideoRam	2048
-
-NAME WSR-E/G
-SEE WAB-1000/2000
-
-# WABEP
-
-NAME WAB-EP
-CHIPSET CL-GD5428
-SERVER WABEP
-LINE    Option	"med_dram"
-
-# WSNA
-
-NAME WSN-A2F
-CHIPSET CL-GD5434
-SERVER WSNA
-LINE    Option	"no_mmio"
-LINE    Option	"med_dram"
-
-# TGUI
-
-NAME NEC Trident
-CHIPSET TGUI9680/9682
-SERVER TGUI
-LINE    Option	"xaa_no_color_exp"
-LINE    # Option	"noaccel"
-LINE    # Option	"Linear"
-LINE    # Option	"med_dram"
-LINE    # Option	"hw_cursor"
-
-NAME PC9821Ra20/N
-SEE NEC Trident
-
-NAME PC9821RaII23/N,W
-SEE NEC Trident
-
-NAME PC9821Ra266/N,W
-SEE NEC Trident
-
-NAME PC9821Rs20/B20
-SEE NEC Trident
-
-NAME PC9821RsII26/B40
-SEE NEC Trident
-
-NAME PC9821V13/M7
-SEE NEC Trident
-
-NAME PC9821V16/M7
-SEE NEC Trident
-
-NAME PC9821V20/M7
-SEE NEC Trident
-
-NAME PC9821Xa7/C,K
-SEE NEC Trident
-
-NAME PC9821Xa9/C,K
-SEE NEC Trident
-
-NAME PC9821Xa10/C,K
-SEE NEC Trident
-
-NAME PC9821Xa12/C,K
-SEE NEC Trident
-
-NAME PC9821Xa13/C,K,W
-SEE NEC Trident
-
-NAME PC9821Xa16/R,W
-SEE NEC Trident
-
-NAME PC9821Xa20/W
-SEE NEC Trident
-
-NAME PC9821Xc13/M,S
-SEE NEC Trident
-
-NAME PC9821Xv13/R
-SEE NEC Trident
-
-NAME GA-DRV/98
-CHIPSET TGUI9680
-SERVER TGUI
-LINE    Option	"noaccel"
-LINE    # Option	"med_dram"
-LINE    # Option	"hw_cursor"
-
-# MGA
-
-NAME MGA Millennium
-CHIPSET MGA2064W
-SERVER MGA
-
-NAME PC9821Xt13
-SEE MGA Millennium
-
-NAME PC9821Xt16
-SEE MGA Millennium
-
-NAME PC9821Xv13/W
-SEE MGA Millennium
-
-NAME PC9821Xv20/W
-SEE MGA Millennium
-
-NAME PC9821St15
-SEE MGA Millennium
-
-NAME PC9821St20
-SEE MGA Millennium
-
-NAME PC9821RvII26/N20
-SEE MGA Millennium
-
-NAME NEC FC-WAB-X2
-SEE MGA Millennium
-
-NAME MGA Mystique
-CHIPSET MGA1064SG
-SERVER MGA
-
-NAME PC9821V166/S
-LINE    VideoRam	2048
-SEE MGA Mystique
-
-NAME PC9821V200/S
-LINE    VideoRam	2048
-SEE MGA Mystique
-
-NAME PC9821V200/M
-LINE    VideoRam	4096
-SEE MGA Mystique
-
-NAME PC9821V233/M7
-LINE    VideoRam	2048
-SEE MGA Mystique
-
-NAME PC9821V233/M7V
-LINE    VideoRam	4096
-SEE MGA Mystique
-
-# SVGA
-
-NAME NEC Cirrus 755x
-CHIPSET CL-GD7555
-LINE    Chipset "clgd7555"
-LINE    # VideoRam	2048
-LINE    # Option	"no_bitblt"
-LINE    # Option	"fast_dram"
-LINE    Option	"linear"
-LINE    Option	"noaccel"
-SERVER SVGA
-
-NAME PC9821Nr12
-SEE NEC Cirrus 755x
-
-NAME PC9821Nr13
-SEE NEC Cirrus 755x
-
-NAME PC9821La13
-SEE NEC Cirrus 755x
-
-NAME PC9821Ls12
-SEE NEC Cirrus 755x
-
-NAME PC9821Ls13
-SEE NEC Cirrus 755x
-
-NAME PC9821Ls150
-SEE NEC Cirrus 755x
-
-# NECS3
-
-NAME NEC WAB-A/B
-CHIPSET S3 928
-SERVER NECS3
-LINE    Chipset	"s3_generic"
-LINE    Dacspeed	110
-LINE    Ramdac	"sc15025"
-LINE    Option	"dac_8_bit"
-LINE    # Option	"necwab"
-LINE    # Option	"nomemaccess"
-LINE    Clocks	25.0  28.0  40.0   0.0  50.0  77.0  36.0  45.0
-LINE    Clocks	130.0 120.0  80.0  31.0 110.0  65.0  75.0  94.0
-
-NAME NEC FC-WAB-A/B
-CHIPSET S3 928
-SERVER NECS3
-LINE    Chipset	"s3_generic"
-LINE    Dacspeed	110
-LINE    Ramdac	"bt485"
-LINE    Option	"necwab"
-LINE    Option	"nomemaccess"
-LINE    Option	"noinit"
-LINE    Option	"nolinear"
-LINE    Clocks	25.0  28.0  40.0   0.0  50.0  77.0  36.0  45.0
-LINE    Clocks	130.0 120.0  80.0  31.0 110.0  65.0  75.0  94.0
-
-NAME PC9821Af/U9W E09?
-SEE NEC WAB-A/B
-
-NAME PC9821An/U8W
-SEE NEC WAB-A/B
-
-NAME PC9821Ap2/U8W/C9W
-SEE NEC WAB-A/B
-
-NAME PC9821As2/U7W/U8W
-SEE NEC WAB-A/B
-
-NAME NEC 864
-CHIPSET S3 864
-SERVER NECS3
-LINE    Chipset	"s3_generic"
-LINE    Option	"necwab"
-LINE    Ramdac	"s3_sdac"
-LINE    ClockChip	"s3_sdac"
-
-NAME PC9821Ap3
-SEE NEC 864
-
-NAME PC9821As3
-SEE NEC 864
-
-NAME PC9821Xp
-SEE NEC 864
-
-NAME PC9821Xs
-SEE NEC 864
-
-# PWSKB
-
-NAME PowerWindow 928/801
-CHIPSET S3 928
-SERVER PWSKB
-LINE    Chipset	"s3_generic"
-LINE    # Chipset	"mmio_928"
-LINE    Ramdac	"sc15025"
-LINE    Dacspeed	110
-LINE    Option	"dac_8_bit"
-LINE    # Option	"epsonmemwin"
-LINE    # Option	"nomemaccess"
-LINE    ClockChip	"icd2061a"
-
-NAME PowerWindow 928II
-CHIPSET S3 928
-SERVER PWSKB
-LINE    Chipset	"s3_generic"
-LINE    # Chipset	"mmio_928"
-LINE    Ramdac	"att20c505"
-LINE    # Ramdac	"bt485"
-LINE    Dacspeed	110
-LINE    Option	"dac_8_bit"
-LINE    # Option	"pw_mux"
-LINE    Option	"bt485_curs"
-LINE    # Option	"epsonmemwin"
-LINE    # Option	"nomemaccess"
-LINE    ClockChip	"icd2061a"
-
-NAME PowerWindow 805i
-CHIPSET S3 805
-SERVER PWSKB
-LINE    Chipset	"s3_generic"
-LINE    Ramdac	"s3gendac"
-LINE    Dacspeed	110
-LINE    Option	"dac_8_bit"
-LINE    # Option	"pw805i"
-LINE    # Option	"epsonmemwin"
-LINE    # Option	"nomemaccess"
-LINE    ClockChip	"s3_sdac"
-
-NAME PowerWindow 928G
-CHIPSET S3 928
-SERVER PWSKB
-LINE    Chipset	"s3_generic"
-LINE    # Chipset	"mmio_928"
-LINE    Ramdac	"sc15025"
-LINE    Dacspeed	110
-LINE    Option	"dac_8_bit"
-LINE    # Option	"nomemaccess"
-LINE    # Option	"nolinear"
-LINE    ClockChip	"icd2061a"
-
-NAME PCSKB/PCSKB2
-CHIPSET S3 911/924
-SERVER PWSKB
-LINE    Chipset	"s3_generic"
-LINE    Ramdac	"sc15025"
-LINE    Dacspeed	110
-LINE    Option	"dac_8_bit"
-LINE    # Option	"nomemaccess"
-LINE    Option	"pcskb"
-LINE    Clocks	25.0  28.0  40.0   0.0  50.0  77.0  36.0  45.0
-LINE    Clocks	130.0 120.0  80.0  31.0 110.0  65.0  75.0  94.0
-
-NAME PCSKB3/PCSKB4/PCPKB4
-CHIPSET S3 928
-SERVER PWSKB
-LINE    Chipset	"s3_generic"
-LINE    Ramdac	"sc15025"
-LINE    # Ramdac	"att20c498"
-LINE    Dacspeed	110
-LINE    Option	"dac_8_bit"
-LINE    Option	"nomemaccess"
-LINE    Option	"pcskb4"
-LINE    Clocks	 25.0  28.0  40.0   0.0  50.0  77.0  36.0  45.0
-LINE    Clocks	130.0 120.0  80.0  31.0 110.0  65.0  75.0  94.0
-
-# PWLB
-
-NAME PowerWindow 928GLB
-CHIPSET S3 928
-SERVER PWLB
-LINE    Chipset	"s3_generic"
-LINE    # Chipset	"mmio_928"
-LINE    Ramdac	"sc15025"
-LINE    Dacspeed	110
-LINE    Option	"dac_8_bit"
-LINE    # Option	"pw_localbus"
-LINE    # Option	"nomemaccess"
-LINE    # Option	"nolinear"
-LINE    ClockChip	"icd2061a"
-
-NAME PowerWindow 928IILB
-CHIPSET S3 928
-SERVER PWLB
-LINE    Chipset	"s3_generic"
-LINE    # Chipset	"mmio_928"
-LINE    Ramdac	"att20c505"
-LINE    # Ramdac	"bt485"
-LINE    Dacspeed	110
-LINE    Option	"dac_8_bit"
-LINE    Option	"bt485_curs"
-LINE    Option	"pw_localbus"
-LINE    # Option	"pw_mux"
-LINE    # Option	"nomemaccess"
-LINE    # Option	"nolinear"
-LINE    ClockChip	"icd2061a"
-
-NAME PowerWindow 964LB
-CHIPSET S3 964
-SERVER PWLB
-LINE    Chipset	"s3_generic"
-LINE    Option	"pw_localbus"
-LINE    Option	"number_nine"
-LINE    Ramdac	"ti3025"
-LINE    ClockChip	"ti3025"
-LINE    VideoRam	4096
-
-# GA968
-
-NAME GA-968V4/PCI
-CHIPSET S3 968
-SERVER GA968
-LINE    Chipset	"s3_generic"
-LINE    # Chipset	"mmio_928"
-LINE    VideoRam	4096
diff --git a/hw/xfree86/utils/xorgconfig/Makefile.am b/hw/xfree86/utils/xorgconfig/Makefile.am
deleted file mode 100644
index dabfc32..0000000
--- a/hw/xfree86/utils/xorgconfig/Makefile.am
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
-# 
-# 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, and/or sell copies of the Software, and to permit persons
-# to whom the Software is furnished to do so, provided that the above
-# copyright notice(s) and this permission notice appear in all copies of
-# the Software and that both the above copyright notice(s) and this
-# permission notice appear in supporting documentation.
-# 
-# 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
-# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
-# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
-# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
-# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
-# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# 
-# Except as contained in this notice, the name of a copyright holder
-# shall not be used in advertising or otherwise to promote the sale, use
-# or other dealings in this Software without prior written authorization
-# of the copyright holder.
-# 
-
-bin_PROGRAMS = xorgconfig
-
-X11dir = $(libdir)/X11
-dist_X11_DATA = Cards
-
-xorgconfig_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ \
-	-DCARD_DATABASE_FILE='"$(X11dir)/Cards"' \
-	-DPROJECTROOT='"$(PROJECTROOT)"' \
-        -DFILEMANSUFFIX='"$(FILE_MAN_SUFFIX)"' \
-        -DXVERSIONSTRING='"$(PACKAGE_STRING)"'
-
-xorgconfig_LDADD = @XORGCONFIG_DEP_LIBS@
-
-xorgconfig_SOURCES =	\
-	cards.c		\
-	cards.h		\
-	xorgconfig.c
-
-# Man page
-include $(top_srcdir)/cpprules.in
-
-appmandir = $(APP_MAN_DIR)
-
-appman_PRE = xorgconfig.man
-appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@)
-
-EXTRAMANDEFS = \
-	-D__XCONFIGFILE__=$(__XCONFIGFILE__) \
-	-D__XSERVERNAME__=$(XSERVERNAME)
-
-BUILT_SOURCES = $(appman_PRE)
-CLEANFILES = $(appman_PRE) $(appman_DATA)
-
-SUFFIXES += .$(APP_MAN_SUFFIX) .man
-
-.man.$(APP_MAN_SUFFIX):
-	-rm -f $@
-	$(LN_S) $< $@
-
-EXTRA_DIST = \
-	Cards98 \
-	xorgconfig.man.pre
diff --git a/hw/xfree86/utils/xorgconfig/cards.c b/hw/xfree86/utils/xorgconfig/cards.c
deleted file mode 100644
index 8116f0a..0000000
--- a/hw/xfree86/utils/xorgconfig/cards.c
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
- *  Functions to manipulate card database.
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "cards.h"
-
-/* Some vars to make path names in texts more flexible. */
-#ifndef PROJECTROOT
-# define PROJECTROOT		"/usr"
-#endif
-#define TREEROOT		PROJECTROOT
-#define TREEROOTLX		TREEROOT "/lib/X11"
-#define TREEROOTCFG		TREEROOT "/etc/X11"
-#ifdef XDOCDIR
-# define TREEROOTDOC		XDOCDIR
-#else
-# define TREEROOTDOC		TREEROOTLX "/doc"
-#endif
-
-/*
- * Database format:
- *
- * NAME <name of card>
- * CHIPSET <chipset description>
- * SERVER <server name>	
- * DRIVER <driver name>
- *
- * Optional keywords:
- * RAMDAC <ramdac identifier>
- * CLOCKCHIP <clockchip identifier>
- * DACSPEED <dacspeed>
- * NOCLOCKPROBE
- * UNSUPPORTED
- *
- * SEE <name of card> refers to another card definition; parameters that
- * are already defined are not overridden.
- *
- * <server name> is one of Mono, VGA16, SVGA, S3, Mach32, Mach8, 8514,
- * P9000, AGX, W32.
- *
- * A useful additional keywords may be CLOCKS.
- */
-
-
-
-/* Database vars. */
-
-int lastcard;
-
-Card card[MAX_CARDS];
-
-
-static int
-getnextline(FILE *f, char *l)
-{
-	if (fgets(l, 128, f) == NULL)
-		return -1;
-	return 0;
-}
-
-static void
-appendstring(char **destp, char *src)
-{
-	char *newstr;
-	newstr = malloc(strlen(*destp) + strlen(src) + 1);
-	strcpy(newstr, *destp);
-	strcat(newstr, src);
-	if (strlen(*destp) > 0)
-		free(*destp);
-	*destp = newstr;
-}
-
-int
-lookupcard(char *name) {
-	int i;
-	for (i = 0; i <= lastcard; i++)
-		if (strcmp(name, card[i].name) == 0)
-			return i;
-	return -1;
-}
-
-static char *s3_comment =
-"# Use Option \"nolinear\" if the server doesn't start up correctly\n"
-"# (this avoids the linear framebuffer probe). If that fails try\n"
-"# option \"nomemaccess\".\n"
-"#\n"
-"# Refer to " TREEROOTDOC "/README.S3, and the XF86_S3 man page.\n";
-
-static char *cirrus_comment =
-"# Use Option \"no_bitblt\" if you have graphics problems. If that fails\n"
-"# try Option \"noaccel\".\n"
-"# Refer to " TREEROOTDOC "/README.cirrus.\n"
-"# To allow linear addressing, uncomment the Option line and the\n"
-"# address that the card maps the framebuffer to.\n";
-
-int parse_database() {
-	FILE *f;
-	char buf[128];
-	int i, lineno;
-	char filename[128];
-
-	strcpy(filename, CARD_DATABASE_FILE);
-	f = fopen(filename, "r");
-	if (f == NULL)
-		return -1;
-
-	lastcard = -1;
-	lineno = 0;
-
-	for (;;) {
-		if (getnextline(f, buf))
-			break;
-		lineno++;
-		if (buf[0] == '#')
-			/* Comment. */
-			continue;
-		if (strncmp(buf, "END", 3) == 0)
-			/* End of database. */
-			break;
-		if (strncmp(buf, "LINE", 4) == 0 && lastcard>=0) {
-			/* Line of Device comment. */
-			/* Append to existing lines. */
-			appendstring(&card[lastcard].lines, buf + 5);
-			continue;
-		}
-		/*
-		 * The following keywords require the trailing newline
-		 * to be deleted.
-		 */
-		i = strlen(buf);
-		buf[--i] = '\0';
-
-		/* remove trailing spaces or tabs */
-		for(--i; i>=0 && (buf[i] == ' ' || buf[i] == '\011'); i--) ;
-		if (i>=0)
-		   buf[i+1] = '\0';
-		else 
-		   continue; /* skip empty lines */
-
-		if (strncmp(buf, "NAME", 4) == 0) {
-			/* New entry. */
-			lastcard++;
-			card[lastcard].name = malloc(strlen(buf + 5) + 1);
-			strcpy(card[lastcard].name, buf + 5);
-			card[lastcard].chipset = NULL;
-		        card[lastcard].server = NULL;
-			card[lastcard].driver = NULL;
-		        card[lastcard].ramdac = NULL;
-			card[lastcard].clockchip = NULL;
-			card[lastcard].dacspeed = NULL;
-			card[lastcard].flags = 0;
-			card[lastcard].lines = "";
-			continue;
-		}
-		if (lastcard < 0)  /* no NAME line found yet */
-		   continue; 
-		if (strncmp(buf, "SEE", 3) == 0) {
-			/* Reference to another entry. */
-			int i;
-			i = lookupcard(buf + 4);
-			if (i == -1) {
-				printf("Error in database, invalid reference: %s.\n",
-					buf + 4);
-				free(card[lastcard].name);
-				lastcard--;
-				continue;
-			}
-			if (card[lastcard].chipset == NULL)
-				card[lastcard].chipset = card[i].chipset;
-			if (card[lastcard].server == NULL)
-				card[lastcard].server = card[i].server;
-			if (card[lastcard].driver == NULL)
-				card[lastcard].driver = card[i].driver;
-			if (card[lastcard].ramdac == NULL)
-				card[lastcard].ramdac = card[i].ramdac;
-			if (card[lastcard].clockchip == NULL)
-				card[lastcard].clockchip = card[i].clockchip;
-			if (card[lastcard].dacspeed == NULL)
-				card[lastcard].dacspeed = card[i].dacspeed;
-			card[lastcard].flags |= card[i].flags;
-			appendstring(&card[lastcard].lines, card[i].lines);
-			continue;
-		}
-		if (strncmp(buf, "CHIPSET", 7) == 0) {
-			/* Chipset description. */
-			card[lastcard].chipset = malloc(strlen(buf + 8) + 1);
-			strcpy(card[lastcard].chipset, buf + 8);
-			continue;
-		}
-		if (strncmp(buf, "SERVER", 6) == 0) {
-			/* Server identifier. */
-			card[lastcard].server = malloc(strlen(buf + 7) + 1);
-			strcpy(card[lastcard].server, buf + 7);
-			continue;
-		}
-		if (strncmp(buf, "DRIVER", 6) == 0) {
-			/* Driver identifier. */
-			card[lastcard].driver = malloc(strlen(buf + 7) + 1);
-			strcpy(card[lastcard].driver, buf + 7);
-			continue;
-		}
-		if (strncmp(buf, "RAMDAC", 6) == 0) {
-			/* Ramdac indentifier. */
-			card[lastcard].ramdac = malloc(strlen(buf + 7) + 1);
-			strcpy(card[lastcard].ramdac, buf + 7);
-			continue;
-		}
-		if (strncmp(buf, "CLOCKCHIP", 9) == 0) {
-			/* Clockchip indentifier. */
-			card[lastcard].clockchip = malloc(strlen(buf + 10) + 1);
-			strcpy(card[lastcard].clockchip, buf + 10);
-			card[lastcard].flags |= NOCLOCKPROBE;
-			continue;
-		}
-		if (strncmp(buf, "DACSPEED", 8) == 0) {
-			/* Clockchip indentifier. */
-			card[lastcard].dacspeed = malloc(strlen(buf + 9) + 1);
-			strcpy(card[lastcard].dacspeed, buf + 9);
-			continue;
-		}
-		if (strncmp(buf, "NOCLOCKPROBE", 12) == 0) {
-			card[lastcard].flags |= NOCLOCKPROBE;
-			continue;
-		}
-		if (strncmp(buf, "UNSUPPORTED", 12) == 0) {
-			card[lastcard].flags |= UNSUPPORTED;
-			continue;
-		}
-		/* test for missing required fields */
-		if (card[lastcard].driver == NULL) {
-		    fprintf(stderr, "Warning DRIVER specification missing "
-			    "in Card database entry %s (line %d).\n", 
-			    card[lastcard].name, lineno);
-		    keypress();
-		       card[lastcard].driver = "unknown";
-		}
-		if (card[lastcard].chipset == NULL) {
-		    fprintf(stderr, "Warning CHIPSET specification missing "
-			    "in Card database entry %s (line %d).\n", 
-			    card[lastcard].name, lineno);
-		    keypress();
-		    card[lastcard].chipset = "unknown";
-		}
-	    }
-
-	fclose(f);
-
-	/*
-	 * Add general comments.
-	 */
-	for (i = 0; i <= lastcard; i++) {
-		if (card[i].server && strcmp(card[i].server, "S3") == 0)
-			appendstring(&card[i].lines, s3_comment);
-		if (card[i].chipset && 
-		    strncmp(card[i].chipset, "CL-GD", 5) == 0)
-			appendstring(&card[i].lines, cirrus_comment);
-	}
-
-	sort_database();
-
-	return 0;
-}
-
-static int
-compare_card(const void *e1, const void *e2)
-{
-	return strcmp(((Card *)e1)->name, ((Card *)e2)->name);
-}
-
-void
-sort_database() {
-	/* Each element is a bunch of words, but nothing too bad. */
-	qsort(card, lastcard + 1, sizeof(Card), compare_card);
-}
diff --git a/hw/xfree86/utils/xorgconfig/cards.h b/hw/xfree86/utils/xorgconfig/cards.h
deleted file mode 100644
index 7e1438d..0000000
--- a/hw/xfree86/utils/xorgconfig/cards.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef CARD_DATABASE_FILE
-#define CARD_DATABASE_FILE "Cards"
-#endif
-
-#define MAX_CARDS 1000
-
-typedef struct {
-	char *name;		/* Name of the card. */
-	char *chipset;		/* Chipset (decriptive). */
-	char *server;		/* Server identifier. */
-        char *driver;		/* Driver identifier. */
-        char *ramdac;		/* Ramdac identifier. */
-	char *clockchip;	/* Clockchip identifier. */
-	char *dacspeed;		/* DAC speed rating. */
-	int flags;
-	char *lines;		/* Additional Device section lines. */
-} Card;
-
-/* Flags: */
-#define NOCLOCKPROBE	0x1	/* Never probe clocks of the card. */
-#define UNSUPPORTED	0x2	/* Card is not supported (only VGA). */
-
-extern int lastcard;
-
-extern Card card[MAX_CARDS];
-
-extern int lookupcard ( char *name );
-extern int parse_database ( void );
-extern void sort_database ( void );
-extern void keypress ( void );
diff --git a/hw/xfree86/utils/xorgconfig/xorgconfig.c b/hw/xfree86/utils/xorgconfig/xorgconfig.c
deleted file mode 100644
index 30eb831..0000000
--- a/hw/xfree86/utils/xorgconfig/xorgconfig.c
+++ /dev/null
@@ -1,2890 +0,0 @@
-/*
- * This is a configuration program that will create a base XF86Config
- * file based on menu choices. Its main feature is that clueless users
- * may be less inclined to select crazy sync rates way over monitor spec,
- * by presenting a menu with standard monitor types. Also some people
- * don't read docs unless an executable that they can run tells them to.
- *
- * It assumes a 24-line or bigger text console.
- *
- * Revision history:
- * 25Sep94 Initial version.
- * 27Sep94 Fix hsync range of monitor types to match with best possible mode.
- *         Remove 'const'.
- *         Tweak descriptions.
- * 28Sep94 Fixes from J"org Wunsch:
- *           Don't use gets().
- *           Add mouse device prompt.
- *           Fix lines overrun for 24-line console.
- *         Increase buffer size for probeonly output.
- * 29Sep94 Fix bad bug with old XF86Config preserving during probeonly run.
- *         Add note about vertical refresh in interlaced modes.
- *         Name gets() replacement getstring().
- *         Add warning about binary paths.
- *         Fixes from David Dawes:
- *           Don't use 'ln -sf'.
- *           Omit man path reference in comment.
- *           Generate only a generic 320x200 SVGA section for accel cards.
- *	     Only allow writing to /usr/X11R6/lib/X11 if root, and use
- *	       -xf86config for the -probeonly phase (root only).
- *         Fix bug that forces screen type to accel in some cases.
- * 30Sep94 Continue after clocks probe fails.
- *         Note about programmable clocks.
- *         Rename to 'xf86config'. Not to be confused with XF86Config
- *           or the -xf86config option.
- * 07Oct94 Correct hsync in standard mode timings comments, and include
- *           the proper +/-h/vsync flags.
- * 11Oct94 Skip 'numclocks:' and 'pixel clocks:' lines when probing for
- * 	     clocks.
- * 18Oct94 Add check for existence of /usr/X11R6.
- *	   Add note about ctrl-alt-backspace.
- * 06Nov94 Add comment above standard mode timings in XF86Config.
- * 24Dec94 Add low-resolution modes using doublescan.
- * 29Dec94 Add note in horizontal sync range selection.
- *	   Ask about ClearDTR/RTS option for Mouse Systems mice.
- *	   Ask about writing to /etc/XF86Config.
- *	   Allow link to be set in /var/X11R6/bin.
- *	   Note about X -probeonly crashing.
- *	   Add keyboard Alt binding option for non-ASCII characters.
- *	   Add card database selection.
- *	   Write temporary XF86Config for clock probing in /tmp instead
- *	     of /usr/X11R6/lib/X11.
- *	   Add RAMDAC and Clockchip menu.
- * 27Mar99 Modified for XFree86 4.0 config file format
- * 06Sep02 Write comment block about 'DontVTSwitch'.
- *
- * Possible enhancements:
- * - Add more standard mode timings (also applies to README.Config). Missing
- *   are 1024x768 @ 72 Hz, 1152x900 modes, and 1280x1024 @ ~70 Hz.
- *   I suspect there is a VESA standard for 1024x768 @ 72 Hz with 77 MHz dot
- *   clock, and 1024x768 @ 75 Hz with 78.7 MHz dot clock. New types of
- *   monitors probably work better with VESA 75 Hz timings.
- * - Add option for creation of clear, minimal XF86Config.
- * - The card database doesn't include most of the entries in previous
- *   databases.
- *
- * Send comments to H.Hanemaayer at inter.nl.net.
- *
- * Things to keep up-to-date:
- * - Accelerated server names.
- * - Ramdac and Clockchip settings.
- * - The card database.
- *
- */
-/*  Oct2000
- *  New 'Configuration of XKB' section.
- *  Author: Ivan Pascal      The XFree86 Project.
- */
-/*
- *  Nov2002
- *  Some enhancements:
- *  - Add new PS/2 mouse protocol.
- *    "IMPS/2","ExplorerPS/2","ThinkingMousePS/2","MouseManPlusPS/2",
- *    "GlidePointPS/2","NetMousePS/2" and "NetScrollPS/2".
- *  - Add mouse-speed setting for PS/2 mouse.
- *  - Fix seg.fault problem on Solaris.
- *  - Add modestring "1400x1050"(for ATI Mobile-Rage).
- *  - Add videomemory 8192, 16384, 32768, 65536, 131072 and 262144.
- *  - Ready to DRI.
- *  - Load xtt module instead of freetype module.
- *  - Add font path "/TrueType/" and "/freefont/".
- *  Chisato Yamauchi(cyamauch at phyas.aichi-edu.ac.jp)
- */
-
-#ifdef HAVE_CONFIG_H
-# include "xorg-server.h"
-# include "xkb-config.h"
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#include <X11/Xlib.h>
-#include <X11/extensions/XKBstr.h>
-#include <X11/extensions/XKBrules.h>
-#define MAX_XKBOPTIONS	5
-
-#include "cards.h"
-
-
-/*
- * Define the following to 310 to remove references to XFree86 features that
- * have been added since XFree86 3.1 (e.g. DoubleScan modes).
- * or to 311 to remove certain new modelines
- */
-#define XFREE86_VERSION 400
-
-/*
- * Define this to have /etc/X11/XF86Config prompted for as the default
- * location to write the XF86Config file to.
- */
-#define PREFER_XF86CONFIG_IN_ETC
-
-/*
- * Define this to force the user to go through XKB configuration section.
- *
- */
-#define FORCE_XKB_DIALOG
-
-/*
- * Configuration variables.
- */
-
-#define MAX_CLOCKS_LINES 16
-
-#define DUMBCONFIG2 "dumbconfig.2"
-#define DUMBCONFIG3 "dumbconfig.3"
-
-/* some more vars to make path names in texts more flexible. OS/2 users
- * may be more irritated than Unix users
- */
-#ifndef PROJECTROOT
-#define PROJECTROOT		"/usr"
-#endif
-#define TREEROOT		PROJECTROOT
-#define TREEROOTLX		TREEROOT "/lib/X11"
-#define TREEROOTCFG		TREEROOT "/etc/X11"
-#define TREEROOTSHARE		TREEROOT "/share/X11"
-#ifdef XDOCDIR
-# define TREEROOTDOC		XDOCDIR
-#else
-# define TREEROOTDOC		TREEROOTLX "/doc"
-#endif
-#ifdef XFONTDIR
-# define TREEROOTFONT		XFONTDIR
-#else
-# define TREEROOTFONT		TREEROOTLX "/fonts"
-#endif
-#define MODULEPATH		TREEROOT "/lib/modules"
-
-#define XSERVERNAME_FOR_PROBE "X"
-
-#ifndef XCONFIGFILE
-#define XCONFIGFILE		"xorg.conf"
-#endif
-#define CONFIGNAME		XCONFIGFILE
-
-/*
- * This is the filename of the temporary XF86Config file that is written
- * when the program is told to probe clocks (which can only happen for
- * root).
- */
-#define TEMPORARY_XF86CONFIG_DIR_PREFIX "/tmp/."XCONFIGFILE
-#define TEMPORARY_XF86CONFIG_FILENAME XCONFIGFILE".tmp"
-
-#ifndef XF86_VERSION_MAJOR
-#ifdef XVERSION
-#if XVERSION > 40000000
-#define XF86_VERSION_MAJOR	(XVERSION / 10000000)
-#else
-#define XF86_VERSION_MAJOR	(XVERSION / 1000)
-#endif
-#else
-#define XF86_VERSION_MAJOR	4
-#endif
-#endif
-
-
-int config_mousetype;		/* Mouse. */
-int config_emulate3buttons;
-int config_chordmiddle;
-int config_cleardtrrts;
-char *config_pointerdevice;
-int config_altmeta;		/* Keyboard. */
-int config_monitortype;		/* Monitor. */
-char *config_hsyncrange;
-char *config_vsyncrange;
-char *config_monitoridentifier;
-int config_videomemory;		/* Video card. */
-int config_screentype;		/* mono, vga16, svga, accel */
-char *config_deviceidentifier;
-int config_numberofclockslines;
-char *config_clocksline[MAX_CLOCKS_LINES];
-char *config_modesline8bpp;
-char *config_modesline16bpp;
-char *config_modesline24bpp;
-int config_virtual;		/* 1 (yes) or 0 (no) */
-int config_virtualx8bpp, config_virtualy8bpp;
-int config_virtualx16bpp, config_virtualy16bpp;
-int config_virtualx24bpp, config_virtualy24bpp;
-char *config_ramdac;
-char *config_dacspeed;
-char *config_clockchip;
-#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT) && !defined(PCVT_SUPPORT)
-char *config_keyboard_dev = "/dev/wskbd0";
-#endif
-int config_xkbdisable = 0;
-char *config_xkbrules;
-char *config_xkbmodel = "pc105";
-char *config_xkblayout = "us";
-char *config_xkbvariant = (char *) 0;
-char *config_xkboptions = (char *) 0;
-char *config_depth;
-
-char *temp_dir = "";
-
-/*
- * These are from the selected card definition. Parameters from the
- * definition are offered during the questioning about the video card.
- */
-
-int card_selected;	/* Card selected from database. */
-
-
-static int write_XF86Config(char *filename);
-
-
-/*
- * This is the initial intro text that appears when the program is started.
- */
-
-static char *intro_text =
-"\n"
-"This program will create a basic " CONFIGNAME " file, based on menu selections\n"
-"you make.  It will ask for a pathname when it is ready to write the file.\n"
-"\n"
-"The " CONFIGNAME " file usually resides in /etc/X11 or " TREEROOTCFG ".  If\n"
-"no " CONFIGNAME " file is present there, " __XSERVERNAME__" will probe the system to\n"
-"autoconfigure itself.  You can run " __XSERVERNAME__ " -configure to generate a " CONFIGNAME "\n"
-"file based on the results of autoconfiguration, or let this program\n"
-"produce a base " CONFIGNAME " file for your configuration, and fine-tune it.\n"
-"A sample " CONFIGNAME " file is also supplied with "__XSERVERNAME__"; it is configured \n"
-"for a standard VGA card and monitor with 640x480 resolution.\n"
-"\n"
-"There are also many chipset and card-specific options and settings available,\n"
-"but this program does not know about these. On some configurations some of\n"
-"these settings must be specified. Refer to the X driver man pages and the\n"
-"chipset-specific READMEs in " TREEROOTDOC " for further details.\n"
-#if 0
-" Refer to " TREEROOTDOC "/README.Config\n"
-"for a detailed overview of the configuration process.\n"
-"\n"
-"(what should we change this section to?)\n"
-"For accelerated servers (including accelerated drivers in the SVGA server),\n"
-"there are many chipset and card-specific options and settings. This program\n"
-"does not know about these. On some configurations some of these settings must\n"
-"be specified. Refer to the server man pages and chipset-specific READMEs.\n"
-#endif
-"\n"
-"Before continuing with this program, make sure you know what video card\n"
-"you have, and preferably also the chipset it uses and the amount of video\n"
-"memory on your video card, as well as the specifications of your monitor.\n"
-"\n"
-;
-
-static char *finalcomment_text =
-"File has been written. Take a look at it before starting an X server. Note that\n"
-"the " CONFIGNAME " file must be in one of the directories searched by the server\n"
-"(e.g. /etc/X11) in order to be used. Within the server press\n"
-"ctrl, alt and '+' simultaneously to cycle video resolutions. Pressing ctrl,\n"
-"alt and backspace simultaneously immediately exits the server (use if\n"
-"the monitor doesn't sync for a particular mode).\n"
-"\n"
-"For further configuration, refer to the " XCONFIGFILE "(" FILEMANSUFFIX ") manual page.\n"
-"\n";
-
-static void *
-Malloc(int i) {
-       void *p;
-
-       p = malloc(i);
-       if (p == NULL) {
-               printf("Fatal malloc error\n");
-               exit(-1);
-       }
-       return p;
-}
-
-static char *
-Strdup(const char *s){
-	char *d;
-
-	d = Malloc(strlen(s) + 1);
-	strcpy(d, s);
-	return d;
-}
-
-static void 
-createtmpdir(void) {
-       /* length of prefix + 20 (digits in 2**64) + 1 (slash) + 1 */
-       temp_dir = Malloc(strlen(TEMPORARY_XF86CONFIG_DIR_PREFIX) + 22);
-       sprintf(temp_dir, "%s%ld", TEMPORARY_XF86CONFIG_DIR_PREFIX,
-	       (long)getpid());
-       if (mkdir(temp_dir, 0700) != 0) {
-               printf("Cannot create directory %s\n", temp_dir);
-               exit(-1);
-       }
-       /* append a slash */
-       strcat(temp_dir, "/");
-}
-
-
-void 
-keypress(void) {
-	printf("Press enter to continue, or ctrl-c to abort.");
-	getchar();
-	printf("\n");
-}
-
-static void 
-emptylines(void) {
-	int i;
-	for (i = 0; i < 50; i++)
-		printf("\n");
-}
-
-static int 
-answerisyes(char *s)
-{
-	if (s[0] == '\'')	/* For fools that type the ' literally. */
-		return tolower(s[1]) == 'y';
-	return tolower(s[0]) == 'y';
-}
-
-/*
- * This is a replacement for gets(). Limit is 80 chars.
- * The 386BSD descendants scream about using gets(), for good reason.
- */
-
-static void 
-getstring(char *s)
-{
-	char *cp;
-	if (fgets(s, 80, stdin) == NULL)
-		exit(1);
-	cp = strchr(s, '\n');
-	if (cp)
-		*cp=0;
-}
-
-/*
- * Mouse configuration.
- */
-
-int	M_OSMOUSE,	M_WSMOUSE,		M_AUTO,
-	M_SYSMOUSE,	M_MOUSESYSTEMS, 	M_PS2,
-	M_MICROSOFT,	M_BUSMOUSE,		M_IMPS2,
-	M_EXPLORER_PS2, M_GLIDEPOINT_PS2,	M_MOUSEMANPLUS_PS2,
-	M_NETMOUSE_PS2, M_NETSCROLL_PS2,	M_THINKINGMOUSE_PS2,
-	M_ACECAD,	M_GLIDEPOINT,		M_INTELLIMOUSE,
-	M_LOGITECH,	M_MMHITTAB,		M_MMSERIES,
-	M_MOUSEMAN,	M_THINKINGMOUSE,	M_VUID;
-
-struct {
-	char *name;
-	int *ident;
-	char *desc;
-} mouse_info[] = {
-#if defined(QNX4)
-#define DEF_PROTO_STRING	"OSMOUSE"
-	{"OSMOUSE",		&M_OSMOUSE,
-	 "OSMOUSE"
-	},
-#endif
-#ifdef WSCONS_SUPPORT
-#define WS_MOUSE_STRING		"wsmouse"
-#define DEF_PROTO_STRING	WS_MOUSE_STRING
-	{WS_MOUSE_STRING,	&M_WSMOUSE,
-	 "wsmouse protocol"
-	},
-#endif
-#ifndef DEF_PROTO_STRING
-#define DEF_PROTO_STRING	"Auto"
-#endif
-	{"Auto",		&M_AUTO,
-	 "Auto detect"
-	},
-#ifdef sun
-	{"VUID",		&M_VUID,
-	 "Solaris VUID protocol (SPARC, USB, or virtual mouse)"
-	},
-#endif
-	{"SysMouse",		&M_SYSMOUSE,
-	 "SysMouse"
-	},
-#define M_MOUSESYSTEMS_STRING	"MouseSystems"
-	{M_MOUSESYSTEMS_STRING,	&M_MOUSESYSTEMS,
-	 "Mouse Systems (3-button protocol)"
-	},
-	{"PS/2",		&M_PS2,
-	 "PS/2 Mouse"
-	},
-#define M_MICROSOFT_STRING	"Microsoft"
-	{M_MICROSOFT_STRING,	&M_MICROSOFT,
-	 "Microsoft compatible (2-button protocol)"
-	},
-	{"Busmouse",		&M_BUSMOUSE,
-	 "Bus Mouse"
-	},
-#ifndef __FreeBSD__
-	{"IMPS/2",		&M_IMPS2,
-	 "IntelliMouse PS/2"
-	},
-	{"ExplorerPS/2",	&M_EXPLORER_PS2,
-	 "Explorer PS/2"
-	},
-	{"GlidePointPS/2",	&M_GLIDEPOINT_PS2,
-	 "GlidePoint PS/2"
-	},
-	{"MouseManPlusPS/2",	&M_MOUSEMANPLUS_PS2,
-	 "MouseManPlus PS/2"
-	},
-	{"NetMousePS/2",	&M_NETMOUSE_PS2,
-	 "NetMouse PS/2"
-	},
-	{"NetScrollPS/2",	&M_NETSCROLL_PS2,
-	 "NetScroll PS/2"
-	},
-	{"ThinkingMousePS/2",	&M_THINKINGMOUSE_PS2,
-	 "ThinkingMouse PS/2"
-	},
-#endif
-	{"AceCad",		&M_ACECAD,
-	 "AceCad"
-	},
-	{"GlidePoint",		&M_GLIDEPOINT,
-	 "GlidePoint"
-	},
-	{"IntelliMouse",	&M_INTELLIMOUSE,
-	 "Microsoft IntelliMouse"
-	},
-	{"Logitech",		&M_LOGITECH,
-	 "Logitech Mouse (serial, old type, Logitech protocol)"
-	},
-	{"MMHitTab",		&M_MMHITTAB,
-	 "MM HitTablet"
-	},
-	{"MMSeries",		&M_MMSERIES,
-	 "MM Series"	/* XXXX These descriptions should be improved. */
-	},
-	{"MouseMan",		&M_MOUSEMAN,
-	 "Logitech MouseMan (Microsoft compatible)"
-	},
-	{"ThinkingMouse",	&M_THINKINGMOUSE,
-	 "ThinkingMouse"
-	},
-};
-
-#ifdef WSCONS_SUPPORT
-# define DEF_MOUSEDEV "/dev/wsmouse";
-#elif defined(__FreeBSD__) || defined(__DragonFly__)
-# define DEF_MOUSEDEV "/dev/sysmouse";
-#elif defined(__linux__)
-# define DEF_MOUSEDEV "/dev/input/mice";
-#else
-# define DEF_MOUSEDEV "/dev/mouse";
-#endif
-
-static char *mouseintro_text =
-"First specify a mouse protocol type. Choose one from the following list:\n"
-"\n";
-
-static char *mousedev_text =
-"Now give the full device name that the mouse is connected to, for example\n"
-"/dev/tty00. Just pressing enter will use the default, %s.\n"
-"\n";
-
-static char *mousecomment_text =
-"The recommended protocol is " DEF_PROTO_STRING ". If you have a very old mouse\n"
-"or don't want OS support or auto detection, and you have a two-button\n"
-"or three-button serial mouse, it is most likely of type " M_MICROSOFT_STRING ".\n"
-#ifdef WSCONS_SUPPORT
-"\n"
-"If your system uses the wscons console driver, with a PS/2 type mouse,\n"
-"select " WS_MOUSE_STRING ".\n"
-#endif
-"\n";
-
-static char *twobuttonmousecomment_text =
-"You have selected a two-button mouse protocol. It is recommended that you\n"
-"enable Emulate3Buttons.\n";
-
-static char *threebuttonmousecomment_text =
-"You have selected a three-button mouse protocol. It is recommended that you\n"
-"do not enable Emulate3Buttons, unless the third button doesn't work.\n";
-
-static char *unknownbuttonsmousecomment_text =
-"If your mouse has only two buttons, it is recommended that you enable\n"
-"Emulate3Buttons.\n";
-
-static char *microsoftmousecomment_text =
-"You have selected a Microsoft protocol mouse. If your mouse was made by\n"
-"Logitech, you might want to enable ChordMiddle which could cause the\n"
-"third button to work.\n";
-
-static char *mousesystemscomment_text =
-"You have selected a Mouse Systems protocol mouse. If your mouse is normally\n"
-"in Microsoft-compatible mode, enabling the ClearDTR and ClearRTS options\n"
-"may cause it to switch to Mouse Systems mode when the server starts.\n";
-
-static char *logitechmousecomment_text =
-"You have selected a Logitech protocol mouse. This is only valid for old\n"
-"Logitech mice.\n";
-
-static char *mousemancomment_text =
-"You have selected a Logitech MouseMan type mouse. You might want to enable\n"
-"ChordMiddle which could cause the third button to work.\n";
-
-static void 
-mouse_configuration(void) {
-
-#if !defined(QNX4)
-	int i, j;
-	char s[80];
-	char *def_mousedev = DEF_MOUSEDEV;
-
-#define MOUSETYPE_COUNT sizeof(mouse_info)/sizeof(mouse_info[0])
-	for (i = 0; i < MOUSETYPE_COUNT; i++)
-		*(mouse_info[i].ident) = i;
-
-	for (i=0;;) {
-		emptylines();
-		printf("%s", mouseintro_text);
-		for (j = i; j < i + 14 && j < MOUSETYPE_COUNT; j++)
-			printf("%2d.  %s [%s]\n", j + 1,
-			       mouse_info[j].name, mouse_info[j].desc);
-		printf("\n");
-		printf("%s", mousecomment_text);
-		printf("Enter a protocol number: ");
-		getstring(s);
-		if (strlen(s) == 0) {
-			i += 14;
-			if (i >= MOUSETYPE_COUNT)
-				i = 0;
-			continue;
-		}
-		config_mousetype = atoi(s) - 1;
-		if (config_mousetype >= 0 && config_mousetype < MOUSETYPE_COUNT)
-			break;
-	}
-	printf("\n");
-
-	if (config_mousetype == M_LOGITECH) {
-		/* Logitech. */
-		printf("%s", logitechmousecomment_text);
-		printf("\n");
-		printf("Please answer the following question with either 'y' or 'n'.\n");
-		printf("Are you sure it's really not a Microsoft compatible one? ");
-		getstring(s);
-		if (!answerisyes(s))
-			config_mousetype = M_MICROSOFT;
-		printf("\n");
-	}
-
-	config_chordmiddle = 0;
-	if (config_mousetype == M_MICROSOFT || config_mousetype == M_MOUSEMAN) {
-		/* Microsoft or MouseMan. */
-		if (config_mousetype == M_MICROSOFT)
-			printf("%s", microsoftmousecomment_text);
-		else
-			printf("%s", mousemancomment_text);
-		printf("\n");
-		printf("Please answer the following question with either 'y' or 'n'.\n");
-		printf("Do you want to enable ChordMiddle? ");
-		getstring(s);
-		if (answerisyes(s))
-			config_chordmiddle = 1;
-		printf("\n");
-	}
-
-	config_cleardtrrts = 0;
-	if (config_mousetype == M_MOUSESYSTEMS) {
-		/* Mouse Systems. */
-		printf("%s", mousesystemscomment_text);
-		printf("\n");
-		printf("Please answer the following question with either 'y' or 'n'.\n");
-		printf("Do you want to enable ClearDTR and ClearRTS? ");
-		getstring(s);
-		if (answerisyes(s))
-			config_cleardtrrts = 1;
-		printf("\n");
-	}
-
-	if (config_mousetype == M_MICROSOFT) {
-		if (config_chordmiddle)
-			printf("%s", threebuttonmousecomment_text);
-		else
-			printf("%s", twobuttonmousecomment_text);
-	}
-	else if (config_mousetype == M_MOUSESYSTEMS ||
-		 config_mousetype == M_INTELLIMOUSE) {
-		printf("%s", threebuttonmousecomment_text);
-	}
-	else {
-		printf("%s", unknownbuttonsmousecomment_text);
-	}
-
-	printf("\n");
-
-	printf("Please answer the following question with either 'y' or 'n'.\n");
-	printf("Do you want to enable Emulate3Buttons? ");
-	getstring(s);
-	if (answerisyes(s))
-		config_emulate3buttons = 1;
-	else
-		config_emulate3buttons = 0;
-	printf("\n");
-
-#if (defined(sun) && (defined(__i386) || defined(__x86)))
-	/* SPARC & USB mice (VUID or AUTO protocols) default to /dev/mouse, 
-	   but PS/2 mice default to /dev/kdmouse */
-	if ((config_mousetype != M_AUTO) && (config_mousetype != M_VUID)) {
-	    def_mousedev = "/dev/kdmouse";
-	}
-#endif
-
-	printf(mousedev_text, def_mousedev);
-	printf("Mouse device: ");
-	getstring(s);
-	if (strlen(s) == 0) {
-		config_pointerdevice = def_mousedev;
-	} else {
-		config_pointerdevice = Malloc(strlen(s) + 1);
-		strcpy(config_pointerdevice, s);
-	}
-	printf("\n");
-
-#else
-       	/* set some reasonable defaults for OS/2 */
-       	config_mousetype = M_OSMOUSE;
-	config_chordmiddle = 0;       
-	config_cleardtrrts = 0;
-	config_emulate3buttons = 0;
-	config_pointerdevice = "QNXMOUSE";
-#endif
-}
-
-
-/*
- * Keyboard configuration.
- */
-
-/*
- * Configuration of XKB 
- */
-static char *xkbmodeltext = 
-"Please select one of the following keyboard types that is the better\n"
-"description of your keyboard. If nothing really matches,\n"
-"choose \"Generic 104-key PC\"\n\n";
-
-static char *xkblayouttext = 
-"Please select the layout corresponding to your keyboard\n";
-
-static char *xkbvarianttext =
-"Please enter a variant name for '%s' layout. Or just press enter\n"
-"for default variant\n\n";
-
-static char *xkboptionstext = 
-"Please answer the following question with either 'y' or 'n'.\n"
-"Do you want to select additional XKB options (group switcher,\n"
-"group indicator, etc.)? ";
-
-#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT) && !defined(PCVT_SUPPORT)
-static char *kbdevtext =
-"Please enter the device name for your keyboard or just press enter\n"
-"for the default of wskbd0\n\n";
-#endif
-
-static void 
-keyboard_configuration(void)
-{
-	int i, j;
-	char s[80];
-        char *rulesfile;
-	int number, options[MAX_XKBOPTIONS], num_options;
-        XkbRF_RulesPtr rules;
-
-#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT) && !defined(PCVT_SUPPORT)
-	printf(kbdevtext);
-	getstring(s);
-	if (strlen(s) != 0) {
-	    config_keyboard_dev = Malloc(strlen(s) + 1);
-	    strcpy(config_keyboard_dev, s);
-	}
-#endif
-
-#ifndef XKB_RULES_DIR
-# define XKB_RULES_DIR XKB_BASE_DIRECTORY "/rules"
-#endif
-	
-#ifdef XFREE98_XKB
-	config_xkbrules = "xfree98";	/* static */
-        rulesfile = XKB_RULES_DIR "/xfree98";
-#else
-	config_xkbrules = __XKBDEFRULES__;	/* static */
-        rulesfile = XKB_RULES_DIR "/" __XKBDEFRULES__;
-#endif
-
-        rules = XkbRF_Load(rulesfile, "", True, False);
-	emptylines();
-
-        if (!rules) {
-            printf("XKB rules file '%s' not found\n", rulesfile);
-            printf("Keyboard XKB options will be set to default values.\n");
-            keypress();
-            return;
-        }
-
-	number = -1;
-	for (i=0;;) {
-		emptylines();
-		printf(xkbmodeltext);
-		for (j = i; j < i + 16 && j < rules->models.num_desc; j++)
-		    printf("%3d  %-50s\n", j+1, rules->models.desc[j].desc);
-		printf("\nEnter a number to choose the keyboard.\n\n");
-		if (rules->models.num_desc >= 16)
-			printf("Press enter for the next page\n");
-		getstring(s);
-		if (strlen(s) == 0) {
-			i += 16;
-			if (i > rules->models.num_desc)
-				i = 0;
-			continue;
-		}
-		number = atoi(s) - 1;
-		if (number >= 0 && number < rules->models.num_desc)
-			break;
-	}
-
-	i = strlen(rules->models.desc[number].name) + 1;
-	config_xkbmodel = Malloc(i);
-	sprintf(config_xkbmodel,"%s", rules->models.desc[number].name);
-
-	emptylines();
-	printf(xkblayouttext);
-
-	number = -1;
-	for (i=0;;) {
-	    	emptylines();
-		for (j = i; j < i + 18 && j < rules->layouts.num_desc; j++)
-			printf("%3d  %-50s\n", j+1,
-				rules->layouts.desc[j].desc);
-		printf("\n");
-		printf("Enter a number to choose the country.\n");
-		if (rules->layouts.num_desc >= 18)
-			printf("Press enter for the next page\n");
-		printf("\n");
-		getstring(s);
-		if (strlen(s) == 0) {
-			i += 18;
-			if (i > rules->layouts.num_desc)
-				i = 0;
-			continue;
-		}
-		number = atoi(s) - 1;
-		if (number >= 0 && number < rules->layouts.num_desc)
-			break;
-	}
-	config_xkblayout = Malloc(strlen(rules->layouts.desc[number].name)+1);
-	sprintf(config_xkblayout,"%s", rules->layouts.desc[number].name);
-
-	emptylines();
-	printf(xkbvarianttext, config_xkblayout);
-	getstring(s);
-	if (strlen(s) != 0) {
-	    config_xkbvariant = Malloc(strlen(s) + 1);
-	    strcpy(config_xkbvariant, s);
-        }
-
-	emptylines();
-	printf(xkboptionstext);
-	getstring(s);
-	if (!answerisyes(s))
-            return;
-
-        num_options = 0;
-        for (j=0,i=0;;) {
-            if (!strchr(rules->options.desc[i].name, ':')) {
-	        emptylines();
-                printf("   %s\n\n", rules->options.desc[i].desc);
-                j = i;
-            } else {
-                printf("%3d  %-50s\n", i - j, rules->options.desc[i].desc);
-            }
-            i++;
-            if ( i == rules->options.num_desc ||
-                 !strchr(rules->options.desc[i].name, ':')) {
-                printf("\nPlease select the option or just press enter if none\n");
-	        getstring(s);
-	        if (strlen(s) != 0) {
-	            number = atoi(s);
-                    if (number && (num_options < MAX_XKBOPTIONS)) {
-                        options[num_options++] = number + j;
-                    }
-                }    
-            }
-            if (i == rules->options.num_desc)
-                break;
-        }
-
-        if (!num_options)
-            return;
-
-        for (j=0,i=0; i<num_options; i++) {
-            j += strlen(rules->options.desc[options[i]].name);
-        }
-	config_xkboptions = Malloc(j + num_options);
-        for (j=0,i=0; i<num_options; i++) {
-	    j += sprintf(config_xkboptions+j,"%s%s",
-                    i == 0 ? "": "," ,rules->options.desc[options[i]].name);
-        }
-	return;
-}
-
-
-
-/*
- * Monitor configuration.
- */
-
-static char *monitorintro_text =
-"Now we want to set the specifications of the monitor. The two critical\n"
-"parameters are the vertical refresh rate, which is the rate at which the\n"
-"the whole screen is refreshed, and most importantly the horizontal sync rate,\n"
-"which is the rate at which scanlines are displayed.\n"
-"\n"
-"The valid range for horizontal sync and vertical sync should be documented\n"
-"in the manual of your monitor.\n"
-"\n";
-
-static char *hsyncintro_text =
-"You must indicate the horizontal sync range of your monitor. You can either\n"
-"select one of the predefined ranges below that correspond to industry-\n"
-"standard monitor types, or give a specific range.\n"
-"\n"
-"It is VERY IMPORTANT that you do not specify a monitor type with a horizontal\n"
-"sync range that is beyond the capabilities of your monitor. If in doubt,\n"
-"choose a conservative setting.\n"
-"\n";
-
-static char *customhsync_text =
-"Please enter the horizontal sync range of your monitor, in the format used\n"
-"in the table of monitor types above. You can either specify one or more\n"
-"continuous ranges (e.g. 15-25, 30-50), or one or more fixed sync frequencies.\n"
-"\n";
-
-static char *vsyncintro_text =
-"You must indicate the vertical sync range of your monitor. You can either\n"
-"select one of the predefined ranges below that correspond to industry-\n"
-"standard monitor types, or give a specific range. For interlaced modes,\n"
-"the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).\n"
-"\n"
-" 1  50-70\n"
-" 2  50-90\n"
-" 3  50-100\n"
-" 4  40-150\n"
-" 5  Enter your own vertical sync range\n";
-
-static char *monitordescintro_text =
-"You must now enter a few identification/description strings, namely an\n"
-"identifier, a vendor name, and a model name. Just pressing enter will fill\n"
-"in default names.\n"
-"\n";
-
-#define NU_MONITORTYPES 10
-
-static char *monitortype_range[NU_MONITORTYPES] = {
-	"31.5",
-	"31.5 - 35.1",
-	"31.5, 35.5",
-	"31.5, 35.15, 35.5",
-	"31.5 - 37.9",
-	"31.5 - 48.5",
-	"31.5 - 57.0",
-	"31.5 - 64.3",
-	"31.5 - 79.0",
-	"31.5 - 82.0"
-};
-
-static char *monitortype_name[NU_MONITORTYPES] = {
-	"Standard VGA, 640x480 @ 60 Hz",
-	"Super VGA, 800x600 @ 56 Hz",
-	"8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)",
-	"Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz",
-	"Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz",
-	"Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz",
-	"High Frequency SVGA, 1024x768 @ 70 Hz",
-	"Monitor that can do 1280x1024 @ 60 Hz",
-	"Monitor that can do 1280x1024 @ 74 Hz",
-	"Monitor that can do 1280x1024 @ 76 Hz"
-};
-
-static void 
-monitor_configuration(void) {
-	int i;
-	char s[80];
-	printf("%s", monitorintro_text);
-
-	keypress();
-	emptylines();
-
-	printf("%s", hsyncintro_text);
-
-	printf("    hsync in kHz; monitor type with characteristic modes\n");
-	for (i = 0; i < NU_MONITORTYPES; i++)
-		printf("%2d  %s; %s\n", i + 1, monitortype_range[i],
-			monitortype_name[i]);
-
-	printf("%2d  Enter your own horizontal sync range\n",
-		NU_MONITORTYPES + 1);
-	printf("\n");
-
-	printf("Enter your choice (1-%d): ", NU_MONITORTYPES + 1);
-	getstring(s);
-	config_monitortype = atoi(s) - 1;
-	if (config_monitortype < 0)
-		config_monitortype = 0;
-
-	printf("\n");
-
-	if (config_monitortype < NU_MONITORTYPES)
-		config_hsyncrange = monitortype_range[config_monitortype];
-	else {
-		/* Custom hsync range option selected. */
-		printf("%s", customhsync_text);
-		printf("Horizontal sync range: ");
-		getstring(s);
-		config_hsyncrange = Malloc(strlen(s) + 1);
-		strcpy(config_hsyncrange, s);
-		printf("\n");
-	}
-
-	printf("%s", vsyncintro_text);
-	printf("\n");
-
-	printf("Enter your choice: ");
-	getstring(s);
-	printf("\n");
-	switch (atoi(s)) {
-	case 0 :
-	case 1 :
-		config_vsyncrange = "50-70";
-		break;
-	case 2 :
-		config_vsyncrange = "50-90";
-		break;
-	case 3 :
-		config_vsyncrange = "50-100";
-		break;
-	case 4 :
-		config_vsyncrange = "40-150";
-		break;
-	case 5 :
-		/* Custom vsync range option selected. */
-		printf("Vertical sync range: ");
-		getstring(s);
-		config_vsyncrange = Malloc(strlen(s) + 1);
-		strcpy(config_vsyncrange, s);
-		printf("\n");
-		break;
-	}
-	printf("%s", monitordescintro_text);
-	printf("The strings are free-form, spaces are allowed.\n");
-	printf("Enter an identifier for your monitor definition: ");
-	getstring(s);
-	if (strlen(s) == 0)
-		config_monitoridentifier = "My Monitor";
-	else {
-		config_monitoridentifier = Malloc(strlen(s) + 1);
-		strcpy(config_monitoridentifier, s);
-	}
-}
-
-
-/*
- * Card database.
- */
-
-static char *cardintro_text =
-"Now we must configure video card specific settings. At this point you can\n"
-"choose to make a selection out of a database of video card definitions.\n"
-"Because there can be variation in Ramdacs and clock generators even\n"
-"between cards of the same model, it is not sensible to blindly copy\n"
-"the settings (e.g. a Device section). For this reason, after you make a\n"
-"selection, you will still be asked about the components of the card, with\n"
-"the settings from the chosen database entry presented as a strong hint.\n"
-"\n"
-"The database entries include information about the chipset, what driver to\n"
-"run, the Ramdac and ClockChip, and comments that will be included in the\n"
-"Device section. However, a lot of definitions only hint about what driver\n"
-"to run (based on the chipset the card uses) and are untested.\n"
-"\n"
-"If you can't find your card in the database, there's nothing to worry about.\n"
-"You should only choose a database entry that is exactly the same model as\n"
-"your card; choosing one that looks similar is just a bad idea (e.g. a\n"
-"GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of\n"
-"hardware as can be).\n"
-"\n";
-
-static char *cardunsupported_text =
-"This card is basically UNSUPPORTED. It may only work as a generic\n"
-"VGA-compatible card. If you have an "__XSERVERNAME__" version more recent than what\n"
-"this card definition was based on, there's a chance that it is now\n"
-"supported.\n";
-
-static void 
-carddb_configuration(void) {
-	int i;
-	char s[80];
-	card_selected = -1;
-	printf("%s", cardintro_text);
-	printf("Do you want to look at the card database? ");
-	getstring(s);
-	printf("\n");
-	if (!answerisyes(s))
-		return;
-
-	/*
-	 * Choose a database entry.
-	 */
-	if (parse_database()) {
-		printf("Couldn't read card database file %s.\n",
-			CARD_DATABASE_FILE);
-		keypress();
-		return;
-	}
-
-	i = 0;
-	for (;;) {
-		int j;
-		emptylines();
-		for (j = i; j < i + 18 && j <= lastcard; j++) {
-			char *name = card[j].name,
-			     *chipset = card[j].chipset;
-
-			printf("%3d  %-50s%s\n", j,
-				name ? name : "-",
-				chipset ? chipset : "-");
-		}
-		printf("\n");
-		printf("Enter a number to choose the corresponding card definition.\n");
-		printf("Press enter for the next page, q to continue configuration.\n");
-		printf("\n");
-		getstring(s);
-		if (s[0] == 'q')
-			break;
-		if (strlen(s) == 0) {
-			i += 18;
-			if (i > lastcard)
-				i = 0;
-			continue;
-		}
-		card_selected = atoi(s);
-		if (card_selected >= 0 && card_selected <= lastcard)
-			break;
-	}
-
-	/*
-	 * Look at the selected card.
-	 */
-	if (card_selected != -1) {
-		char *name = card[card_selected].name,
-		     *chipset = card[card_selected].chipset;
-
-		printf("\nYour selected card definition:\n\n");
-		printf("Identifier: %s\n", name ? name : "-");
-		printf("Chipset:    %s\n", chipset ? chipset : "-");
-		if (!card[card_selected].driver)
-			card[card_selected].driver = "unknown";
-		printf("Driver:     %s\n", card[card_selected].driver);
-
-		if (card[card_selected].ramdac != NULL)
-			printf("Ramdac:     %s\n", card[card_selected].ramdac);
-		if (card[card_selected].dacspeed != NULL)
-			printf("DacSpeed:     %s\n", card[card_selected].dacspeed);
-		if (card[card_selected].clockchip != NULL)
-			printf("Clockchip:  %s\n", card[card_selected].clockchip);
-		if (card[card_selected].flags & NOCLOCKPROBE)
-			printf("Do NOT probe clocks or use any Clocks line.\n");
-		if (card[card_selected].flags & UNSUPPORTED)
-			printf("%s", cardunsupported_text);
-#if 0	/* Might be confusing. */
-		if (strlen(card[card_selected].lines) > 0)
-			printf("Device section text:\n%s",
-				card[card_selected].lines);
-#endif
-		printf("\n");
-		keypress();
-	}
-}
-
-
-/*
- * Screen/video card configuration.
- */
-
-static char *deviceintro_text =
-"Now you must give information about your video card. This will be used for\n"
-"the \"Device\" section of your video card in " CONFIGNAME ".\n"
-"\n";
-
-static char *videomemoryintro_text =
-"It is probably a good idea to use the same approximate amount as that detected\n"
-"by the server you intend to use. If you encounter problems that are due to the\n"
-"used server not supporting the amount memory you have, specify the maximum\n"
-"amount supported by the server.\n"
-"\n"
-"How much video memory do you have on your video card:\n"
-"\n";
-
-static char *carddescintro_text =
-"You must now enter a few identification/description strings, namely an\n"
-"identifier, a vendor name, and a model name. Just pressing enter will fill\n"
-"in default names (possibly from a card definition).\n"
-"\n";
-
-#if 0
-static char *devicesettingscomment_text =
-"Especially for accelerated drivers, Ramdac, Dacspeed and ClockChip settings\n"
-"or special options may be required in the Device section.\n"
-"\n";
-
-static char *ramdaccomment_text =
-"The RAMDAC setting only applies to some drivers. Some RAMDAC's are\n"
-"auto-detected by the server. The detection of a RAMDAC is forced by using a\n"
-"Ramdac \"identifier\" line in the Device section. The identifiers are shown\n"
-"at the right of the following table of RAMDAC types:\n"
-"\n";
-
-#define NU_RAMDACS 24
-
-static char *ramdac_name[NU_RAMDACS] = {
-	"AT&T 20C490 (S3 and AGX servers, ARK driver)",
-	"AT&T 20C498/21C498/22C498 (S3, autodetected)",
-	"AT&T 20C409/20C499 (S3, autodetected)",
-	"AT&T 20C505 (S3)",
-	"BrookTree BT481 (AGX)",
-	"BrookTree BT482 (AGX)",
-	"BrookTree BT485/9485 (S3)",
-	"Sierra SC15025 (S3, AGX)",
-#if XFREE86_VERSION >= 311	
-	"S3 GenDAC (86C708) (autodetected)",
-	"S3 SDAC (86C716) (autodetected)",
-#else
-	"S3 GenDAC (86C708)",
-	"S3 SDAC (86C716)",
-#endif
-	"STG-1700 (S3, autodetected)",
-	"STG-1703 (S3, autodetected)",
-	"TI 3020 (S3, autodetected)",
-	"TI 3025 (S3, autodetected)",
-	"TI 3026 (S3, autodetected)",
-	"IBM RGB 514 (S3, autodetected)",
-	"IBM RGB 524 (S3, autodetected)",
-	"IBM RGB 525 (S3, autodetected)",
-	"IBM RGB 526 (S3)",
-	"IBM RGB 528 (S3, autodetected)",
-	"ICS5342 (S3, ARK)",
-	"ICS5341 (W32)",
-	"IC Works w30C516 ZoomDac (ARK)",
-	"Normal DAC"
-};
-
-static char *ramdac_id[NU_RAMDACS] = {
-	"att20c490", "att20c498", "att20c409", "att20c505", "bt481", "bt482",
-	"bt485", "sc15025", "s3gendac", "s3_sdac", "stg1700","stg1703",
-	"ti3020", "ti3025", "ti3026", "ibm_rgb514", "ibm_rgb524",
-	"ibm_rgb525", "ibm_rgb526", "ibm_rgb528", "ics5342", "ics5341",
-	"zoomdac", "normal"
-};
-
-static char *clockchipcomment_text =
-"A Clockchip line in the Device section forces the detection of a\n"
-"programmable clock device. With a clockchip enabled, any required\n"
-"clock can be programmed without requiring probing of clocks or a\n"
-"Clocks line. Most cards don't have a programmable clock chip.\n"
-"Choose from the following list:\n"
-"\n";
-
-#define NU_CLOCKCHIPS 12
-
-static char *clockchip_name[] = {
-	"Chrontel 8391",
-	"ICD2061A and compatibles (ICS9161A, DCS2824)",
-	"ICS2595",
-	"ICS5342 (similar to SDAC, but not completely compatible)",
-	"ICS5341",
-	"S3 GenDAC (86C708) and ICS5300 (autodetected)",
-	"S3 SDAC (86C716)",
-	"STG 1703 (autodetected)",
-	"Sierra SC11412",
-	"TI 3025 (autodetected)",
-	"TI 3026 (autodetected)",
-	"IBM RGB 51x/52x (autodetected)",
-};
-
-static char *clockchip_id[] = {
-	"ch8391", "icd2061a", "ics2595", "ics5342", "ics5341",
-	"s3gendac", "s3_sdac",
-	"stg1703", "sc11412", "ti3025", "ti3026", "ibm_rgb5xx",
-};
-
-static char *deviceclockscomment_text =
-"For most modern configurations, a Clocks line is neither required or\n"
-"desirable.  However for some older hardware it can be useful since it\n"
-"prevents the slow and nasty sounding clock probing at server start-up.\n"
-"Probed clocks are displayed at server startup, along with other server\n"
-"and hardware configuration info. You can save this information in a file\n"
-"by running 'X -probeonly 2>output_file'. Be warned that clock probing is\n"
-"inherently imprecise; some clocks may be slightly too high (varies per run).\n"
-"\n";
-
-static char *deviceclocksquestion_text =
-"At this point I can run X -probeonly, and try to extract the clock information\n"
-"from the output. It is recommended that you do this yourself and if a set of\n"
-"clocks is shown then you add a clocks line (note that the list of clocks may\n"
-"be split over multiple Clocks lines) to your Device section afterwards. Be\n"
-"aware that a clocks line is not appropriate for most modern hardware that\n"
-"has programmable clocks.\n"
-"\n"
-"You must be root to be able to run X -probeonly now.\n"
-"\n";
-
-static char *probeonlywarning_text =
-"It is possible that the hardware detection routines in the server will somehow\n"
-"cause the system to crash and the screen to remain blank. If this is the\n"
-"case, do not choose this option the next time. The server may need a\n"
-"Ramdac, ClockChip or special option (e.g. \"nolinear\" for S3) to probe\n"
-"and start-up correctly.\n"
-"\n";
-#endif
-
-static char *modesorderintro_text =
-"For each depth, a list of modes (resolutions) is defined. The default\n"
-"resolution that the server will start-up with will be the first listed\n"
-"mode that can be supported by the monitor and card.\n"
-"Currently it is set to:\n"
-"\n";
-
-static char *modesorder_text2 =
-"Modes that cannot be supported due to monitor or clock constraints will\n"
-"be automatically skipped by the server.\n"
-"\n"
-" 1  Change the modes for 8-bit (256 colors)\n"
-" 2  Change the modes for 16-bit (32K/64K colors)\n"
-" 3  Change the modes for 24-bit (24-bit color)\n"
-" 4  The modes are OK, continue.\n"
-"\n";
-
-static char *modeslist_text =
-"Please type the digits corresponding to the modes that you want to select.\n"
-"For example, 432 selects \"1024x768\" \"800x600\" \"640x480\", with a\n"
-"default mode of 1024x768.\n"
-"\n";
-
-static char *virtual_text =
-"You can have a virtual screen (desktop), which is screen area that is larger\n"
-"than the physical screen and which is panned by moving the mouse to the edge\n"
-"of the screen. If you don't want virtual desktop at a certain resolution,\n"
-"you cannot have modes listed that are larger. Each color depth can have a\n"
-"differently-sized virtual screen\n"
-"\n";
-
-static int videomemory[] = {
-	256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144
-};
-
-/* Is this required? */
-#if XFREE86_VERSION >= 400
-#define NU_MODESTRINGS 13
-#else
-#if XFREE86_VERSION >= 330
-#define NU_MODESTRINGS 12
-#else
-#if XFREE86_VERSION >= 311
-#define NU_MODESTRINGS 8
-#else
-#define NU_MODESTRINGS 5
-#endif
-#endif
-#endif
-
-static char *modestring[NU_MODESTRINGS] = {
-	"\"640x400\"",
-	"\"640x480\"",
-	"\"800x600\"",
-	"\"1024x768\"",
-	"\"1280x1024\"",
-#if XFREE86_VERSION >= 311
-	"\"320x200\"",
-	"\"320x240\"",
-	"\"400x300\""
-#endif
-#if XFREE86_VERSION >= 330
-	,"\"1152x864\"",
-	"\"1600x1200\"",
-	"\"1800x1400\"",
-	"\"512x384\""
-#endif
-#if XFREE86_VERSION >= 400
-	,"\"1400x1050\""
-#endif
-};
-
-static int exists_dir(char *name) {
-	struct stat sbuf;
-
-	/* is it there ? */
-	if (stat(name,&sbuf) == -1)
-		return 0;
-
-	/* is there, but is it a dir? */
-	return S_ISDIR(sbuf.st_mode) ? 1 : 0;
-}
-
-static int 
-screen_configuration(void) {
-	int i, c/*, np*/;
-	char s[80];
-
-	/*
-	 * Configure the "Device" section for the video card.
-	 */
-
-	printf("%s", deviceintro_text);
-
-	printf("%s", videomemoryintro_text);
-
-	for (i = 0; i < sizeof(videomemory) / sizeof(videomemory[0]); i++)
-		printf("%2d  %dK\n", i + 1, videomemory[i]);
-	printf("%2d  Other\n\n", i + 1);
-
-	printf("Enter your choice: ");
-	getstring(s);
-	printf("\n");
-
-	c = atoi(s) - 1;
-	if (c >= 0 && c < sizeof(videomemory) / sizeof(videomemory[0]))
-		config_videomemory = videomemory[c];
-	else {
-		printf("Amount of video memory in Kbytes: ");
-		getstring(s);
-		config_videomemory = atoi(s);
-		printf("\n");
-	}
-
-	printf("%s", carddescintro_text);
-	if (card_selected != -1)
-		printf("Your card definition is %s.\n\n",
-			card[card_selected].name);
-	printf("The strings are free-form, spaces are allowed.\n");
-	printf("Enter an identifier for your video card definition: ");
-	getstring(s);
-	if (strlen(s) == 0)
-		if (card_selected != -1)
-			config_deviceidentifier = card[card_selected].name;
-		else
-			config_deviceidentifier = "My Video Card";
-	else {
-		config_deviceidentifier = Malloc(strlen(s) + 1);
-		strcpy(config_deviceidentifier, s);
-	}
-	printf("\n");
-
-	emptylines();
-
-	/*
-	 * Initialize screen mode variables for svga and accel
-	 * to default values.
-	 * XXXX Doesn't leave room for off-screen caching in 16/32bpp modes
-	 *      for the accelerated servers in some situations.
-	 */
-	config_modesline8bpp =
-	config_modesline16bpp =
-	config_modesline24bpp = "\"640x480\"";
-	config_virtualx8bpp = config_virtualx16bpp = config_virtualx24bpp =
-	config_virtualy8bpp = config_virtualy16bpp = config_virtualy24bpp = 0;
-	if (config_videomemory >= 4096) {
-		config_virtualx8bpp = 1600;
-		config_virtualy8bpp = 1280;
-		if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) {
-			/*
-			 * Allow room for font/pixmap cache for accel
-			 * servers.
-			 */
-			config_virtualx16bpp = 1280;
-			config_virtualy16bpp = 1024;
-		}
-		else {
-			config_virtualx16bpp = 1600;
-			config_virtualy16bpp = 1280;
-		}
-		if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) {
-			config_virtualx24bpp = 1152;
-			config_virtualy24bpp = 900;
-		}
-		else {
-			config_virtualx24bpp = 1280;
-			config_virtualy24bpp = 1024;
-		}
-		/* Add 1600x1280 */
-		config_modesline8bpp = "\"1280x1024\" \"1024x768\" \"800x600\" \"640x480\"";
-		config_modesline16bpp = "\"1280x1024\" \"1024x768\" \"800x600\" \"640x480\"";
-		config_modesline24bpp = "\"1280x1024\" \"1024x768\" \"800x600\" \"640x480\"";
-
-	}
-	else
-	if (config_videomemory >= 2048) {
-		if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) {
-			/*
-			 * Allow room for font/pixmap cache for accel
-			 * servers.
-			 * Also the mach32 is has a limited width.
-			 */
-			config_virtualx8bpp = 1280;
-			config_virtualy8bpp = 1024;
-		}
-		else {
-			config_virtualx8bpp = 1600;
-			config_virtualy8bpp = 1200;
-		}
-		if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) {
-			config_virtualx16bpp = 1024;
-			config_virtualy16bpp = 768;
-		}
-		else {
-			config_virtualx16bpp = 1152;
-			config_virtualy16bpp = 900;
-		}
-		config_virtualx24bpp = 800;
-		config_virtualy24bpp = 600;
-		if (config_videomemory >= 2048 + 256) {
-			config_virtualx24bpp = 1024;
-			config_virtualy24bpp = 768;
-		}
-		config_modesline8bpp = "\"1280x1024\" \"1024x768\" \"800x600\" \"640x480\"";
-		config_modesline16bpp = "\"1024x768\" \"800x600\" \"640x480\"";
-		if (config_videomemory >= 2048 + 256)
-			config_modesline24bpp = "\"1024x768\" \"800x600\" \"640x480\"";
-		else
-			config_modesline24bpp = "\"800x600\" \"640x480\"";
-	}
-	else
-	if (config_videomemory >= 1024) {
-		if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) {
-			/*
-			 * Allow room for font/pixmap cache for accel
-			 * servers.
-			 */
-			config_virtualx8bpp = 1024;
-			config_virtualy8bpp = 768;
-		}
-		else {
-			config_virtualx8bpp = 1152;
-			config_virtualy8bpp = 900;
-		}
-		config_virtualx16bpp = 800; /* Forget about cache space;  */
-		config_virtualy16bpp = 600; /* it's small enough as it is. */
-		config_virtualx24bpp = 640;
-		config_virtualy24bpp = 480;
-		config_modesline8bpp = "\"1024x768\" \"800x600\" \"640x480\"";
-		config_modesline16bpp = "\"800x600\" \"640x480\"";
-		config_modesline24bpp = "\"640x480\"";
-	}
-	else
-	if (config_videomemory >= 512) {
-		config_virtualx8bpp = 800;
-		config_virtualy8bpp = 600;
-		config_modesline8bpp = "\"800x600\" \"640x480\"";
-		config_modesline16bpp = "\"640x400\"";
-	}
-	else
-	if (config_videomemory >= 256) {
-		config_modesline8bpp = "\"640x400\"";
-		config_virtualx8bpp = 640;
-		config_virtualy8bpp = 400;
-	}
-	else {
-		printf("Invalid amount of video memory. Please try again\n");
-		return(1);
-	}
-
-#if 0
-	/*
-	 * Handle the Ramdac/Clockchip setting.
-	 */
-
-	printf("%s", devicesettingscomment_text);
-
-	if (card_selected == -1 || (card[card_selected].flags & UNSUPPORTED))
-		goto skipramdacselection;
-
-	printf("%s", ramdaccomment_text);
-
-	/* meanwhile there are so many RAMDACs that they do no longer fit on
-	 * on page
-	 */
-	for (np=12, i=0 ;;) {
-		int j;
-		for (j = i; j < i + np && j < NU_RAMDACS; j++)
-			printf("%3d  %-60s%s\n", j+1,
-				ramdac_name[j],
-				ramdac_id[j]);
-
-		printf("\n");
-		if (card_selected != -1)
-			if (card[card_selected].ramdac != NULL)
-				printf("The card definition has Ramdac \"%s\".\n\n",
-					card[card_selected].ramdac);
-		printf("\n");
-		printf("Enter a number to choose the corresponding RAMDAC.\n");
-		printf("Press enter for the next page, q to quit without selection of a RAMDAC.\n");
-		printf("\n");
-		getstring(s);
-
-		config_ramdac = NULL;
-		if (s[0] == 'q')
-			break;
-
-		if (strlen(s) > 0) {
-			c = atoi(s)-1;
-			if (c >= 0 && c < NU_RAMDACS) {
-				config_ramdac = ramdac_id[atoi(s)-1];
-				break;
-			}
-		}
-		
-		i += np;
-		if (np==12) np = 18; /* account intro lines only displayed 1st time */
-		if (i >= NU_RAMDACS)
-			i = 0;
-		emptylines();
-	}
-
-skipramdacselection:
-	emptylines();
-	printf("%s", clockchipcomment_text);
-
-	for (i = 0; i < NU_CLOCKCHIPS; i++)
-		printf("%2d  %-60s%s\n",
-			i + 1, clockchip_name[i], clockchip_id[i]);
-
-	printf("\n");
-
-	if (card_selected != -1)
-		if (card[card_selected].clockchip != NULL)
-			printf("The card definition has Clockchip \"%s\"\n\n",
-				card[card_selected].clockchip);
-
-	printf("Just press enter if you don't want a Clockchip setting.\n");
-	printf("What Clockchip setting do you want (1-%d)? ", NU_CLOCKCHIPS);
-
-	getstring(s);
-	config_clockchip = NULL;
-	if (strlen(s) > 0)
-		config_clockchip = clockchip_id[atoi(s) - 1];
-
-	emptylines();
-
-	/*
-	 * Optionally run X -probeonly to figure out the clocks.
-	 */
-
-	config_numberofclockslines = 0;
-
-	printf("%s", deviceclockscomment_text);
-
-	printf("%s", deviceclocksquestion_text);
-#endif
-
-#if 0
-	/*
-	 * XXX Change this to check for a CLOCKPROBE flag rather than an
-	 * NOCLOCKPROBE.
-	 */
-	if (card_selected != -1)
-		if (card[card_selected].flags & NOCLOCKPROBE)
-			printf("The card definition says to NOT probe clocks.\n");
-
-	if (config_clockchip != NULL) {
-		printf("Because you have enabled a Clockchip line, there's no need for clock\n"
-			"probing.\n");
-		keypress();
-		goto skipclockprobing;
-	}
-
-	printf("Do you want me to run 'X -probeonly' now? ");
-	getstring(s);
-	printf("\n");
-	if (answerisyes(s)) {
-		/*
-		 * Write temporary XF86Config and run X -probeonly.
-		 * Only allow when root.
-		 */
-		FILE *f;
-		char *buf;
-		char syscmdline[2*256+100]; /* enough */
-                char *fname = NULL;
-                char *d2name = NULL;
-                char *d3name = NULL;
-
-		if (getuid() != 0) {
-			printf("Sorry, you must be root to do this.\n\n");
-			goto endofprobeonly;
-		}
-		printf("%s", probeonlywarning_text);
-		keypress();
-		fname = Malloc(strlen(temp_dir) +
-                               strlen(TEMPORARY_XF86CONFIG_FILENAME) + 1);
-		sprintf(fname, "%s%s", temp_dir,
-                       TEMPORARY_XF86CONFIG_FILENAME);
-		d2name = Malloc(strlen(temp_dir) + strlen(DUMBCONFIG2) + 1);
-		sprintf(d2name, "%s%s", temp_dir, DUMBCONFIG2);
-		d3name = Malloc(strlen(temp_dir) + strlen(DUMBCONFIG3) + 1);
-		sprintf(d3name, "%s%s", temp_dir, DUMBCONFIG3);
-		printf("Running X -probeonly -pn -xf86config %s.\n", fname);
-		write_XF86Config(fname);
-		sync();
-		/* compose a line with the real path */
-                sprintf(syscmdline, "X -probeonly -pn -xf86config %s 2> %s",
-                        fname, d2name);
-
-		if (system(syscmdline)) {
-			printf("X -probeonly call failed.\n");
-			printf("No Clocks line inserted.\n");
-			goto clocksprobefailed;
-		}
-		/* Look for 'clocks:' (case sensitive). */		
-                sprintf(syscmdline, "grep clocks\\: %s > %s", d2name, d3name);
-                if (system(syscmdline)) {
-			printf("grep failed.\n");
-			printf("Cannot find clocks in server output.\n");
-			goto clocksprobefailed;
-		}
-                f = fopen(d3name, "r");
-		buf = Malloc(8192);
-		/* Parse lines. */
-		while (fgets(buf, 8192, f) != NULL) {
-			char *clks;
-			clks = strstr(buf, "clocks: ") + 8;
-			if (clks >= buf + 3 && strcmp(clks - 11, "num") == 0)
-				/* Reject lines with 'numclocks:'. */
-				continue;
-			if (clks >= buf + 8 && strcpy(clks - 14, "pixel ") == 0)
-				/* Reject lines with 'pixel clocks:'. */
-				continue;
-			clks[strlen(clks) - 1] = '\0';	/* Remove '\n'. */
-			config_clocksline[config_numberofclockslines] =
-				Malloc(strlen(clks) + 1);
-			strcpy(config_clocksline[config_numberofclockslines],
-				clks);
-			printf("Clocks %s\n", clks);
-			config_numberofclockslines++;
-		}
-		fclose(f);
-clocksprobefailed:
-                unlink(d3name);
-                unlink(d2name);
-                unlink(fname);
-		printf("\n");
-
-endofprobeonly:
-		keypress();
-	}
-skipclockprobing:
-#endif
-
-	/*
-	 * For vga driver, no further configuration is required.
-	 */
-	if (card_selected == -1 || (card[card_selected].flags & UNSUPPORTED))
-		return (0);
-	
-	/*
-	 * Configure the modes order.
-	 */
-	config_virtual = 0;
-	for (;;) {
-	 	char modes[128];
-
-		emptylines();
-
-		printf("%s", modesorderintro_text);
-		printf("%s for 8-bit\n", config_modesline8bpp);
-		printf("%s for 16-bit\n", config_modesline16bpp);
-		printf("%s for 24-bit\n", config_modesline24bpp);
-		printf("\n");
-		printf("%s", modesorder_text2);
-
-		printf("Enter your choice: ");
-		getstring(s);
-		printf("\n");
-
-		c = atoi(s) - 1;
-		if (c < 0 || c >= 3)
-			break;
-
-		printf("Select modes from the following list:\n\n");
-
-		for (i = 0; i < NU_MODESTRINGS; i++)
-                        printf(" %c  %s\n", i < 9 ? '1' + i :
-                                                    'a' + i - 9, 
-                                            modestring[i]);
-		printf("\n");
-
-		printf("%s", modeslist_text);
-
-		printf("Which modes? ");
-		getstring(s);
-		printf("\n");
-
-		modes[0] = '\0';
-		for (i = 0; i < strlen(s); i++) {
-                        if ( NU_MODESTRINGS > 9 ) {
-                          if ((s[i] < '1' || s[i] > '9') &&
-                              (s[i] < 'a' || s[i] > 'a' + NU_MODESTRINGS - 10)) {
-                                printf("Invalid mode skipped.\n");
-                                continue;
-                            }
-                        }
-                        else {
-                          if (s[i] < '1' || s[i] > '0' + NU_MODESTRINGS) {
-				printf("Invalid mode skipped.\n");
-				continue;
-			  }
-			}
-			if (i > 0)
-				strcat(modes, " ");
-                        strcat(modes, modestring[s[i] <= '9' ? s[i] - '1' :
-                                                               s[i] - 'a' + 9]);
-		}
-		switch (c) {
-		case 0 :
-			config_modesline8bpp = Malloc(strlen(modes) + 1);
-			strcpy(config_modesline8bpp, modes);
-			break;
-		case 1 :
-			config_modesline16bpp = Malloc(strlen(modes) + 1);
-			strcpy(config_modesline16bpp, modes);
-			break;
-		case 2 :
-			config_modesline24bpp = Malloc(strlen(modes) + 1);
-			strcpy(config_modesline24bpp, modes);
-			break;
-		}
-
-		printf("%s", virtual_text);
-
-		printf("Please answer the following question with either 'y' or 'n'.\n");
-		printf("Do you want a virtual screen that is larger than the physical screen?");
-		getstring(s);
-		if (answerisyes(s))
-			config_virtual = 1;
-	}
-	return(0);
-}
-
-static char *defaultdepthtext = 
-"Please specify which color depth you want to use by default:\n"
-"\n";
-
-static struct depth_str {
-    char *name;
-    char *desc;
-} depth_list[] = {
-    { "1", "1 bit (monochrome)" },
-    { "4", "4 bits (16 colors)" },
-    { "8", "8 bits (256 colors)" },
-    { "16", "16 bits (65536 colors)" },
-    { "24", "24 bits (16 million colors)" }
-};
-
-static int ndepths = sizeof(depth_list)/sizeof(struct depth_str);
-
-static void
-depth_configuration(void)
-{
-	int i;
-	char s[80];
-	int depth;
-
-	printf(defaultdepthtext);
-	for (i=0; i<ndepths; i++) {
-	    printf("%3d  %-50s\n",i+1,depth_list[i].desc);
-	}
-	
-	printf("\nEnter a number to choose the default depth.\n\n");
-	getstring(s);
-	if (strlen(s) == 0)
-	    depth = 0;
-	else {
-	    i = atoi(s)-1;
-	    depth = (i < 0 || i > ndepths) ? 0 : i;
-	}
-	config_depth = depth_list[depth].name;
-}
-
-/*
- * Create the XF86Config file.
- */
-
-static char *XF86Config_firstchunk_text =
-"# File generated by xorgconfig.\n"
-"\n"
-"#\n"
-"# Copyright 2004 "XVENDORNAME"\n"
-"#\n"
-"# Permission is hereby granted, free of charge, to any person obtaining a\n"
-"# copy of this software and associated documentation files (the \"Software\"),\n"
-"# to deal in the Software without restriction, including without limitation\n"
-"# the rights to use, copy, modify, merge, publish, distribute, sublicense,\n"
-"# and/or sell copies of the Software, and to permit persons to whom the\n"
-"# Software is furnished to do so, subject to the following conditions:\n"
-"# \n"
-"# The above copyright notice and this permission notice shall be included in\n"
-"# all copies or substantial portions of the Software.\n"
-"# \n"
-"# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n"
-"# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n"
-"# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL\n"
-"# "XVENDORNAME" BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n"
-"# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF\n"
-"# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n"
-"# SOFTWARE.\n"
-"# \n"
-"# Except as contained in this notice, the name of "XVENDORNAME" shall\n"
-"# not be used in advertising or otherwise to promote the sale, use or other\n"
-"# dealings in this Software without prior written authorization from\n"
-"# "XVENDORNAME".\n"
-"#\n"
-"\n"
-"# **********************************************************************\n"
-"# Refer to the " CONFIGNAME "(" FILEMANSUFFIX ") man page for details about the format of \n"
-"# this file.\n"
-"# **********************************************************************\n"
-"\n"
-"# **********************************************************************\n"
-"# Module section -- this  section  is used to specify\n"
-"# which dynamically loadable modules to load.\n"
-"# **********************************************************************\n"
-"#\n"
-"Section \"Module\"\n"
-"\n"
-"# This loads the DBE extension module.\n"
-"\n"
-"    Load        \"dbe\"  	# Double buffer extension\n"
-"\n"
-"# This loads the miscellaneous extensions module, and disables\n"
-"# initialisation of the XFree86-DGA extension within that module.\n"
-"    SubSection  \"extmod\"\n"
-"      Option    \"omit xfree86-dga\"   # don't initialise the DGA extension\n"
-"    EndSubSection\n"
-"\n"
-"# This loads the font modules\n"
-#ifdef HAS_TYPE1
-"    Load        \"type1\"\n"
-#else
-"#    Load        \"type1\"\n"
-#endif
-"    Load        \"freetype\"\n"
-"#    Load        \"xtt\"\n"
-"\n"
-"# This loads the GLX module\n"
-"#    Load       \"glx\"\n"
-"# This loads the DRI module\n"
-"#    Load       \"dri\"\n"
-"\n"
-"EndSection\n"
-"\n"
-"# **********************************************************************\n"
-"# Files section.  This allows default font and rgb paths to be set\n"
-"# **********************************************************************\n"
-"\n"
-"Section \"Files\"\n"
-"\n"
-"# Multiple FontPath entries are allowed (which are concatenated together),\n"
-"# as well as specifying multiple comma-separated entries in one FontPath\n"
-"# command (or a combination of both methods)\n"
-"# \n"
-"\n";
-
-static char *XF86Config_fontpaths[] = 
-{
-/*	"    FontPath	\"" TREEROOTFONT "/75dpi/\"\n"*/
-    "/local/",
-	"/misc/",
-	"/75dpi/:unscaled",
-	"/100dpi/:unscaled",
-	"/Type1/",
-	"/TrueType/",
-	"/freefont/",
-	"/75dpi/",
-	"/100dpi/",
-	0 /* end of fontpaths */
-};
-
-static char *XF86Config_fontpathchunk_text =
-
-"\n"
-"# The module search path.  The default path is shown here.\n"
-"\n"
-"#    ModulePath \"" MODULEPATH "\"\n"
-"\n"
-"EndSection\n"
-"\n"
-"# **********************************************************************\n"
-"# Server flags section.\n"
-"# **********************************************************************\n"
-"\n"
-"Section \"ServerFlags\"\n"
-"\n"
-"# Uncomment this to cause a core dump at the spot where a signal is \n"
-"# received.  This may leave the console in an unusable state, but may\n"
-"# provide a better stack trace in the core dump to aid in debugging\n"
-"\n"
-"#    Option \"NoTrapSignals\"\n"
-"\n"
-"# Uncomment this to disable the <Ctrl><Alt><Fn> VT switch sequence\n"
-"# (where n is 1 through 12).  This allows clients to receive these key\n"
-"# events.\n"
-"\n"
-"#    Option \"DontVTSwitch\"\n"
-"\n"
-"# Uncomment this to disable the <Ctrl><Alt><BS> server abort sequence\n"
-"# This allows clients to receive this key event.\n"
-"\n"
-"#    Option \"DontZap\"\n"
-"\n"
-"# Uncomment this to disable the <Ctrl><Alt><KP_+>/<KP_-> mode switching\n"
-"# sequences.  This allows clients to receive these key events.\n"
-"\n"
-"#    Option \"Dont Zoom\"\n"
-"\n"
-"# Uncomment this to disable tuning with the xvidtune client. With\n"
-"# it the client can still run and fetch card and monitor attributes,\n"
-"# but it will not be allowed to change them. If it tries it will\n"
-"# receive a protocol error.\n"
-"\n"
-"#    Option \"DisableVidModeExtension\"\n"
-"\n"
-"# Uncomment this to enable the use of a non-local xvidtune client. \n"
-"\n"
-"#    Option \"AllowNonLocalXvidtune\"\n"
-"\n"
-"# Uncomment this to disable dynamically modifying the input device\n"
-"# (mouse and keyboard) settings. \n"
-"\n"
-"#    Option \"DisableModInDev\"\n"
-"\n"
-"# Uncomment this to enable the use of a non-local client to\n"
-"# change the keyboard or mouse settings (currently only xset).\n"
-"\n"
-"#    Option \"AllowNonLocalModInDev\"\n"
-"\n"
-"EndSection\n"
-"\n"
-"# **********************************************************************\n"
-"# Input devices\n"
-"# **********************************************************************\n"
-"\n"
-"# **********************************************************************\n"
-"# Core keyboard's InputDevice section\n"
-"# **********************************************************************\n"
-"\n"
-"Section \"InputDevice\"\n"
-"\n"
-"    Identifier	\"Keyboard1\"\n"
-"    Driver	\"kbd\"\n"
-"\n"
-"    Option \"AutoRepeat\" \"500 30\"\n"
-"\n"
-"# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))\n"
-"#    Option	\"Xleds\"      \"1 2 3\"\n"
-"\n";
-
-static char *keyboardchunk2_text =
-"\n";
-
-static char *keyboardchunk3_text =
-"# To customise the XKB settings to suit your keyboard, modify the\n"
-"# lines below (which are the defaults).  For example, for a non-U.S.\n"
-"# keyboard, you will probably want to use:\n"
-"#    Option \"XkbModel\"    \"pc105\"\n"
-"# If you have a US Microsoft Natural keyboard, you can use:\n"
-"#    Option \"XkbModel\"    \"microsoft\"\n"
-"#\n"
-"# Then to change the language, change the Layout setting.\n"
-"# For example, a german layout can be obtained with:\n"
-"#    Option \"XkbLayout\"   \"de\"\n"
-"# or:\n"
-"#    Option \"XkbLayout\"   \"de\"\n"
-"#    Option \"XkbVariant\"  \"nodeadkeys\"\n"
-"#\n"
-"# If you'd like to switch the positions of your capslock and\n"
-"# control keys, use:\n"
-"#    Option \"XkbOptions\"  \"ctrl:swapcaps\"\n"
-"\n"
-"# These are the default XKB settings for "__XSERVERNAME__"\n"
-"#    Option \"XkbRules\"    \""__XKBDEFRULES__"\"\n"
-"#    Option \"XkbModel\"    \"pc105\"\n"
-"#    Option \"XkbLayout\"   \"us\"\n"
-"#    Option \"XkbVariant\"  \"\"\n"
-"#    Option \"XkbOptions\"  \"\"\n"
-"\n";
-
-static char *keyboardlastchunk_text =
-"\n"
-"EndSection\n"
-"\n"
-"\n";
-
-static char *pointersection_text1 = 
-"# **********************************************************************\n"
-"# Core Pointer's InputDevice section\n"
-"# **********************************************************************\n"
-"\n"
-"Section \"InputDevice\"\n"
-"\n"
-"# Identifier and driver\n"
-"\n"
-#if defined(__UNIXWARE__)
-"#    Identifier	\"Mouse1\"\n"
-"#    Driver	\"mouse\"\n"
-#else
-"    Identifier	\"Mouse1\"\n"
-"    Driver	\"mouse\"\n"
-#endif
-;
-
-static char *pointersection_text2 =
-"\n"
-"# Mouse-speed setting for PS/2 mouse.\n"
-"\n"
-"#    Option \"Resolution\"	\"256\"\n"
-"\n"
-"# Baudrate and SampleRate are only for some Logitech mice. In\n"
-"# almost every case these lines should be omitted.\n"
-"\n"
-"#    Option \"BaudRate\"	\"9600\"\n"
-"#    Option \"SampleRate\"	\"150\"\n"
-"\n"
-"# Mouse wheel mapping.  Default is to map vertical wheel to buttons 4 & 5,\n"
-"# horizontal wheel to buttons 6 & 7.   Change if your mouse has more than\n"
-"# 3 buttons and you need to map the wheel to different button ids to avoid\n"
-"# conflicts.\n"
-"\n"
-"    Option \"ZAxisMapping\"   \"4 5 6 7\"\n"
-"\n"
-"# Emulate3Buttons is an option for 2-button mice\n"
-"# Emulate3Timeout is the timeout in milliseconds (default is 50ms)\n"
-"\n";
-
-
-static char *xinputsection_text =
-"# **********************************************************************\n"
-"# Other input device sections \n"
-"# this is optional and is required only if you\n"
-"# are using extended input devices.  This is for example only.  Refer\n"
-"# to the " CONFIGNAME " man page for a description of the options.\n"
-"# **********************************************************************\n"
-"#\n"
-"# Section \"InputDevice\" \n"
-"#    Identifier  \"Mouse2\"\n"
-"#    Driver      \"mouse\"\n"
-"#    Option      \"Protocol\"      \"MouseMan\"\n"
-"#    Option      \"Device\"        \"/dev/mouse2\"\n"
-"# EndSection\n"
-"#\n"
-"# Section \"InputDevice\"\n"
-"#    Identifier \"spaceball\"\n"
-"#    Driver     \"magellan\"\n"
-"#    Option     \"Device\"        \"/dev/cua0\"\n"
-"# EndSection\n"
-"#\n"
-"# Section \"InputDevice\"\n"
-"#    Identifier \"spaceball2\"\n"
-"#    Driver     \"spaceorb\"\n"
-"#    Option     \"Device\"        \"/dev/cua0\"\n"
-"# EndSection\n"
-"#\n"
-"# Section \"InputDevice\"\n"
-"#    Identifier \"touchscreen0\"\n"
-"#    Driver     \"microtouch\"\n"
-"#    Option     \"Device\"        \"/dev/ttyS0\"\n"
-"#    Option     \"MinX\"          \"1412\"\n"
-"#    Option     \"MaxX\"          \"15184\"\n"
-"#    Option     \"MinY\"          \"15372\"\n"
-"#    Option     \"MaxY\"          \"1230\"\n"
-"#    Option     \"ScreenNumber\"  \"0\"\n"
-"#    Option     \"ReportingMode\" \"Scaled\"\n"
-"#    Option     \"ButtonNumber\"  \"1\"\n"
-"#    Option     \"SendCoreEvents\"\n"
-"# EndSection\n"
-"#\n"
-"# Section \"InputDevice\"\n"
-"#    Identifier \"touchscreen1\"\n"
-"#    Driver     \"elo2300\"\n"
-"#    Option     \"Device\"        \"/dev/ttyS0\"\n"
-"#    Option     \"MinX\"          \"231\"\n"
-"#    Option     \"MaxX\"          \"3868\"\n"
-"#    Option     \"MinY\"          \"3858\"\n"
-"#    Option     \"MaxY\"          \"272\"\n"
-"#    Option     \"ScreenNumber\"  \"0\"\n"
-"#    Option     \"ReportingMode\" \"Scaled\"\n"
-"#    Option     \"ButtonThreshold\"       \"17\"\n"
-"#    Option     \"ButtonNumber\"  \"1\"\n"
-"#    Option     \"SendCoreEvents\"\n"
-"# EndSection\n"
-"\n";
-
-static char *monitorsection_text1 =
-"# **********************************************************************\n"
-"# Monitor section\n"
-"# **********************************************************************\n"
-"\n"
-"# Any number of monitor sections may be present\n"
-"\n"
-"Section \"Monitor\"\n"
-"\n";
-
-static char *monitorsection_text2 =
-"# HorizSync is in kHz unless units are specified.\n"
-"# HorizSync may be a comma separated list of discrete values, or a\n"
-"# comma separated list of ranges of values.\n"
-"# NOTE: THE VALUES HERE ARE EXAMPLES ONLY.  REFER TO YOUR MONITOR\'S\n"
-"# USER MANUAL FOR THE CORRECT NUMBERS.\n"
-"\n";
-
-static char *monitorsection_text3 =
-"#    HorizSync	30-64         # multisync\n"
-"#    HorizSync	31.5, 35.2    # multiple fixed sync frequencies\n"
-"#    HorizSync	15-25, 30-50  # multiple ranges of sync frequencies\n"
-"\n"
-"# VertRefresh is in Hz unless units are specified.\n"
-"# VertRefresh may be a comma separated list of discrete values, or a\n"
-"# comma separated list of ranges of values.\n"
-"# NOTE: THE VALUES HERE ARE EXAMPLES ONLY.  REFER TO YOUR MONITOR\'S\n"
-"# USER MANUAL FOR THE CORRECT NUMBERS.\n"
-"\n";
-
-#if 0
-static char *monitorsection_text4 =
-"# Modes can be specified in two formats.  A compact one-line format, or\n"
-"# a multi-line format.\n"
-"\n"
-"# These two are equivalent\n"
-"\n"
-"#    ModeLine \"1024x768i\" 45 1024 1048 1208 1264 768 776 784 817 Interlace\n"
-"\n"
-"#    Mode \"1024x768i\"\n"
-"#        DotClock	45\n"
-"#        HTimings	1024 1048 1208 1264\n"
-"#        VTimings	768 776 784 817\n"
-"#        Flags		\"Interlace\"\n"
-"#    EndMode\n"
-"\n";
-
-static char *modelines_text =
-"# This is a set of standard mode timings. Modes that are out of monitor spec\n"
-"# are automatically deleted by the server (provided the HorizSync and\n"
-"# VertRefresh lines are correct), so there's no immediate need to\n"
-"# delete mode timings (unless particular mode timings don't work on your\n"
-"# monitor). With these modes, the best standard mode that your monitor\n"
-"# and video card can support for a given resolution is automatically\n"
-"# used.\n"
-"\n"
-"# 640x400 @ 70 Hz, 31.5 kHz hsync\n"
-"Modeline \"640x400\"     25.175 640  664  760  800   400  409  411  450\n"
-"# 640x480 @ 60 Hz, 31.5 kHz hsync\n"
-"Modeline \"640x480\"     25.175 640  664  760  800   480  491  493  525\n"
-"# 800x600 @ 56 Hz, 35.15 kHz hsync\n"
-"ModeLine \"800x600\"     36     800  824  896 1024   600  601  603  625\n"
-"# 1024x768 @ 87 Hz interlaced, 35.5 kHz hsync\n"
-"Modeline \"1024x768\"    44.9  1024 1048 1208 1264   768  776  784  817 Interlace\n"
-"\n"
-"# 640x400 @ 85 Hz, 37.86 kHz hsync\n"
-"Modeline \"640x400\"     31.5   640  672 736   832   400  401  404  445 -HSync +VSync\n"
-"# 640x480 @ 72 Hz, 36.5 kHz hsync\n"
-"Modeline \"640x480\"     31.5   640  680  720  864   480  488  491  521\n"
-"# 640x480 @ 75 Hz, 37.50 kHz hsync\n"
-"ModeLine  \"640x480\"    31.5   640  656  720  840   480  481  484  500 -HSync -VSync\n"
-"# 800x600 @ 60 Hz, 37.8 kHz hsync\n"
-"Modeline \"800x600\"     40     800  840  968 1056   600  601  605  628 +hsync +vsync\n"
-"\n"
-"# 640x480 @ 85 Hz, 43.27 kHz hsync\n"
-"Modeline \"640x480\"     36     640  696  752  832   480  481  484  509 -HSync -VSync\n"
-"# 1152x864 @ 89 Hz interlaced, 44 kHz hsync\n"
-"ModeLine \"1152x864\"    65    1152 1168 1384 1480   864  865  875  985 Interlace\n"
-"\n"
-"# 800x600 @ 72 Hz, 48.0 kHz hsync\n"
-"Modeline \"800x600\"     50     800  856  976 1040   600  637  643  666 +hsync +vsync\n"
-"# 1024x768 @ 60 Hz, 48.4 kHz hsync\n"
-"Modeline \"1024x768\"    65    1024 1032 1176 1344   768  771  777  806 -hsync -vsync\n"
-"\n"
-"# 640x480 @ 100 Hz, 53.01 kHz hsync\n"
-"Modeline \"640x480\"     45.8   640  672  768  864   480  488  494  530 -HSync -VSync\n"
-"# 1152x864 @ 60 Hz, 53.5 kHz hsync\n"
-"Modeline  \"1152x864\"   89.9  1152 1216 1472 1680   864  868  876  892 -HSync -VSync\n"
-"# 800x600 @ 85 Hz, 55.84 kHz hsync\n"
-"Modeline  \"800x600\"    60.75  800  864  928 1088   600  616  621  657 -HSync -VSync\n"
-"\n"
-"# 1024x768 @ 70 Hz, 56.5 kHz hsync\n"
-"Modeline \"1024x768\"    75    1024 1048 1184 1328   768  771  777  806 -hsync -vsync\n"
-"# 1280x1024 @ 87 Hz interlaced, 51 kHz hsync\n"
-"Modeline \"1280x1024\"   80    1280 1296 1512 1568  1024 1025 1037 1165 Interlace\n"
-"\n"
-"# 800x600 @ 100 Hz, 64.02 kHz hsync\n"
-"Modeline  \"800x600\"    69.65  800  864  928 1088   600  604  610  640 -HSync -VSync\n"
-"# 1024x768 @ 76 Hz, 62.5 kHz hsync\n"
-"Modeline \"1024x768\"    85    1024 1032 1152 1360   768  784  787  823\n"
-"# 1152x864 @ 70 Hz, 62.4 kHz hsync\n"
-"Modeline  \"1152x864\"   92    1152 1208 1368 1474   864  865  875  895\n"
-"# 1280x1024 @ 61 Hz, 64.2 kHz hsync\n"
-"Modeline \"1280x1024\"  110    1280 1328 1512 1712  1024 1025 1028 1054\n"
-"\n"
-"# 1024x768 @ 85 Hz, 70.24 kHz hsync\n"
-"Modeline \"1024x768\"   98.9  1024 1056 1216 1408   768 782 788 822 -HSync -VSync\n"
-"# 1152x864 @ 78 Hz, 70.8 kHz hsync\n"
-"Modeline \"1152x864\"   110   1152 1240 1324 1552   864  864  876  908\n"
-"\n"
-"# 1280x1024 @ 70 Hz, 74.59 kHz hsync\n"
-"Modeline \"1280x1024\"  126.5 1280 1312 1472 1696  1024 1032 1040 1068 -HSync -VSync\n"
-"# 1600x1200 @ 60Hz, 75.00 kHz hsync\n"
-"Modeline \"1600x1200\"  162   1600 1664 1856 2160  1200 1201 1204 1250 +HSync +VSync\n"
-"# 1152x864 @ 84 Hz, 76.0 kHz hsync\n"
-"Modeline \"1152x864\"   135    1152 1464 1592 1776   864  864  876  908\n"
-"\n"
-"# 1280x1024 @ 74 Hz, 78.85 kHz hsync\n"
-"Modeline \"1280x1024\"  135    1280 1312 1456 1712  1024 1027 1030 1064\n"
-"\n"
-"# 1024x768 @ 100Hz, 80.21 kHz hsync\n"
-"Modeline \"1024x768\"   115.5  1024 1056 1248 1440  768  771  781  802 -HSync -VSync\n"
-"# 1280x1024 @ 76 Hz, 81.13 kHz hsync\n"
-"Modeline \"1280x1024\"  135    1280 1312 1416 1664  1024 1027 1030 1064\n"
-"\n"
-"# 1600x1200 @ 70 Hz, 87.50 kHz hsync\n"
-"Modeline \"1600x1200\"  189    1600 1664 1856 2160  1200 1201 1204 1250 -HSync -VSync\n"
-"# 1152x864 @ 100 Hz, 89.62 kHz hsync\n"
-"Modeline \"1152x864\"   137.65 1152 1184 1312 1536   864  866  885  902 -HSync -VSync\n"
-"# 1280x1024 @ 85 Hz, 91.15 kHz hsync\n"
-"Modeline \"1280x1024\"  157.5  1280 1344 1504 1728  1024 1025 1028 1072 +HSync +VSync\n"
-"# 1600x1200 @ 75 Hz, 93.75 kHz hsync\n"
-"Modeline \"1600x1200\"  202.5  1600 1664 1856 2160  1200 1201 1204 1250 +HSync +VSync\n"
-"# 1600x1200 @ 85 Hz, 105.77 kHz hsync\n"
-"Modeline \"1600x1200\"  220    1600 1616 1808 2080  1200 1204 1207 1244 +HSync +VSync\n"
-"# 1280x1024 @ 100 Hz, 107.16 kHz hsync\n"
-"Modeline \"1280x1024\"  181.75 1280 1312 1440 1696  1024 1031 1046 1072 -HSync -VSync\n"
-"\n"
-"# 1800x1440 @ 64Hz, 96.15 kHz hsync \n"
-"ModeLine \"1800X1440\"  230    1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync\n"
-"# 1800x1440 @ 70Hz, 104.52 kHz hsync \n"
-"ModeLine \"1800X1440\"  250    1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync\n"
-"\n"
-"# 512x384 @ 78 Hz, 31.50 kHz hsync\n"
-"Modeline \"512x384\"    20.160 512  528  592  640   384  385  388  404 -HSync -VSync\n"
-"# 512x384 @ 85 Hz, 34.38 kHz hsync\n"
-"Modeline \"512x384\"    22     512  528  592  640   384  385  388  404 -HSync -VSync\n"
-"\n"
-#if XFREE86_VERSION >= 311
-"# Low-res Doublescan modes\n"
-"# If your chipset does not support doublescan, you get a 'squashed'\n"
-"# resolution like 320x400.\n"
-"\n"
-"# 320x200 @ 70 Hz, 31.5 kHz hsync, 8:5 aspect ratio\n"
-"Modeline \"320x200\"     12.588 320  336  384  400   200  204  205  225 Doublescan\n"
-"# 320x240 @ 60 Hz, 31.5 kHz hsync, 4:3 aspect ratio\n"
-"Modeline \"320x240\"     12.588 320  336  384  400   240  245  246  262 Doublescan\n"
-"# 320x240 @ 72 Hz, 36.5 kHz hsync\n"
-"Modeline \"320x240\"     15.750 320  336  384  400   240  244  246  262 Doublescan\n"
-"# 400x300 @ 56 Hz, 35.2 kHz hsync, 4:3 aspect ratio\n"
-"ModeLine \"400x300\"     18     400  416  448  512   300  301  302  312 Doublescan\n"
-"# 400x300 @ 60 Hz, 37.8 kHz hsync\n"
-"Modeline \"400x300\"     20     400  416  480  528   300  301  303  314 Doublescan\n"
-"# 400x300 @ 72 Hz, 48.0 kHz hsync\n"
-"Modeline \"400x300\"     25     400  424  488  520   300  319  322  333 Doublescan\n"
-"# 480x300 @ 56 Hz, 35.2 kHz hsync, 8:5 aspect ratio\n"
-"ModeLine \"480x300\"     21.656 480  496  536  616   300  301  302  312 Doublescan\n"
-"# 480x300 @ 60 Hz, 37.8 kHz hsync\n"
-"Modeline \"480x300\"     23.890 480  496  576  632   300  301  303  314 Doublescan\n"
-"# 480x300 @ 63 Hz, 39.6 kHz hsync\n"
-"Modeline \"480x300\"     25     480  496  576  632   300  301  303  314 Doublescan\n"
-"# 480x300 @ 72 Hz, 48.0 kHz hsync\n"
-"Modeline \"480x300\"     29.952 480  504  584  624   300  319  322  333 Doublescan\n"
-"\n"
-#endif
-;
-#endif
-
-static char *devicesection_text =
-"# **********************************************************************\n"
-"# Graphics device section\n"
-"# **********************************************************************\n"
-"\n"
-"# Any number of graphics device sections may be present\n"
-"\n"
-"# Standard VGA Device:\n"
-"\n"
-"Section \"Device\"\n"
-"    Identifier	\"Standard VGA\"\n"
-"    VendorName	\"Unknown\"\n"
-"    BoardName	\"Unknown\"\n"
-"\n"
-"# The chipset line is optional in most cases.  It can be used to override\n"
-"# the driver's chipset detection, and should not normally be specified.\n"
-"\n"
-"#    Chipset	\"generic\"\n"
-"\n"
-"# The Driver line must be present.  When using run-time loadable driver\n"
-"# modules, this line instructs the server to load the specified driver\n"
-"# module.  Even when not using loadable driver modules, this line\n"
-"# indicates which driver should interpret the information in this section.\n"
-"\n"
-"    Driver     \"vga\"\n"
-"# The BusID line is used to specify which of possibly multiple devices\n"
-"# this section is intended for.  When this line isn't present, a device\n"
-"# section can only match up with the primary video device.  For PCI\n"
-"# devices a line like the following could be used.  This line should not\n"
-"# normally be included unless there is more than one video device\n"
-"# intalled.\n"
-"\n"
-"#    BusID      \"PCI:0:10:0\"\n"
-"\n"
-"#    VideoRam	256\n"
-"\n"
-"#    Clocks	25.2 28.3\n"
-"\n"
-"EndSection\n"
-"\n"
-"# Device configured by xorgconfig:\n"
-"\n";
-
-static char *screensection_text1 =
-"# **********************************************************************\n"
-"# Screen sections\n"
-"# **********************************************************************\n"
-"\n"
-"# Any number of screen sections may be present.  Each describes\n"
-"# the configuration of a single screen.  A single specific screen section\n"
-"# may be specified from the X server command line with the \"-screen\"\n"
-"# option.\n";
-
-static char *serverlayout_section_text1 = 
-"# **********************************************************************\n"
-"# ServerLayout sections.\n"
-"# **********************************************************************\n"
-"\n"
-"# Any number of ServerLayout sections may be present.  Each describes\n"
-"# the way multiple screens are organised.  A specific ServerLayout\n"
-"# section may be specified from the X server command line with the\n"
-"# \"-layout\" option.  In the absence of this, the first section is used.\n"
-"# When now ServerLayout section is present, the first Screen section\n"
-"# is used alone.\n"
-"\n"
-"Section \"ServerLayout\"\n"
-"\n"
-"# The Identifier line must be present\n"
-"    Identifier  \"Simple Layout\"\n"
-"\n"
-"# Each Screen line specifies a Screen section name, and optionally\n"
-"# the relative position of other screens.  The four names after\n"
-"# primary screen name are the screens to the top, bottom, left and right\n"
-"# of the primary screen.  In this example, screen 2 is located to the\n"
-"# right of screen 1.\n"
-"\n";
-
-static char *serverlayout_section_text2 =
-"\n"
-"# Each InputDevice line specifies an InputDevice section name and\n"
-"# optionally some options to specify the way the device is to be\n"
-"# used.  Those options include \"CorePointer\", \"CoreKeyboard\" and\n"
-"# \"SendCoreEvents\".\n"
-"\n"
-"    InputDevice \"Mouse1\" \"CorePointer\"\n"
-"    InputDevice \"Keyboard1\" \"CoreKeyboard\"\n"
-"\n"
-"EndSection\n"
-"\n"
-"# Section \"DRI\"\n"
-"#    Mode 0666\n"
-"# EndSection\n"
-"\n";
-
-static void 
-write_fontpath_section(FILE *f)
-{
-	/* this will create the Fontpath lines, but only after checking,
-	 * that the corresponding dir exists (was THE absolute problem
-	 * users had with XFree86/OS2 3.1.2D !)
-	 */
-	int i;
-	char cur[256+20],*colon, *hash;
-
-#ifdef COMPILEDDEFAULTFONTPATH
-	static const char dfp[] = COMPILEDDEFAULTFONTPATH;
-	const char *thisdir;
-	const char *nextdir;
-	int len;
-
-	for (thisdir = dfp; thisdir != NULL; thisdir = nextdir) {
-	    nextdir = strchr(thisdir, ',');
-	    if (nextdir == NULL) {
-		len = strlen(thisdir);
-	    } else {
-		len = nextdir - thisdir;
-		nextdir++;
-	    }
-	    if (len >= sizeof(cur))
-		continue;
-	    strncpy(cur, thisdir, len);
-	    cur[len] = '\0';
-	    colon = strchr(cur+2,':'); /* OS/2: C:/...:scaled */
-	    if (colon) *colon = 0;
-	    hash = exists_dir(cur) ? "" : "#";
-	    if (colon) *colon = ':';
-	    fprintf(f,"%s    FontPath   \"%s\"\n", hash, cur);
-	}
-#endif
-
-	for (i=0; XF86Config_fontpaths[i]; i++) {
-		strcpy(cur,TREEROOTFONT);
-		strcat(cur,XF86Config_fontpaths[i]);
-		/* remove a ':' */
-		colon = strchr(cur+2,':'); /* OS/2: C:/...:scaled */
-		if (colon) *colon = 0;
-#ifdef COMPILEDDEFAULTFONTPATH
-		/* skip if we already added it as part of the default font path */
-		if (strstr(dfp, cur) != NULL)
-		    continue;
-#endif
-		hash = exists_dir(cur) ? "" : "#";
-		fprintf(f,"%s    FontPath   \"%s%s\"\n",
-			hash,
-			TREEROOTFONT,
-			XF86Config_fontpaths[i]);
-	}
-}
-
-static int 
-write_XF86Config(char *filename)
-{
-	FILE *f;
-
-	/*
-	 * Write the file.
-	 */
-
-	f = fopen(filename, "w");
-	if (f == NULL) {
-		printf("Failed to open filename for writing.\n");
-		if (getuid() != 0)
-			printf("Maybe you need to be root to write to the specified directory?\n");
-		return(1);
-	}
-
-	fprintf(f, "%s", XF86Config_firstchunk_text);
-	write_fontpath_section(f);
-	fprintf(f, "%s", XF86Config_fontpathchunk_text);
-
-	/*
-	 * Write keyboard section.
-	 */
-	if (config_altmeta) {
-		fprintf(f, "    Option \"LeftAlt\"     \"Meta\"\n");
-		fprintf(f, "    Option \"RightAlt\"    \"ModeShift\"\n");
-	}
-	else {
-		fprintf(f, "#    Option \"LeftAlt\"     \"Meta\"\n");
-		fprintf(f, "#    Option \"RightAlt\"    \"ModeShift\"\n");
-	}
-#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT) && !defined(PCVT_SUPPORT)
-	/* wscons keyoards need a protocol line */
-	fprintf(f, "    Option \"Protocol\" \"wskbd\"\n");
-	fprintf(f, "    Option \"Device\" \"%s\"\n", config_keyboard_dev);
-	fprintf(f, "    Option \"XkbKeycodes\" \"wscons(ppc)\"\n");
-#endif
-	fprintf(f, "%s", keyboardchunk2_text);
-
-	fprintf(f, "%s", keyboardchunk3_text);
-	if (config_xkbdisable) {
-		fprintf(f, "    Option \"XkbDisable\"\n\n");
-	} else {
-		fprintf(f, "#    Option \"XkbDisable\"\n\n");
-	}
-	fprintf(f, "    Option \"XkbRules\"	\"%s\"\n",
-		config_xkbrules);
-	fprintf(f, "    Option \"XkbModel\"	\"%s\"\n",
-		config_xkbmodel);
-	fprintf(f, "    Option \"XkbLayout\"	\"%s\"\n",
-		config_xkblayout);
-        if (config_xkbvariant)
-	    fprintf(f, "    Option \"XkbVariant\"	\"%s\"\n",
-		    config_xkbvariant);
-        if (config_xkboptions)
-	    fprintf(f, "    Option \"XkbOptions\"	\"%s\"\n",
-		    config_xkboptions);
-
-	fprintf(f, "%s",keyboardlastchunk_text);
-
-	/*
-	 * Write pointer section.
-	 */
-	fprintf(f, "%s", pointersection_text1);
-	fprintf(f, "    Option \"Protocol\"    \"%s\"\t# %s\n",
-		mouse_info[config_mousetype].name,
-		mouse_info[config_mousetype].desc);
-#if !defined(QNX4)
-	fprintf(f, "    Option \"Device\"      \"%s\"\n", config_pointerdevice);
-#endif
-	fprintf(f, "%s", pointersection_text2);
-	if (!config_emulate3buttons)
-		fprintf(f, "#");
-	fprintf(f, "    Option \"Emulate3Buttons\"\n");
-	fprintf(f, "#    Option \"Emulate3Timeout\"    \"50\"\n\n");
-	fprintf(f, "# ChordMiddle is an option for some 3-button Logitech mice\n\n");
-	if (!config_chordmiddle)
-		fprintf(f, "#");
-	fprintf(f, "    Option \"ChordMiddle\"\n\n");
-	if (config_cleardtrrts) {
-		fprintf(f, "    Option \"ClearDTR\"\n");
-		fprintf(f, "    Option \"ClearRTS\"\n\n");
-	}
-	fprintf(f, "EndSection\n\n\n");
-
-	/*
-	 * Write XInput sample section
-	 */
-	fprintf(f, "%s", xinputsection_text);
-
-	/*
-	 * Write monitor section.
-	 */
-	fprintf(f, "%s", monitorsection_text1);
-	fprintf(f, "    Identifier  \"%s\"\n", config_monitoridentifier);
-	fprintf(f, "\n");
-	fprintf(f, "%s", monitorsection_text2);
-	fprintf(f, "    HorizSync   %s\n", config_hsyncrange);
-	fprintf(f, "\n");
-	fprintf(f, "%s", monitorsection_text3);
-	fprintf(f, "    VertRefresh %s\n", config_vsyncrange);
-	fprintf(f, "\n");
-#if 0
-	fprintf(f, "%s", monitorsection_text4);
-	fprintf(f, "%s", modelines_text);
-#endif
-	fprintf(f, "EndSection\n\n\n");
-
-	/*
-	 * Write Device section.
-	 */
-
-	fprintf(f, "%s", devicesection_text);
-	fprintf(f, "Section \"Device\"\n");
-	fprintf(f, "    Identifier  \"%s\"\n", config_deviceidentifier);
-   	if (card_selected != -1) {
-	        fprintf(f, "    Driver      \"%s\"\n", card[card_selected].driver);
-	        if (card[card_selected].flags & UNSUPPORTED) {
-			fprintf(f, "	# unsupported card\n");
-		}
-	} else {
-	        fprintf(f, "    Driver      \"vga\"\n"
-			"	# unsupported card\n");
-	}
-	/* Rely on server to detect video memory. */
-	fprintf(f, "    #VideoRam    %d\n", config_videomemory);
-	if (card_selected != -1)
-		/* Add comment lines from card definition. */
-		fprintf(f, card[card_selected].lines);
-	if (config_ramdac != NULL)
-		fprintf(f, "    Ramdac      \"%s\"\n", config_ramdac);
-	if (card_selected != -1)
-		if (card[card_selected].dacspeed != NULL)
-			fprintf(f, "    Dacspeed    %s\n",
-				card[card_selected].dacspeed);
-	if (config_clockchip != NULL)
-		fprintf(f, "    Clockchip   \"%s\"\n", config_clockchip);
-	else
-	if (config_numberofclockslines == 0)
-		fprintf(f, "    # Insert Clocks lines here if appropriate\n");
-	else {
-		int i;
-		for (i = 0; i < config_numberofclockslines; i++)
-			fprintf(f, "    Clocks %s\n", config_clocksline[i]);
-	}
-	fprintf(f, "EndSection\n\n\n");	
-
-	/*
-	 * Write Screen sections.
-	 */
-
-	fprintf(f, "%s", screensection_text1);
-
-	fprintf(f, 
-		"Section \"Screen\"\n"
-		"    Identifier  \"Screen 1\"\n"
-		"    Device      \"%s\"\n"
-		"    Monitor     \"%s\"\n"
-		"    DefaultDepth %s\n"
-		"\n"
-		"    Subsection \"Display\"\n"
-		"        Depth       8\n"
-		"        Modes       %s\n"
-		"        ViewPort    0 0\n",
-		config_deviceidentifier,
-		config_monitoridentifier,
-		config_depth,
-		config_modesline8bpp);
-	if (config_virtual)
-		fprintf(f, "        Virtual     %d %d\n",
-			config_virtualx8bpp, config_virtualy8bpp);
-	fprintf(f, 
-		"    EndSubsection\n"
-		"    Subsection \"Display\"\n"
-		"        Depth       16\n"
-		"        Modes       %s\n"
-		"        ViewPort    0 0\n",
-		config_modesline16bpp);
-	if (config_virtual)
-		fprintf(f, "        Virtual     %d %d\n",
-			config_virtualx16bpp, config_virtualy16bpp);
-	fprintf(f, 
-		"    EndSubsection\n"
-		"    Subsection \"Display\"\n"
-		"        Depth       24\n"
-		"        Modes       %s\n"
-		"        ViewPort    0 0\n",
-		config_modesline24bpp);
-	if (config_virtual)
-		fprintf(f, "        Virtual     %d %d\n",
-			config_virtualx24bpp, config_virtualy24bpp);
-	fprintf(f, 
-		"    EndSubsection\n"
-		"EndSection\n"
-		"\n");
-
-        /*
-	 * ServerLayout section
-	 */
-   
-        fprintf(f, serverlayout_section_text1);
-	/* replace with  screen config */
-	fprintf(f, "    Screen \"Screen 1\"\n");
-
-	fprintf(f, serverlayout_section_text2);
-
-        fclose(f);
-	return(0);
-}
-
-static char *
-append_version(char *name)
-{
-#ifdef APPEND_VERSION_TO_CONFIG_NAME
-	char *ret = NULL;
-
-	if (XF86_VERSION_MAJOR > 9 || XF86_VERSION_MAJOR < 0)
-		return name;
-
-	ret = Malloc(strlen(name) + 2 + 1);
-	sprintf(ret, "%s-%d", name, XF86_VERSION_MAJOR);
-	free(name);
-	return ret;
-#else
-	return name;
-#endif
-}
-
-/*
- * Ask where to write XF86Config to. Returns filename.
- */
-
-static char *
-ask_XF86Config_location(void) {
-	char s[80];
-	char *filename = NULL;
-
-	printf(
-"I am going to write the " CONFIGNAME " file now. Make sure you don't accidently\n"
-"overwrite a previously configured one.\n\n");
-
-	if (getuid() == 0) {
-#ifdef PREFER_XF86CONFIG_IN_ETC
-		filename = Strdup("/etc/X11/" XCONFIGFILE);
-		filename = append_version(filename);
-		printf("Shall I write it to %s? ", filename);
-		getstring(s);
-		printf("\n");
-		if (answerisyes(s))
-			return filename;
-#endif
-
-		if (filename)
-			free(filename);
-		filename = Strdup(TREEROOTCFG "/" XCONFIGFILE);
-		filename = append_version(filename);
-		printf("Please answer the following question with either 'y' or 'n'.\n");
-		printf("Shall I write it to the default location, %s? ", filename);
-		getstring(s);
-		printf("\n");
-		if (answerisyes(s))
-			return filename;
-
-#ifndef PREFER_XF86CONFIG_IN_ETC
-		if (filename)
-			free(filename);
-		filename = Strdup("/etc/X11/" XCONFIGFILE);
-		filename = append_version(filename);
-		printf("Shall I write it to %s? ", filename);
-		getstring(s);
-		printf("\n");
-		if (answerisyes(s))
-			return filename;
-#endif
-	}
-
-	if (filename)
-		free(filename);
-	filename = Strdup(XCONFIGFILE);
-	filename = append_version(filename);
-	printf("Do you want it written to the current directory as '%s'? ", filename);
-	getstring(s);
-	printf("\n");
-	if (answerisyes(s)) {
-		return filename;
-	}
-
-	printf("Please give a filename to write to: ");
-	getstring(s);
-	printf("\n");
-	if (filename)
-		free(filename);
-	filename = Strdup(s);
-	return filename;
-}
-
-
-/*
- * Check if an earlier version of XFree86 is installed; warn about proper
- * search path order in that case.
- */
-
-static char *notinstalled_text =
-"The directory " TREEROOT " does not exist. This probably means that you have\n"
-"not yet installed the version of "__XSERVERNAME__" that this program was built\n"
-"to configure. Please install "__XSERVERNAME__" "XVERSIONSTRING" before running this program,\n"
-"following the instructions in the INSTALL or README that comes with the\n"
-__XSERVERNAME__" distribution for your OS.\n"
-"For a minimal installation it is sufficient to only install base binaries,\n"
-"libraries, configuration files and a server that you want to use.\n"
-"\n";
-
-static char *oldxfree86_text =
-"The directory '/usr/X386/bin' exists. You probably have a very old version of\n"
-"XFree86 installed, but this program was built to configure "__XSERVERNAME__" "XVERSIONSTRING"\n"
-"installed in '" TREEROOT "' instead of '/usr/X386'.\n"
-"\n"
-"It is important that the directory '" TREEROOT "' is present in your\n"
-"search path, *before* any occurrence of '/usr/X386/bin'. If you have installed\n"
-"X program binaries that are not in the base "__XSERVERNAME__" distribution in\n"
-"'/usr/X386/bin', you can keep the directory in your path as long as it is\n"
-"after '" TREEROOT "'.\n"
-"\n";
-
-static char *pathnote_text =	
-"Note that the X binary directory in your path may be a symbolic link.\n"
-"In that case you could modify the symbolic link to point to the new binaries.\n"
-"Example: 'rm -f /usr/bin/X11; ln -s /usr/X11R6/bin /usr/bin/X11', if the\n"
-"link is '/usr/bin/X11'.\n"
-"\n"
-"Make sure the path is OK before continuing.\n";
-
-static void 
-path_check(void) {
-	char s[80];
-	int ok;
-
-	ok = exists_dir(TREEROOT);
-	if (!ok) {
-		printf("%s", notinstalled_text);
-		printf("Do you want to continue? ");
-		getstring(s);
-		if (!answerisyes(s))
-			exit(-1);
-		printf("\n");
-	}
-
-	ok = exists_dir("/usr/X386/bin");
-	if (!ok)
-		return;
-
-	printf("%s", oldxfree86_text);
-	printf("Your PATH is currently set as follows:\n%s\n\n",
-		getenv("PATH"));
-	printf("%s", pathnote_text);
-	keypress();
-}
-
-
-static void
-configdir_check(void)
-{
-	/* /etc/X11 may not exist on some systems */
-	if (getuid() == 0) {
-		struct stat buf;
-		if (stat("/etc/X11", &buf) == -1 && errno == ENOENT)
-			mkdir("/etc/X11", 0777);
-		if (stat(TREEROOTCFG, &buf) == -1 && errno == ENOENT)
-			mkdir(TREEROOTCFG, 0777);
-	}
-}
-
-
-/*
- * Program entry point.
- */
-
-int 
-main(int argc, char *argv[]) {
-    
-	createtmpdir();
-
-	emptylines();
-
-	printf("%s", intro_text);
-
-	keypress();
-	emptylines();
-
-	path_check();
-
-	emptylines();
-
-	configdir_check();
-
-	emptylines();
-
-	mouse_configuration();
-
-	emptylines();
-
-	keyboard_configuration();
-
-	emptylines();
-
-	monitor_configuration();
-
-	emptylines();
-
-	carddb_configuration();
-
-	emptylines();
-
- 	while(screen_configuration()){};
-
-	emptylines();
-
-	depth_configuration();
-
-	emptylines();
-
-	while(write_XF86Config(ask_XF86Config_location())){};
-
-	printf("%s", finalcomment_text);
-
-	exit(0);
-}
diff --git a/hw/xfree86/utils/xorgconfig/xorgconfig.man.pre b/hw/xfree86/utils/xorgconfig/xorgconfig.man.pre
deleted file mode 100644
index b3d656c..0000000
--- a/hw/xfree86/utils/xorgconfig/xorgconfig.man.pre
+++ /dev/null
@@ -1,22 +0,0 @@
-.\" $XdotOrg: $
-.\" $XFree86: xc/programs/Xserver/hw/xfree86/xf86config/xorgconfig.man,v 1.5 2001/11/01 23:35:34 dawes Exp $
-.TH xorgconfig 1 __vendorversion__
-.SH NAME
-xorgconfig \- generate an __XCONFIGFILE__ file
-.SH SYNOPSIS
-.B xorgconfig
-.SH DESCRIPTION
-\fIxorgconfig\fP is an interactive program for generating an __XCONFIGFILE__ file
-for use with __XSERVERNAME__ X servers.
-.PP
-Note that the default name used by \fIxorgconfig\fP for the __XCONFIGFILE__ file
-is system-dependent.  For instance, on OS/2, XConfig is used.
-.SH FILES
-.TP
-.I __projectroot__/lib/X11/Cards
-Video cards database
-.SH "SEE ALSO"
-__XSERVERNAME__(1), __XCONFIGFILE__(__filemansuffix__), xorgcfg(1), reconfig(1)
-.SH AUTHOR
-Harm Hanemaayer.
-.\" $TOG: xf86conf.man /main/9 1997/07/19 10:53:08 kaleb $


More information about the xorg-commit mailing list