An update on the open-source NVIDIA Tegra graphics driver was shared this weekend in Brussels. The Tegra DRM driver was merged and there's more features to be implemented in succeeding releases. Unfortunately, open-source 3D support for NVIDIA's ARM hardware isn't yet on the radar.
Lucas Stach, the Nouveau developer from Germany who lately has been playing with the open-source Tegra enablement, talked about this relatively new driver on Saturday of the Free Open-Source Developers' European Meeting (FOSDEM).
It was last April when an open-source NVIDIA Tegra driver first appeared
, but it wasn't until September when the situation became more exciting when NVIDIA said it would publicly release some documentation
-- NVIDIA Tegra 2D at least, maybe 3D later. Tegra open-source became big
and this NVIDIA ARM DRM driver was merged into Linux 3.8
NVIDIA has been actively contributing to the driver
in terms of support and documentation. In November they also published some 2D code
. See the open-source back story on Tegra
for more details.
Aside from the DRM driver itself there's been work on the libdrm support
and an X.Org driver that's derived from the xf86-video-modesetting driver while adding in the Tegra acceleration hooks.
In terms of what's expected to come next for the open-source NVIDIA Tegra initiative, the Linux 3.9 kernel should bring support for page-flipping and planes. The Linux 3.10 kernel should have GR2D support with host1x exec and sync support. The Linux 3.10 kernel for the Tegra DRM driver should also have command stream validation support.
The open-source Tegra driver is still a work in progress...
It was shared that the current development is mostly constrained by manpower (to no surprise) and that there's many integration issues to solve such as interacting with a shared IOMMU, bandwidth issues, clock-source parts of the SoC, and other technical issues.
The xf86-video-opentegra DDX work that's derived from the xf86-video-modesetting generic DDX so far contains lots of small changes, gamma changes, and surface allocation work. More work is planned for the DDX. This X.Org driver also uses a hardware plane as the cursor due to the Tegra hardware not having RGBA cursor support.