VIA's small Linux development community is badly fragmented; there is yet another group of developers creating their own VIA driver. I wish it was a joke, seeing as there are already a number of drivers for the same VIA chipsets and none of them are feature complete or in really great condition, but a new driver has been released. This time the new driver comes from the OLPC (One Laptop Per Child) crew and it's just being dubbed xf86-video-chrome. Not only though is there yet another X.Org driver, but it's bringing its own kernel DRM.
While VIA Technologies has officially killed their Linux / open-source strategy
, there are bits of documentation available
and there's a few people out there like James Simmons who are working on open-source VIA support in a useful manner, by doing things like hacking on GEM/TTM and KMS support
. This new driver is based upon the work reported on last December
, but now there's more to it, including its own Direct Rendering Module for the Linux kernel.
This work was announced today by OLPC's Daniel Drake on the OpenChrome mailing list
with the following title: Announcing OLPC's work on new "chrome" VIA video driver.
Though at least this driver does a bit more than some of the other VIA drivers out there, but it doesn't have any TTM/GEM memory management support nor for kernel mode-setting. What this driver does ship with is Chrome 9 hardware acceleration, support for multiple X-Video surfaces, RandR 1.2 support, and accelerated rotation support. There is also still no Mesa / Gallium3D driver.
While it looks like this driver is in better shape than some of the VIA driver alternatives, the developers are just concerned about supporting the VIA chipset found in the OLPC laptops. "Our resources are limited, and we focus on our platform so we can not be too attentive to bug reports from outside our platform." The driver should have just been called xf86-video-olpc-chrome or something to that effect. The code is also being hosted over on OLPC's Laptop.org infrastructure.
The code for the xf86-video-chrome DDX is based upon that of code previously released by VIA and then Jon Nettleton gutted out as much code as possible for older features like ShadowFB, non-RandR support, and other code before releasing it as a new driver.
The VIA DRM kernel code that OLPC is releasing seems to be mostly a re-branded version of the DRM code VIA previously release and unsuccessfully has tried pushing into the Linux kernel
. Meanwhile, James Simmons ongoing GEM/TTM memory management and KMS work is going into a different DRM module and the DDX driver being hacked on to play with the memory management and kernel mode-setting is the OpenChrome driver. There's also the xf86-video-unichrome, xf86-video-openvia, and xf86-video-via drivers floating around elsewhere in the VIA Linux pit.