The Unichrome Project. Logo

The Unichrome Project provides Free and Open Source support for the S3 Unichrome family of integrated graphics devices, as found on all recent VIA Technologies Northbridges.

VIA Technologies Inc. does not support or endorse this project in any way.


Please refer to our sourceforge news section.

Supported Hardware

The Unichrome devices currently known are (in chronological order):











Anything newer than VT3108 is still not supported.


Unichrome X driver:

Also known as xf86-video-unichrome, a driver suited for and Xfree86.

Old Unichrome X driver:

Old development strand that is no longer maintained. Was spread as unichrome-X-r* and unichrome-xfree86-r*.

VIA's own driver releases:

These are kept in our CVS for reference, as this is the only freely available documentation. Please DO NOT USE these directly.


There is an FAQ.

Our sourceforge documentation section contains largely outdated information.


For general support please refer to the unichrome-users mailing list.


Please report bugs here.

Mailing lists

General user support: unichrome-users (subscribe |archive ).

Development: unichrome-devel (subscribe |archive ).


The Unichrome Project: sourceforge project page.

Driver philosophy

Despite VIA's failure to properly understand and cooperate with Free and Open Source Software communities, this driver is very important. Thanks to VIA's code releases, however irregular, entangled and buggy, a lot is known about the unichromes, and it is possible to do just about anything you want with them. This is one advantage the unichrome has over many other devices (intel is now taking the lead though).

The unichrome hardware is unique too. It largely depends on external encoders to offer things like TV, TMDS (DVI) and LVDS (panel). The most recent (still unreleased) unichrome even has some built in devices. Most unichromes are also capable of sharing two heads amongst 4 different outputs (3 for VT3122). This makes the unichrome tough on any self-respecting driver developer.

The current unichrome driver already is quite advanced and well underway to become what i need it to be:

  • It offers full algorithmic modesetting (for supported devices and the CRT), feel free to throw any modeline at it you want. This is also why I refuse to depend on VBE in any way, this driver has the chance to be completely free, not depending on the binary blob that is the VGA BIOS and its VESA extensions.
  • It has clean separation between CRTC modesetting and the various (sadly still limited) output devices. This will eventually grow into a set of loadable modules that will be shared by many drivers.
  • It also has a clean Xv implementation, clean means easily expandable and way easier to debug. It is fast and will offer the smoothest operation possible.
  • VT3108 panel is now natively supported as well. No more register table for this device!
  • As a driver developer, my focus is on clean and well-structured code and modesetting. Modesetting is the most fundamental functionality and tough to get right. It is also the biggest source of user frustration, this while people never are prepared to spend time on it. Clean code always pays off. It's easier to fix, easier to expand and it less likely to fail upon future changes.

    Sure, this driver currently doesn't have a few glittery bits, but ask yourself: what use are they if you are unable to display them in the first place? Will you still care about those a year or two from now? If an X developer, 10 years from now, passes over this driver to adjust it to X-side changes, what will he think about those glittery bits and will they survive?

    The above hardware list is all the device this driver should support theoretically, but sadly only 3 devices really are supported today. This is purely a resource issue. If your hardware isn't supported, then that means that I don't have the relevant hardware myself. It is hard to develop a driver, and plainly impossible to maintain it, if the hardware isn't available. But rest assured that I'm doing everything I can to remedy this. -- Luc Verhaegen.

    So what does the name UniChrome really mean?



    Last modified: Fri May 11 05:21:22 CEST 2007