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.
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.