Google's Pixel C Android Tablet Uses The Nouveau Kernel Driver

Written by Michael Larabel in Google on 9 December 2015 at 11:00 AM EST. 14 Comments
GOOGLE
It turns out that with Google's Pixel C Android tablet, they decided to use the open-source Nouveau DRM kernel driver by default for this ARM device powered by NVIDIA's Tegra X1 SoC.

The Pixel C is now available for purchase starting out at $499 USD as a high-end, convertible, all-purpose tablet. Rather than using NVIDIA's full proprietary driver stack, Google is actually shipping this Android device with the Nouveau DRM driver.

NVIDIA's Alexandre Courbot who has been working on the Nouveau Tegra support and related code, shared this information via his Google+ page. NVIDIA has been contributing support for the "GM20B" Maxwell graphics processor of the Tegra X1 into Nouveau for some time.


The Pixel C is using the open-source Nouveau kernel driver but in user-space Google isn't using Mesa with the Nouveau Gallium3D driver. Rather, in user-space they are tieing into NVIDIA's binary OpenGL library. NVIDIA is still working on upstreaming more of the Nouveau changes. Courbot commented, "We are currently working hard to get as much as possible upstream. It is made harder by the fact Nouveau underwent a major refactoring while we were progressing on Pixel C, so most of the code needs to be rewritten. But all in all, it seems like this could become a great device for upstream. With a few extra patches Mesa works on TX1. I want to keep pushing upstream support for it but am currently swamped in the signed firmware loading code."

Alexandre has also been working to take care of the notorious Maxwell signed firmware situation that's been blocking the GeForce GTX 900 series from having open-source hardware acceleration. He commented, "all GPUs from Maxwell 2 and on require firmware signed from NVIDIA. Without the ability to load this firmware you cannot use any kind of 3D acceleration, which is why the state of Maxwell on Nouveau is so bad. To make things worse, the process is very complex, slightly different on dGPU and Tegra, and we need to make a custom-built version for Nouveau. The Pixel C of course has code for loading that firmware in its kernel tree, but it is not really in an upstreamable shape, so I have been rewriting another version. It took quite some time, but now we are close to having the same code loading firmware on both dGPU and Tegra, and the firmware release process is also finally closing in. Once all this is merged, we can finally have decent 3D acceleration using Nouveau, for all Maxwell GPUs."
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