NVIDIA Provides Open-Source Tegra K1 Support In Nouveau
NVIDIA's Tegra K1 is super exciting and was announced at the beginning of Januart. The K1 features Kepler-based graphics and should be a mighty-powerful ARM chip. NVIDIA has already been supporting their binary graphics driver on ARM for several months, but now to complement their official high-performance binary graphics driver is Nouveau graphics driver support for this SoC that has yet to even materialize.
Nouveau for years has relied upon community reverse-engineering but now NVIDIA has provided the first hardware enablement patches to the driver. Alexandre Courbot of NVIDIA wrote on the DRI mailing list, "GK20A is the Kepler-based GPU used in the upcoming Tegra K1 chips. The following patches perform architectural changes to Nouveau that are necessary to support non-PCI GPUs and add initial support for GK20A. Although the support is still very basic and more user-space changes will be needed to make the full graphics stack run on top of it, we were able to successfully open channels and run simple pushbuffers with libdrm."
This Tegra K1 Nouveau support is still proof-of-concept but is a huge step forward in coming from NVIDIA themselves. It was only this past September they committed to better open-source graphics support and since then we have only seen a couple light documentation drops, until the work this weekend.
The announcement went on to say, "I guess my email address might surprise some of you, so let me anticipate some questions you might have. :P Yes, this work is endorsed by NVIDIA. Several other NVIDIAns (CC'd), including core GPU experts, have provided significant technical guidance and will continue their involvement. Special thanks go to Terje Bergstrom and Ken Adams for their invaluable GPU expertise, and Thierry Reding (at FOSDEM this weekend) for help with debugging and user-space testing."
At the moment this experimental work is limited to Nouveau's DRM kernel driver and not the Nouveau Gallium3D driver nor xf86-video-nouveau DDX.
While some may be leaping for joy, the binary NVIDIA driver will likely be the preferred option for the foreseeable future given that Nouveau is still stuck to GL3 compared to NVIDIA's OpenGL 4.x hardware, the performance is many times better, and there's numerous other features not found in the open-source NVIDIA driver at this time.
For an idea as to the NVIDIA open-source driver situation check out our recent 25-way open-source Intel/AMD/NVIDIA GPU comparison and the problems encountered in using Nouveau. Hopefully the NVIDIA Linux engineers will make Nouveau more reliable in the months ahead, especially with regards to power management / re-clocking.