One week ago following the committing of the major libdrm re-write for the Nouveau project, the "NVFX" Gallium3D driver was dropped and succeeded by a new "NV30" driver for the GeForce FX/6/7 series GPUs. Unfortunately, for at least some hardware, this Nouveau support is still a busted mess.
The Nouveau Kepler Gallium3D code that was published yesterday does indeed work for allowing OpenGL acceleration on the GeForce 600 series using this reverse-engineered open-source code. In an odd story to end out the weekend, the Nouveau Kepler graphics driver consumed nearly 120GB of hard drive space while running this open-source driver on the NVIDIA GeForce GTX 680.
Over three months passed between the time the Radeon HD 7970 launched and the time that initial Gallium3D support landed (yesterday). So how long is it going to take for a Gallium3D driver for NVIDIA's GeForce GTX 680 "Kepler" that launched just last month and has to be reverse-engineered by the community Nouveau members? Well, as of this afternoon, the Kepler Gallium3D driver is already available.
A massive Nouveau code push went through today affecting libdrm, the Mesa Gallium3D drivers, and the xf86-video-nouveau driver. The whole shebang should offer some performance improvements across the board while one driver has been completely rewritten and affects three generations of hardware.
Ubuntu 12.04 LTS is shipping with the Nouveau driver by default as the open-source (reverse-engineered) NVIDIA graphics driver support, just as they have done in previous releases, but will this cause your mobile device to go through increased power use?
The reverse-engineered Nouveau driver project has two huge surprises to share with the NVIDIA-using Linux desktop community today. One announcement concerns new hardware enablement (Kepler!) and the other concerns the Nouveau driver's position within the Linux kernel.
While it's not often these days that there's worthwhile changes to talk about in an X.Org DDX driver, happening within the Nouveau driver camp in recent weeks has been some improvements to this open-source NVIDIA driver's buffer swap implementation and time-stamping.
Last week I posted an image quality comparison of the Radeon Gallium3D driver versus AMD's Catalyst Linux driver to highlight some visual differences between the open and closed-source Radeon graphics drivers. Now here's a look between the Nouveau Gallium3D driver and NVIDIA's proprietary Linux graphics driver.
For those wondering what the Nouveau project has been up to with their open-source NVIDIA efforts via reverse-engineering besides the working OpenCL support, they have been setting their eyes on video decoding and other areas.
There's another big accomplishment within the open-source graphics camp: Nouveau developers now having an initial working OpenCL implementation for NVIDIA GeForce graphics hardware on the driver that the Linux community developed themselves via reverse-engineering without NVIDIA's support.
Committed to the kernel repository for the open-source Nouveau driver for providing reverse-engineered NVIDIA hardware is now the initial GPU core/memory re-clocking support.
While Nouveau for open-source NVIDIA support in Mesa 8.0 is mixed, the developers behind this reverse-engineered NVIDIA driver are making some progress and hope to have more positive information to report soon.
David Airlie filed a second DRM pull request over the night for the Linux 3.3 kernel. This second pull has work related to NVIDIA Optimus technology within the Nouveau driver.
Last week there were a number of commits to the Nouveau DRM kernel tree by Red Hat's Ben Skeggs, several of these commits bring interesting new features and support.
After reading yesterday's the state of Radeon power management article, for those wondering about the Nouveau driver power management, here's a brief update.
One year after the Radeon and Intel drivers supported precise vblank timestamps, there's a new patch for enabling this support in the open-source NVIDIA (Nouveau) driver.
Ben Skeggs, the Red Hat employee who has been prolific in contributing towards the Nouveau driver project, is in need of some help from NVIDIA laptop owners. If you have a NVIDIA laptop, even the troublesome Optimus laptops, he has a simple chore for you in order to improve Nouveau's support for MXM.
After presenting this week at XDC2011 Chicago about TimeGraph, an open-source GPU command scheduler, and PathScale's GPGPU run-tiume, Shinpei Kato has now taken to the Nouveau list with his proposal.
Martin Peres provided a status update on the Nouveau driver during XDC2011 Chicago. Ben Skeggs, who's employed by Red Hat Australia to work on this open-source NVIDIA driver, was also in attendance at this development conference. Here's some of the key points in terms of future work.
PathScale, the company that developes the EKOPath 4 compiler and provided the *BSDs with a new run-time, is also the company behind the PSCNV driver. The PSCNV driver is the open-source NVIDIA driver that's forked from the Nouveau code and is focused on delivering maximum performance and to provide compute support. While the code isn't available at this time, it appears they have succeeded in having a working GPGPU compute abstration layer (CAL) that's independent of NVIDIA's binary driver.
At long last, if your computer has previously sounded like a jet engine when using the open-source Nouveau driver with your NVIDIA GeForce/Quadro graphics card, there is a solution. Fan management code has now been published by the Nouveau developers to support controlling the graphics card's fan speed when using this in-kernel Linux driver.
While recently there was the merging of Mesa pipe-video to master. most of the recent video decoding work going on within the Gallium3D world has been into the ATI/AMD R600 Gallium3D driver for XvMC and now VDPAU support too. This is after the R300 support matured a fair amount, but the first one to the Gallium3D video decoding party was Nouveau. Worked on several years ago as part of the Google Summer of Code was Nouveau Gallium3D video coding. Fortunately, some of this work has been resurrected.
Within the Nouveau kernel module there's been reverse-engineered kernel mode-setting support for NVIDIA's Fermi GPUs (the GeForce 400/500 series) since last summer. Earlier this year, Nouveau Fermi acceleration support was added with the necessary kernel DRM bits, to the Nouveau X.Org driver for EXA/X-Video acceleration, and a respective Gallium3D Mesa driver.
While the Nouveau driver developers have a huge disadvantage compared to the open-source Intel and AMD Radeon Linux drivers in that they need to reverse-engineer NVIDIA's binary driver at the same time as writing the open-source code and they have no form of support at all from NVIDIA Corp, their efforts can be applauded. They've been quick to bring up support for new hardware, including Gallium3D support for Fermi already, but one area where the Nouveau driver has been slow to mature is with power management and safe re-clocking support. Fortunately, that may finally be changing.
Yesterday we reported on the Gallium3D VDPAU state tracker being worked on more by Christian König now that the XvMC state tracker for the Gallium3D driver architecture is largely complete. Christian's been focusing on bringing up the XvMC/VDPAU state trackers up on the R600g driver for the Radeon HD 2000 series GPUs and newer, but how's the code working on other Gallium3D drivers?
This week on the Nouveau mailing list it was asked whether the NVIDIA Tegra GPUs will be supported by the reverse-engineered Nouveau driver that's created by the open-source community. The Nouveau driver has no plans at this point to support this growingly popular NVIDIA SoC graphics processor.
The Nouveau Companion, the newsletter by the Nouveau driver developers about the progress on their NVIDIA reverse-engineering challenge for creating an open-source NVIDIA Linux driver, has its first new issue in nearly two years.
While we are only half-way into the Linux 2.6.38 kernel development cycle with there still being a number of weeks before its formal release, there is already a reason to look forward to the Linux 2.6.39 kernel if you use -- or plan to utilize -- the open-source Nouveau graphics driver for NVIDIA graphics cards. What's there to be excited over is page-flipping being enabled by defaultfor the NVIDIA GeForce 400/500 "Fermi" and GeForce 8/9/100/200/300 "NV50" graphics cards.
The Nouveau (and PathScale) developers working on reverse-engineering the NVIDIA Linux binary driver in turn to write a free software driver with 2D/3D acceleration for all of NVIDIA's graphics processors, have another accomplishment under their belt today. They've now merged the NVC0 (a.k.a. "Fermi") acceleration support into the xf86-video-nouveau DDX driver.
Canonical has been using the Nouveau DRM/KMS driver since Ubuntu 10.04 LTS for providing 2D acceleration and kernel mode-setting for NVIDIA hardware on an open-source driver by default, but they haven't yet shipped the Nouveau Gallium3D driver that would provide OpenGL acceleration support (along with OpenVG, OpenGL ES, and the other APIs accelerated by Gallium3D state trackers). Their reasoning for holding back on shipping the Nouveau Gallium3D component by default (though it is available through an experimental package) has been that the upstream Nouveau developers haven't yet declared it stable and are unwilling to take bug reports against the driver. Canonical though may be in the process of reevaluating their Nouveau Gallium3D decision and this 3D driver could end up appearing in Ubuntu 11.04.
307 Nouveau news articles published on Phoronix.