Table of Contents
xgi - XGI video driver
xgi is an XFree86 driver for XGI video chips. The driver is
accelerated, and provides support for colordepths of 8, 16 and 24 bpp. XVideo,
Render and other extensions are supported as well.
xgi driver supports PCI and AGP video cards based on the following chipsets:
XGI5597/5598 XGI530/620 XGI6326/AGP/DVD XGI300/305 XGI540 XGI630/730 XGI315/H/PRO
XGI550/551/552 XGI650/651/M650/661FX/M661FX/M661MX/740/741 XGI330 (Xabre)
In the following text, the following terms are used:
for XGI5597/5598, 530/620 and 6326/AGP/DVD
300 series for XGI300/305, 540
315/330 series for XGI315/H/PRO, 55x and (M)65x/(M)661xX/74x,
Note: Support for 661FX, M661FX, M661MX, 741 and 760 is untested.
Please refer to XF86Config(5)
for general configuration
details. This section only covers configuration details specific to this
Detailed information on all supported options can be obtained at
This manpage only covers a subset
of the supported options.
1. For all supported chipsets
The following driver
Options are supported on all chipsets:
- Option "NoAccel" "boolean"
or enable 2D acceleration. Default: acceleration is enabled.
- Option "HWCursor"
- Enable or disable the HW cursor. Default: HWCursor is on.
- The opposite of HWCursor. Default: SWCursor is off.
- Option "Rotate" "CW"
- Rotate the display clockwise. This mode is unaccelerated,
and uses the Shadow Frame Buffer layer. Using this option disables the Resize
and Rotate extension (RandR). Default: no rotation.
- Option "Rotate" "CCW"
- Rotate the display counterclockwise. This mode is unaccelerated, and uses
the Shadow Frame Buffer layer. Using this option disables the Resize and
Rotate extension (RandR). Default: no rotation.
- Option "ShadowFB" "boolean"
- Enable or disable use of the shadow framebuffer layer. Default: Shadow framebuffer
- Option "CRT1Gamma" "boolean"
- Enable or disable gamma correction.
Default: Gamma correction is on.
2. Old series specific information
will auto-detect the amount of video memory present for all these chips,
but in the case of the 6326, it will limit the memory size to 4MB. This
is because the 6326's 2D engine can only address 4MB. The remaining memory
seems to be intended for 3D texture data, since only the 3D engine can
address RAM above 4MB. However, you can override this limitation using the
"VideoRAM" option in the Device section if your board has more than 4MB
and you need to use it. However, 2D acceleration, Xvideo and the HWCursor
will be disabled in this case.
The driver will also auto-detect the maximum
dotclock and DAC speed. If you have problems getting high resolutions because
of dot clock limitations, try using the "DacSpeed" option, also in the
Device section. However, this is not recommended for the 6326. For this chip,
the driver has two built-in modes for high resolutions which you should
use instead. These are named "XGI1280x1024-75" and "XGI1600x1200-60" and they
will be added to the list of default modes. To use these modes, just place
them in your Screen section. Example:
Modes "XGI1600x1200-60" "XGI1280x1024x75"
Of these modes, 1280x1024 is only available at 8, 15 and 16bpp.
1600x1200 is available at 8bpp only.
TV support for the 6326
TV output is
supported for the 6326. The driver will auto detect a TV connected and in
this case add the following modes to the list of default modes: "PAL800x600",
"PAL800x600U", "PAL720x540", "PAL640x480", "NTSC640x480", "NTSC640x480U"
and "NTSC640x400". Use these modes like the hi-res modes described above.
The following driver Options are supported on the old series:
- Option "TurboQueue"
- Enable or disable TurboQueue mode. Default: off for 530/620,
on for the others
- Option "FastVram" "boolean"
- Enable or disable FastVram
mode. Enabling this sets the video RAM timing to one cycle per read operation
instead of two cycles. Disabling this will set two cycles for read and write
operations. Leaving this option out uses the default, which varies depending
on the chipset.
- Option "NoHostBus" "boolean"
- (XGI5597/5598 only). Disable
CPU-to-VGA host bus support. This speeds up CPU to video RAM transfers. Default:
Host bus is enabled.
- Option "NoXVideo" "boolean"
- Disable XV (XVideo) extension
support. Default: XVideo is on.
- Option "NoYV12" "boolean"
- Disable YV12 Xv
support. This might me required due to hardware bugs in some chipsets. Disabling
YV12 support forces Xv-aware applications to use YUV2 or XShm for video
output. Default: YV12 support is on.
- Option "TVStandard" "string"
- (6326 only)
Valid parameters are PAL or NTSC. The default is set by a jumper on the
- Option "TVXPosOffset" "integer"
- (6326 only) This option allows tuning
the horizontal position of the image for TV output. The range is from -16
to 16. Default: 0
- Option "TVYPosOffset" "integer"
- (6326 only) This option
allows tuning the vertical position of the image for TV output. The range
is from -16 to 16. Default: 0
- Option "XGI6326TVEnableYFilter" "boolean"
only) This option allows enabling/disabling the Y (chroma) filter for TV
- Option "XGI6326TVAntiFlicker" "string"
- (6326 only) This option allow
enabling/disabling the anti flicker facility for TV output. Possible parameters
are OFF, LOW, MED, HIGH or ADAPTIVE. By experience, ADAPTIVE yields the
best results, hence it is the default.
2. 300 and 315/330 series specific
The 300 and 315/330 series feature two CRT controllers and
very often come with a video bridge for controlling LCD and TV output. Hereinafter,
the term CRT1 refers to the VGA output of the chip, and CRT2 refers to
either LCD, TV or secondary VGA. Due to timing reasons, only one CRT2 output
can be active at the same time. But this limitation does not apply to using
CRT1 and CRT2 at the same time which makes it possible to run the driver
in dual head mode.
The driver supports the following video bridges:
XGI301B(-DH) XGI301C XGI301LV(X) XGI302LV
Instead of a video bridge, some
machines have a LVDS transmitter to control LCD panels, and a Chrontel
7005 or 7019 for TV output. All these are supported as well.
About TV output
On the XGI301 and the Chrontel 7005, only resolutions up to 800x600 are
supported. On all others, resolutions up to 1024x768 are supported. However,
due to a hardware bug, Xvideo might be distorted on XGI video bridges if
running NTSC or PAL-M at 1024x768.
About XVideo support
XVideo is supported
on all chipsets of both families. However, there are some differences in
hardware features which cause limitations. The 300 series as well as the
XGI55x, M650, 651, 661FX, M661FX, and 741 support two video overlays. The
XGI315/H/PRO, 650/740 and 330 support only one such overlay. On chips with
two overlays, one overlay is used for CRT1, the other for CRT2. On the other
chipsets, the option "XvOnCRT2" can be used to select the desired output
About Merged Framebuffer support
This mode is strongly recommended
over Xinerama. Please see http://www.winischhofer.net/linuxxgivga.shtml
About dual-head support
Dual head mode has some limitations
as regards color depth and resolution. Due to memory bandwidth limits, CRT1
might have a reduced maximum refresh rate if running on higher resolutions
Colordepth 8 is not supported when running in dual head
The following driver Options are supported on the 300 and 315/330
- Option "NoXVideo" "boolean"
- Disable XV (XVideo) extension support.
Default: XVideo is on.
- Option "XvOnCRT2" "boolean"
- On chipsets with only
one video overlay, this option can used to bind the overlay to CRT1 ( if
a monitor is detected and if this option is either unset or set to false
) or CRT2 ( if a CRT2 device is detected or forced, and if this option
is set to true ). If either only CRT1 or CRT2 is detected, the driver decides
automatically. In Merged Framebuffer mode, this option is ignored. Default:
overlay is used on CRT1
- Option "ForceCRT1" "boolean"
- Force CRT1 to be on
of off. If a monitor is connected, it will be detected during server start.
However, some old monitors are not detected correctly. In such cases, you
may set this option to on in order to make the driver initialize CRT1 anyway.
If this option is set to off , the driver will switch off CRT1. Default:
- Option "ForceCRT2Type" "string"
- Force display type to one of:
NONE , TV , SVIDEO , COMPOSITE , SVIDEO+COMPOSITE , SCART , LCD , VGA ;
NONE will disable CRT2. The SVIDEO, COMPOSITE, SVIDEO+COMPOSITE and SCART
parameters are for XGI video bridges only and can be used to force the
driver to use a specific TV output connector (if present). Default: auto
- Option "CRT2Gamma" "boolean"
- Enable or disable gamma correction
for CRT2. Only supported for XGI video bridges. Default: Gamma correction
for CRT2 is on.
- Option "TVStandard" "string"
- Force the TV standard to either
PAL or NTSC. On some machines with 630, 730 and the 315/330 series, PALM
, PALN and NTSCJ are supported as well. Default: BIOS setting.
- Option "TVXPosOffset"
- This option allows tuning the horizontal position of the image
for TV output. The range is from -32 to 32. Not supported on the Chrontel
7019. Default: 0
- Option "TVYPosOffset" "integer"
- This option allows tuning
the vertical position of the image for TV output. The range is from -32 to
32. Not supported on the Chrontel 7019. Default: 0
- Option "XGITVXScale" "integer"
- This option selects the horizontal zooming level for TV output. The range
is from -16 to 16. Only supported on XGI video bridges. Default: 0
- This option selects the vertical zooming level
for TV output in the following modes: 640x480, 800x600. On the 315/330 series,
also 720x480, 720x576 and 768x576. The range is from -4 to 3. Only supported
on XGI video bridges. Default: 0
- Option "CHTVOverscan" "boolean"
- On machines
with a Chrontel TV encoder, this can be used to force the TV mode to overscan
or underscan. on means overscan, off means underscan. Default: BIOS setting.
- Option "CHTVSuperOverscan" "boolean"
- On machines with a Chrontel 7005 TV
encoder, this option enables a super-overscan mode. This is only supported
if the TV standard is PAL. Super overscan will produce an image on the TV
which is larger than the viewable area.
The driver supports many more options.
Please see http://www.winischhofer.net/linuxxgivga.shtml
for more information.
3. 300 series specific information
DRI is supported on the 300 series only.
On Linux, DRI requires the kernel's XGI framebuffer driver ( xgifb ) and
some other modules which come with either the kernel or XFree86.
care of memory management for texture data. In order to prevent the X Server
and xgifb from overwriting each other's data, xgifb reserves an amount of
video memory for the X driver. This amount can either be selected using
xgifb's mem parameter, or auto-selected depending on the amount of total
video RAM available.
Xgifb can be used for memory management only, or as
a complete framebuffer driver. If you start xgifb with a valid mode (ie
you gain a graphical console), the X driver can communicate with xgifb
and doesn't require any manual configuration for finding out about the video
memory it is allowed to use. However, if you are running a 2.4 series Linux
kernel and use xgifb for video memory management only, ie you started xgifb
with mode=none and still have a text mode console, there is no communication
between xgifb and the X driver. For this purpose, the
- Option "MaxXFBMem"
exists. This option must be set to the same value as given to
xgifb through its "mem" parameter, ie the amount of memory to use for X
If you started xgifb without the mem argument, xgifb will
- 12288KB if more than 16MB of total video RAM is available,
if between 12 and 16MB of video RAM is available,
- 4096KB in all other cases.
If you intend to use DRI, I recommend setting the total video memory in
the BIOS to 64MB in order to at least overcome the lack of memory swap
- Option "DRI" "boolean"
- This option allows enabling or disabling
DRI. By default, DRI is on.
- Option "AGPSize" "integer"
- This option allows
selecting the amount of AGP memory to be used for DRI. The amount is to
be specified in megabyte, the default is 8.
for more information and updates
Authors include: Alan Hourihane,
Mike Chapman, Juanjo Santamarta, Mitani Hiroshi, David Thomas, Sung-Ching
Lin, Ademar Reis, Thomas Winischhofer
Table of Contents