The Unichrome Project.
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.
The Unichrome devices currently known are (in chronological order):
Anything newer than VT3108 is still not supported.
Old development strand that is no longer maintained. Was spread as unichrome-X-r* and unichrome-xfree86-r*.
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.
The Unichrome Project: sourceforge project page.
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:
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.