A NVIDIA Tegra 2 DRM/KMS Driver Tips Up

Written by Michael Larabel in NVIDIA on 11 April 2012 at 10:50 AM EDT. 6 Comments
NVIDIA
Besides a binary driver update from the GeForce/Quadro camp coming out today, a basic DRM/KMS driver for NVIDIA's ARM-based Tegra 2 SOC has appeared this morning.

This Linux Direct Rendering Manager for the NVIDIA Tegra 2 is created by a third party (the German-based Avionic Design), but the main developer has been in contact with NVIDIA Corp and they "seem to be willing to work together on a solution that satisfies both their requirements and those of the community."

Thierry Reding of Avionic Design was the one that published the initial Tegra DRM driver to the DRI development list.
This series adds a basic DRM driver for NVIDIA Tegra 2 processors. It currently only supports the RGB output and I've successfully tested it against the fbcon kernel module and the xf86-video-modesetting driver. The code uses the Tegra's IOMMU/GART to remap non-contiguous memory. This means that currently video memory is limited to 32 MB, the size of the GART aperture.

Note that this is very early work-in-progress and there is a lot of room for improvement and cleanup. You'll also note that there is still a whole lot of debugging output, most of which is disabled by default.

However I explicitly wanted to post this early to get feedback and to discuss options on how to get this included in the mainline kernel. I have been in contact with some people at NVIDIA and they seem to be willing to work together on a solution that satisfies both their requirements and those of the community.

Thierry
So besides only supporting the Tegra 2 SoC right now and not the newer Tegra 3 or the original Tegra, it's un-accelerated at this point and only provides basic mode-setting support. For X.Org usage it's working with xf86-video-modesetting as the generic DDX driver that works with the generic Linux kernel KMS interfaces. However, at least NVIDIA's willing to work with the community for their Tegra Linux support, which is a much more open stance than the NVIDIA desktop side has been with Nouveau.

I've also heard some talk that there exists a form of the Nouveau driver that does work for Tegra, but haven't heard anything official come down via the Nouveau project or any concerted effort materialize.

Last week at the 2012 Linux Foundation Summit was when I heard NVIDIA might pursue a proper DRM/KMS driver for Tegra as from embedded customers there's been interest in possibly using Wayland, but right now their Tegra driver isn't compatible with this next-generation display driver. (However, for the GeForce driver there's no signs of change any time soon.)

It will be interesting to watch this DRM/KMS driver mature; let's just hope it reaches a mainline state quicker than the VIA DRM/KMS driver and its still out-of-tree state. This Tegra DRM driver now joins the Samsung Exynos and Texas Instruments OMAP as ARM SoC platforms with open Linux DRM drivers. As I've been hinting at on Twitter, another noteworthy open-source GPU code drop is expected this week and it's unrelated to Tegra, so stay tuned to Phoronix.
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