Table of Contents


siliconmotion - Silicon Motion video driver


Section "Device"
Identifier "devname"
Driver "siliconmotion"
  [ Option "optionname" ["optionvalue"]]


siliconmotion is an XFree86 driver for Silicon Motion based video cards. The driver is fully accelerated, and provides support for the following framebuffer depths: 8, 16, and 24. All visual types are supported for depth 8, and TrueColor visuals are supported for the other depths.

Supported Hardware

The siliconmotion driver supports PCI and AGP video cards based on the following Silicon Motion chips:

Configuration Details

Please refer to XF86Config(5) for general configuration details. This section only covers configuration details specific to this driver. All options names are case and white space insensitive when parsed by the server, for example, "lynxe" and "LynxE" are equivalent.

The driver auto-detects the chipset type, but the following ChipSet names may optionally be specified in the config file "Device" section, and will override the auto-detection:

"lynx", "lynxe", "lynx3d", "lynxem", "lynxem+", "lynx3dm".

The following Cursor Options are supported:

Option "HWCursor" "boolean"
Enable or disable the HW cursor. Default: on.
Option "SWCursor" "boolean"
Inverse of "HWCursor". Default: off.

The following display Options are supported:

Option "ShadowFB" "boolean"
Use shadow framebuffer. Default: off.
Option "Rotate" "CW"
Option "Rotate" "CCW"
Rotate the screen CW - clockwise or CCW - counter clockwise. Uses ShadowFB. Default: no rotation.
Option "VideoKey" "integer"
Set the video color key. Default: a little off full blue.
Option "ByteSwap" "boolean"
Turn on byte swapping for capturing using SMI demo board. Default: off.
Option "Interlaced" "boolean"
Turn on interlaced video capturing. Default: off.
Option "UseBIOS" "boolean"
Use the BIOS to set the modes. This is used for custom panel timings. Default: on.
Option "ZoomOnLCD" "boolean"
Allow changing resolution on LCD (Ctrl-Alt-Plus and Ctrl-Alt-Minus). Default: off.

The following video memory Options are supported:

Option "set_mclk" "integer"
sets the memory clock, where integer is in kHz, and integer <= 100000. Default: probe the memory clock value, and use it at server start.

The following acceleration and graphics engine Options are supported:

Option "NoAccel"
Disable acceleration. Very useful for determining if the driver has problems with drawing and acceleration routines. This is the first option to try if your server runs but you see graphic corruption on the screen. Using it decreases performance, as it uses software emulation for drawing operations the video driver can accelerate with hardware. Default: acceleration is enabled.
Option "fifo_aggressive"
Option "fifo_moderate"
Option "fifo_conservative"
alter the settings for the threshold at which the pixel FIFO takes over the internal memory bus to refill itself. The smaller this threshold, the better the acceleration performance of the card. You may try the fastest setting (fifo_aggressive) and move down if you encounter pixel corruption. The optimal setting will probably depend on dot-clock and on color depth. Note that specifying any of these options will also alter other memory settings which may increase performance, so trying fifo_conservative will in most cases be a slight benefit (this uses the chip defaults). If pixel corruption or transient streaking is observed during drawing operations then removing any fifo options is recommended. Default: none.

The following PCI bus Options are supported:

Option "pci_burst" "boolean"
will enable PCI burst mode. This should work on all but a few broken PCI chipsets, and will increase performance. Default: off.
Option "pci_retry" "boolean"
will allow the driver to rely on PCI Retry to program the ViRGE registers. pci_burst must be enabled for this to work. This will increase performance, especially for small fills/blits, because the driver does not have to poll the ViRGE before sending it commands to make sure it is ready. It should work on most recent PCI chipsets. Default: off.

The following additional Options are supported:

Option "ShowCache" "boolean"
Enable or disable viewing offscreen cache memory. A development debug option. Default: off.

See Also

XFree86(1) , XF86Config(5) , xf86config(1) , Xserver(1) , X(7)


For assistance with this driver, or XFree86 in general, check the XFree86 web site at A FAQ is available on the web site at If you find a problem with XFree86 or have a question not answered in the FAQ please use our bug report form available on the web site or send mail to When reporting problems with the driver send as much detail as possible, including chipset type, a server output log, and operating system specifics.


Kevin Brosius, Matt Grossman, Harald Koenig, Sebastien Marineau, Mark Vojkovich, Frido Garritsen, Corvin Zahn.

Table of Contents