glide(4)
NAME
glide - Glide video driver
SYNOPSIS
Section "Device" Identifier "devname" Driver "glide" ... EndSection
DESCRIPTION
glide is an Xorg driver for Glide capable video boards (such as 3Dfx Voodoo boards). This driver is mainly for Voodoo 1 and Voodoo 2 boards, later boards from 3Dfx have 2D built-in and you should preferably use a driver separate for those boards or the fbdev(4) driver. This driver is a bit special because Voodoo 1 and 2 boards are very much NOT made for running 2D graphics. Therefore, this driver uses no hardware acceleration (since there is no acceleration for 2D, only 3D). Instead it is implemented with the help of a "shadow" framebuffer that resides entirely in RAM. Selected portions of this shadow framebuffer are then copied out to the Voodoo board at the right time. Because of this, the speed of the driver is very dependent on the CPU. But since the CPU is nowadays actually rather fast at moving data, we get very good speed anyway, especially since the whole shadow framebuffer is in cached RAM.
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:
- Mode-line refresh rate Used refresh rate
0-74 Hz 60 Hz- 74-84 Hz 75 Hz
- 84- Hz 85 Hz
- 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.
SUPPORTED HARDWARE
The glide driver supports any board that can be used with Glide (such
as 3Dfx Voodoo boards)
CONFIGURATION DETAILS
Please refer to xorg.conf(5) for general configuration details. This
section only covers configuration details specific to this driver.
The following driver Options are supported:
- Option "OnAtExit" "boolean"
- If true, will leave the Voodoo board on when the server exits. Useful in a multihead setup when only the Voodoo board is connected to a second monitor and you don't want that monitor to lose signal when you quit the server. Put this option in the Device section. Default: off.
- Option "GlideDevice" "integer"
- Selects which Voodoo board to use. (Or boards, in an SLI configuration). The value should be 0 for the first board, 1 for the second and so on. If it is not present, the first Voodoo board found will be selected. Put this option in the Device section.
EXAMPLE
Here is an example of a part of an xorg.conf file that uses a multihead
configuration with two monitors. The first monitor is driven by the
fbdev video driver and the second monitor is driven by the glide
driver.
- 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
FILES
glide_drv.o
SEE ALSO
Xorg(1), xorg.conf(5), xorgconfig(1), Xserver(1), X(7)
AUTHORS
- Author: Henrik Harmsen.