Section "Device" Identifier "devname" Driver "glide" ... EndSection
This driver requires that you have installed Glide. (Which can, at the time of this writing, be found at http://glide.xxedgexx.com/3DfxRPMS.html). Also, you need to tell XFree86 where the libglide2x.so file is placed by making a soft link in the /usr/X11R6/lib/modules directory that points to the libglide2x.so file. For example (if your libglide2x.so file is in /usr/lib):
# ln -s /usr/lib/libglide2x.so /usr/X11R6/lib/modules
If you have installed /dev/3dfx, the driver will be able to turn on the MTRR registers (through the glide library) if you have a CPU with such registers (see http://glide.xxedgexx.com/MTRR.html). This will speed up copying data to the Voodoo board by as much as 2.7 times and is very noticeable since this driver copies a lot of data... Highly recommended.
This driver supports 16 and 24 bit color modes. The 24 bit color mode uses a 32 bit framebuffer (it has no support for 24 bit packed-pixel framebuffers). Notice that the Voodoo boards can only display 16 bit color, but the shadow framebuffer can be run in 24 bit color. The point of supporting 24 bit mode is that this enables you to run in a multihead configuration with Xinerama together with another board that runs in real 24 bit color mode. (All boards must run the same color depth when you use Xinerama).
Resolutions supported are: 640x480, 800x600, 960x720, 1024x768, 1280x1024 and 1600x1200. Note that not all modes will work on all Voodoo boards. It seems that Voodoo 2 boards support no higher than 1024x768 and Voodoo 1 boards can go to 800x600. If you see a message like this in the output from the server:
(EE) GLIDE(0):
grSstWinOpen returned ...
Then you are probably trying to use a resolution that is supported by the driver but not supported by the hardware.
Refresh rates supported are: 60Hz, 75Hz and 85Hz. The refresh rate used is derived from the normal mode line according to the following table:
Thus, if you use a modeline that for example has a 70Hz refresh rate you will only get a 60Hz refresh rate in actuality.
Selecting which Voodoo board to use with the driver is done by using an option called "GlideDevice" in the "Device" section. (If you don't have this option present then the first board found will be selected for that Device section). For example: To use the first Voodoo board, use a "Device" section like this, for example:
Section "Device"
Identifier "Voodoo"
Driver "glide"
Option "dpms" "on"
Option "GlideDevice" "0"
EndSection
And if you have more than one Voodoo board, add another "Device" section with a GlideDevice option with value 1, and so on. (You can use more than one Voodoo board, but SLI configured boards will be treated as a single board.)
Multihead and Xinerama configurations are supported.
Limited support for DPMS screen saving is available. The "standby" and "suspend" modes are just painting the screen black. The "off" mode turns the Voodoo board off and thus works correctly.
This driver does not support a virtual screen size different from the display size.
The following driver Options are supported:
Section "Monitor"
Identifier "Monitor 1"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 30-70
VertRefresh 50-80
# 1024x768 @ 76 Hz, 62.5 kHz hsync
Modeline "1024x768" 85 1024 1032 1152 1360 768 784 787 823
EndSection
Section "Monitor"
Identifier "Monitor 2"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 30-70
VertRefresh 50-80
# 1024x768 @ 76 Hz, 62.5 kHz hsync
Modeline "1024x768" 85 1024 1032 1152 1360 768 784 787 823
EndSection
Section "Device"
Identifier "fb"
Driver "fbdev"
Option "shadowfb"
Option "dpms" "on"
# My video card is on the AGP bus which is usually
# located as PCI bus 1, device 0, function 0.
BusID "PCI:1:0:0"
EndSection
Section "Device"
# I have a Voodoo 2 board
Identifier "Voodoo"
Driver "glide"
Option "dpms" "on"
# The next line says I want to use the first board.
Option "GlideDevice" "0"
EndSection
Section "Screen"
Identifier "Screen 1"
Device "fb"
Monitor "Monitor 1"
DefaultDepth 16
Subsection "Display"
Depth 16
Modes "1024x768"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen 2"
Device "Voodoo"
Monitor "Monitor 2"
DefaultDepth 16
Subsection "Display"
Depth 16
Modes "1024x768"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Main Layout"
# Screen 1 is to the right and screen 2 is to the left
Screen "Screen 2"
Screen "Screen 1" "" "" "Screen 2" ""
EndSection
If you use this configuration file and start the server with the +xinerama command line option, the two monitors will be showing a single large area where windows can be moved between monitors and overlap from one monitor to the other. Starting the X server with the Xinerama extension can be done for example like this:
$ xinit -- +xinerama