Open-Source 3D Support For NVIDIA's Tegra
Last year was the landmark announcement of an open-source NVIDIA Tegra graphics driver for Linux that was developed with the support of NVIDIA. In late November, NVIDIA published open-source 2D acceleration support for their newer ARM SoCs. Today, 3D support is being announced for the open-source NVIDIA Tegra graphics driver.
NVIDIA has been backing the open-source Tegra project in cooperation with the German-based Avionic Design company that is doing some of the development of this new driver. New features have come to this driver in recent months while now is the big milestone of 3D support.
Thierry Reding, one of the main developers at Avionic Design working on this NVIDIA ARM SoC graphics driver, published the initial patches on Thursday for 3D support. The patches published are for providing the kernel-side changes needed to support 3D with the Tegra Direct Rendering Manager (DRM) driver. There's also a new Gallium3D driver being developed for supporting this from user-space.
Reding announces, "This small series of patches adds support for the 3D engine found on NVIDIA Tegra SoCs. It builds on top of Terje's and Arto's host1x and gr2d patches. A couple of things still need to be done before this can be merged, though." The main patch exposes the "gr3d" engine via the same DRM IOCTLs being used by "gr2d" for the 2D acceleration. The gr3d host1x/Tegra driver changes amount to less than 300 lines of new code.
Found over on GitHub are forked versions of Mesa, libdrm, and grate for supporting this open-source NVIDIA Tegra driver from the user-space side. The Mesa repository has an initial Gallium3D driver for Tegra.
The Gallium3D NVIDIA Tegra driver was committed just one week ago and is basically a stub driver for Tegra SoCs at the moment. While there's much work ahead for getting OpenGL ES running in full on this open-source driver, the code in its current form is enough to get Wayland running with the Weston compositor, but not without any actual output.
This is a big milestone in general for a new Linux graphics driver beginning to receive 3D support, but making it even more exciting is that this is an open-source ARM graphics driver that has the blessing of NVIDIA Corp. It will likely be a number of months before the Gallium3D driver is in a nice state, but hopefully the Tegra DRM changes will be ready for merging into the Linux 3.10 kernel.
If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.