VIA Secretly Has A Working Gallium3D Driver

Written by Michael Larabel in Mesa on 2 April 2013 at 10:13 AM EDT. 36 Comments
MESA
In years past we long heard about lofty goals out of VIA Technologies for being open-source friendly and ultimately come up with a Mesa Gallium3D driver. We haven't heard anything officially out of VIA in a great number of months, but it turns out they do now have a Gallium3D driver for Chrome 9!

In response to a Phoronix Forums thread about using VIA graphics under Linux on an old laptop, a Phoronix reader shared he had working VIA Linux graphics. The reported configuration was Lubuntu 12.10 with an ASRock PVR530 motherboard that boasts VX900 / Chrome 9 graphics.

As proof of his working VIA Linux graphics configuration, he posted a screenshot that showed the contents of his system details as detected by the Phoronix Test Suite. The system shows a VIA C7-D processor with the PVR530 motherboard and VIA VX900 (Chrome 9 HD) graphics running from Ubuntu 12.10 with the Linux 3.5 kernel and there's accelerated support. What's interesting is that the VIA 3D driver is provided by Mesa 7.11 and is Gallium3D-based!

VIA has yet to provide any mainline Gallium3D driver for their Chrome 9 hardware or any other VIA graphics hardware for that matter... They've talked about wanting a nice Linux graphics driver before, but their engineers seemed to jump ship even before James Simmons' kernel mode-setting driver reached a working state. There's been no official communication out of VIA Technologies to interact with the open-source community in a long time.

After seeing this VIA Gallium3D driver mentioned in the forum thread and receiving an email about it, I checked it out. On the VIA Linux portal is a "Unified GFX driver" for Ubuntu 12.10 that supports VIA VX800 and VX900 hardware.

The driver is labelled, "Unified GFX Driver v92-006-75396_TTM_KMS_Xserver [x86 & x64] (13 Mar 2013) (21.4M)." When exploring this driver package from the middle of March, there's 32-bit and 64-bit binary blobs for Mesa 7.11 and Mesa 8.1 (what became known as Mesa 9.0). The driver package also includes the X.Org Server bits and builds upon earlier TTM+KMS work. VIA says that the driver supports X.Org 7.6, hardware video overlays with X-Video, 2D hardware acceleration by UXA, and can handle RandR 1.3.

The Mesa components are binary-only and consist of the libGL.so.1.2 and via_chrome9_dri.so along with the via_drv.so DDX file in the same directory. There's also "VIA Chrome 9 TTM" patches that are said to be able to be applied from Linux 3.4 to Linux 3.6 kernels. The kernel bits are the only open-source parts of the VIA driver package.

Next up was downloading the "5.76.52.92-006-75396-20130304" source package for the driver. The source bits for the X.Org Server include UXA and the VIA 2D driver bits. The TTM kernel bits have separate directories for the Linux 2.6.32, 2.6.37, and 3.4 to 3.6 kernels. There's also a simple VIA user guide bundled in. There isn't any source code pertaining to this VIA Gallium3D Chrome 9 driver.

So it seems since at least the middle of March there is a VIA Gallium3D driver that works on Ubuntu 12.10 as tested by a Phoronix reader, but this driver stack isn't open-source. Also don't expect VIA to proactively update the Mesa blob for newer releases. There isn't yet any re-build of the Chrome 9 driver for Mesa 9.1 or any Git snapshots and using VIA graphics on Linux will still likely result in much pain and suffering.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week