Earlier this year VIA announced they wanted to join the open-source bandwagon by establishing an open-source driver development initiative, releasing documentation and source-code, and to better engage with the Linux community at large. They have made a few small steps over the past few months, but today they have made their largest open-source contribution yet by releasing four programming documentation guides that cover the video, 2D, and 3D programming for their Chrome 9 graphics processor. In addition, they are now partnering with the community-spawned OpenChrome developers.
Back in May we published an article entitled VIA's Open-Source Efforts A Bluff? with information on VIA's past and present actions along with comments from Luc Verhaegen, developer of the VIA Unichrome driver and now a RadeonHD developer at Novell, and Xavier Bachelot, a developer with the OpenChrome driver. Both X.Org developers had expressed concerns over VIA's open-source announcement considering their past open-source work that had turned sour and very little code or documentation that VIA had released at the time.
In July, VIA had appointed Harald Welte as their open-source liaison, who is known for his open-source legal work. This was coming a month after VIA was still evaluating its open-source role and it hadn't known how to make the "first step" into the open-source world. They had been trying to model their open-source work after AMD's contributions to the open-source community over the past twelve months.
The first code drop this year occurred when VIA had released their kernel frame-buffer driver for the CLE266, K400, K800, PM800, CN700, CX700, K8M890, P4M890, P4M900, and VX800 ASICs. This driver is now entering the mainline kernel with Linux 2.6.28.
In late August, VIA had introduced a new X.Org driver called xf86-video-via that had supported several VIA IGPs and had full mode-setting support, 2D acceleration (though no EXA), cursor acceleration, and X-Video support. All of this code was copyrighted by VIA and S3 Graphics and some of it was more than 12 years old.
Published today are four programming guides to cover the VX800/820 Graphics Core & 2D (100 pages), VX800/820 3D & video (157 pages), CX700/VX700 Graphics Core & 2D (100 pages), and CX700/VX700 3D & video (91 pages). This is essentially just about 450 pages worth of register descriptions. We are still looking over this documentation to gauge its completeness. If you are a developer interested in this information, it can be found on the X.Org web-site.
In addition to releasing 2D, 3D, and video register guides, VIA has also announced today it has partnered up with the OpenChrome team. A press release we received from a representative this morning shared, "VIA is actively collaborating with the OpenChrome development team on their Open Source graphics driver - initially assisting with multi-head support and RandR function." The OpenChrome driver does even support 3D, but now VIA's primary focus is on RandR (A Newbie's Guide To RandR 1.2). This announcement is a bit odd considering in August VIA released its own open-source driver but now it appears they are abandoning that and putting their weight behind the OpenChrome developers. It was also just months ago that OpenChrome's Xavier Bachelot was criticizing VIA Technologies.
Whatever the case may be, it's good to see VIA publishing these 2D/3D/video documents and partnering up with the OpenChrome driver but at the same time then leaving the Unichrome driver in the dark and what would be abandoning their own xf86-video-via driver. With mode-setting support already in the OpenChrome driver and RandR support being why they forked from the Unichrome driver in the first place, we do wonder what VIA's next step will be once adding in support for the Resize and Rotate extension. It is also a bit odd that their leading priorities are multi-head and RandR support, when those aren't really huge sought after features for IGP customers compared to say improving the 3D support or improving video acceleration.