siliconmotion(4)
π siliconmotion β the Silicon Motion video driver, explained by your fav Unix bestie π
okay so this is a page from the Kernel Interfaces Manual, and the star of the show is siliconmotion(4) β yes, a manual page, section 4, we love a driver doc moment. grab a snack, we're going in π
β¨ NAME β¨
siliconmotion β the Silicon Motion video driver, bestie. that's the whole vibe.
π SYNOPSIS π
this is how you actually summon it inside your config file:
Section "Device"
Identifier "devname"
Driver "siliconmotion"
...
[ Option "optionname" ["optionvalue"]]
EndSection
like, that's it. that's the whole ritual. Identifier "devname", Driver "siliconmotion", and then whatever options your heart desires. π
π¦ DESCRIPTION π¦
so siliconmotion is an Xorg driver for video cards built on Silicon Motion chips. and listen β this driver is fully accelerated, no cap. it supports these framebuffer depths:
81624
and about visuals? all visual types are supported at depth 8, and TrueColor visuals are supported for the other depths. periodt. π
π SUPPORTED HARDWARE π
the siliconmotion driver handles PCI and AGP video cards based on these Silicon Motion chips, and honestly, look at this lineup:
LynxβSM910LynxEβSM810Lynx3DβSM820LynxEMβSM710LynxEM+βSM712Lynx3DMβSM720Cougar3DRβSM731MSOCβSM501,SM502
that's the whole roster, every single one. π
πΈ CONFIGURATION DETAILS πΈ
first things first: for the general config lore, go read xorg.conf(5). this section? it only covers what's specific to this driver, iykyk.
also super important: when the server parses option names, it does not care about case or whitespace. so "lynxe" and "LynxE" are literally equivalent. slay, honestly.
Multihead mode configuration goes through the RandR1.2 interface β peep xorg.conf(5) and xrandr(1) for the full tea. and heads up: hardware accelerated screen rotation and framebuffer resizing are only supported with the EXA acceleration architecture (check the AccelMethod option down below π).
the driver auto-detects the chipset type all by itself, but if you're feeling main character energy, you can optionally specify one of these ChipSet names in the "Device" section of the config file, and it will override the auto-detection:
"lynx", "lynxe", "lynx3d", "lynxem", "lynxem+", "lynx3dm",
"cougar3dr", "msoc".
π±οΈ the Cursor Options
Option "HWCursor" "boolean"β turn the hardware cursor on or off. Default: on.Option "SWCursor" "boolean"β the inverse of"HWCursor", literally just the opposite girlie. Default: off.
π the display Options
Option "VideoKey" "integer"β sets the video color key. Default: a little off full blue.Option "ByteSwap" "boolean"β turns on byte swapping for capturing using the SMI demo board. Default: off.Option "Interlaced" "boolean"β turns on interlaced video capturing. Default: off.Option "UseBIOS" "boolean"β uses the BIOS to set the modes. this one's for custom panel timings. Default: off for SM72x and SM5xx, otherwise on.Option "Dualhead" "boolean"β enables dualhead mode. real talk though: currently not all chips are supported, and hardware video overlay (XV) support may have some limitations. Default: off.Option "PanelSize" "widthxheight"β overrides the LCD panel dimension autodetection. you're the boss now. πOption "UseFBDev" "boolean"β doesn't actually program the hardware mode registers, just leaves them as set by the operating system. Only available on MSOC chips. Default: off.Option "CSCVideo" "boolean"β CSC video uses color space conversion to render video directly to the framebuffer, without using an overlay. Only available on MSOC chips. Default: on.
π§ the video memory Options
Option "mclk" "integer"β sets the memory clock. β οΈ you MUST specify the units. for example,50Mhzis the same as50000Khzor50000000Hz. on MSOC chips this is the main clock source for all functional blocks β the 2D engine, GPIO, Video Engine, and DMA Engine. on MSOC chips this option is only used for debugging purposes. Default: probe the memory clock value, and use it at server start.Option "mxclk" "integer"β also sets the memory clock, and yep, you must specify the units again. for example50Mhzis the same as50000Khzor50000000Hz. this is the clock source for the local SDRAM controller. Only available on MSOC chips and used only for debugging purposes. Default: probe the memory clock value, and use it at server start.
π₯ the acceleration and graphics engine Options
Option "NoAccel"β disables acceleration. super useful for figuring out whether the driver is having problems with drawing and acceleration routines. this is literally the first option to try if your server runs but you're seeing graphic corruption on the screen π. using it decreases performance, because it uses software emulation for drawing operations that the video driver could accelerate with hardware. Default: acceleration is enabled.Option "AccelMethod" "string"β picks between the available acceleration architectures. valid options areXAAandEXA.XAAis the traditional acceleration architecture and support for it is very stable.EXAis a newer acceleration architecture with better performance for the Render and Composite extensions, but the rendering code for it is newer and possibly unstable π. The default isXAA.
π the PCI bus Options
Option "PciBurst" "boolean"β enables PCI burst mode. this should work on all but a few broken PCI chipsets, and it increases performance. Default: on.Option "PciRetry" "boolean"β allows the driver to rely on PCI Retry to program the registers. β οΈPciBurstmust be enabled for this to work. this increases performance, especially for small fills/blits, because the driver doesn't have to poll the card before sending it commands to make sure it's ready. it should work on most recent PCI chipsets. Default: the value of thePciBurstoption.
π«Ά SEE ALSO π«Ά
Xorg(1), xorg.conf(5), Xserver(1), X(7)
go read those too, bestie, knowledge is free β¨
π SUPPORT π
need help with this driver, or with Xorg in general? check the web site at http://www.x.org/. if you find a problem with Xorg, or you've got a question the FAQ doesn't answer, please use the bug report form on the web site, or send mail to xorg@lists.freedesktop.org.
and when you're reporting problems with the driver, send as much detail as possible π β including:
- chipset type
- a server output log
- operating system specifics
the more tea you give, the faster it gets fixed. π§
π AUTHORS π
Kevin Brosius, Matt Grossman, Harald Koenig, Sebastien Marineau, Mark Vojkovich, Frido Garritsen, Corvin Zahn.
absolute icons, every single one. π
and that's a wrap!! this page came to you from X Version 11, part of xf86-video-siliconmotion 1.7.10 β yes, the siliconmotion(4) era, we stan. thanks for reading the whole thing, you're literally the main character π
β¨πΈπ¦
π¦ where this page comes from
- debian trixie: xserver-xorg-video-siliconmotion 1:1.7.10-1
- nixos 26.05: xf86-video-siliconmotion 1.7.10
- nixpkgs unstable: xf86-video-siliconmotion 1.7.10
- opensuse-leap 16.0: xf86-video-siliconmotion 1.7.10-bp160.1.1 Β· MIT
- opensuse-leap 16.0: xf86-video-siliconmotion 1.7.10-bp160.1.1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms