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.
While the Nouveau driver may not yet have a stable Gallium3D or DDX driver release nor does it have capabilities like stabilized power management or OpenGL 3.x, if you want to overclock your NVIDIA graphics card with this open-source driver, you can now do so today. Martin Peres who has been working on Nouveau power management support and timing management, has produced a patch to support custom clock manipulation of the NVIDIA graphics card's core clock, memory clock, and shader clock speeds. The voltages can also be manipulated too whether you are manually overclocking or underclocking your GPU with this Linux kernel DRM driver.
Three days ago we passed along the latest information on the PSCNV driver, which is a fork of the open-source Nouveau driver for NVIDIA graphics cards, with this information coming from Christopher Bergström of PathScale. As this was one of our first articles talking about the PSCNV driver at length, many readers were surprised by this fork with the upstream Nouveau driver still lacking even an official release. Some feel that this fork is a bad idea (it's even been compared to the dead RadeonHD driver) while others are in support of PathScale's efforts. Since publishing that article we have learned a few more details on the PSCNV driver from some of its developers within our forums.
Christopher Bergström of PathScale has passed along a note detailing some of the recent progress made by the Nouveau team and their developers working on PSCNV, their Nouveau driver fork. This includes 2D beginning to work on the GeForce 400 "Fermi" graphics hardware, open-source 3D for Fermi still being worked on, and a pool of documentation is beginning to form for the NVIDIA hardware by the open-source community. Here's the details in full.
It was just last week that page-flipping and sync-to-vblank support came to the Nouveau driver and now this open-source NVIDIA driver has initial support for Zaphod mode. While the Nouveau kernel mode-setting code has supported RandR 1.2 for quite a while with multi-monitor support, Red Hat's Ben Skeggs has made an initial pass at providing Zaphod mode.
Recently the Nouveau power management code emerged and we recently helped out with timing management, but that's not all of the work being done at the moment to this community-driven open-source driver for NVIDIA graphics cards. Committed today to the xf86-video-nouveau DDX driver is support for DRI2 page-flipping and sync-to-vblank support.
If you thought you had to be an advanced computer programmer to be of significant help with an open-source project, especially when it comes to something very technical like a graphics processor driver, guess again. The Nouveau developers send their regards to those of you that submitted dumps of their video BIOS and strap registers in order to help them with their reverse-engineering of memory timing manipulation for the Nouveau driver.
For those owners of NVIDIA graphics hardware that are already using -- or interested in using -- the open-source Nouveau driver that is developed by the community as an alternative to NVIDIA's proprietary driver, the developers could use some help. Martin Peres has issued a testing request for people to try out new code for the Nouveau driver that deals with memory timing management.
While the Nouveau kernel mode-setting / DRM driver has been living in the mainline Linux kernel for nearly one year and the open-source developers working on this reverse-engineered NVIDIA driver have a working Gallium3D driver (we have updated Nouveau Gallium3D benchmarks coming out during Oktoberfest), their support for NVIDIA power management has always been a struggle. The Nouveau power management situation though just received a big boost, that will hopefully lead to finally allowing your NVIDIA GPU with this open-source driver to run cooler and pull less power.
Yesterday was an exciting day for those Linux users interested in AMD's open-source ATI driver work with the release of the Radeon HD 5000 series 2D/3D driver, Radeon HD 6000 series support getting underway, and many ATI R600 Gallium3D driver improvements over the past few days. If though you are a NVIDIA customer interested in open-source support, there's great news for you today with the Nouveau driver that greatly improves the Gallium3D support.
Last week we reported on the first DRM pull request for the Linux 2.6.36 kernel and it brought forth some interesting features and improvements for the open-source Linux graphics drivers living within the kernel, but a second pull request has reached the email inbox of Linus Torvalds this afternoon.
If you have been wanting to test drive the Gallium3D drivers on your new Ubuntu 10.04 LTS "Lucid Lynx" installation but have been put off by the idea of building the Mesa stack yourself, fear not any longer. There's some new packages in the Ubuntu xorg-edgers PPA for easily facilitating the switch from classic Mesa to Gallium3D for Intel, ATI, and NVIDIA hardware.
This morning we talked about the real need for Nouveau power management as with a notebook bearing a NVIDIA GPU this open-source NVIDIA driver can easily consume 10~30% more power than using NVIDIA's official binary driver. While power management is more important on the mobile side, a quick test was carried out on a desktop too.
Following the very heated kernel DRM discussion that came about as the result of a major interface break in the Nouveau DRM code, David Airlie has asked on the Nouveau mailing list about potentially releasing Nouveau 1.0.0. Right now the Nouveau interface is at 0.0.16 and is wondering if developers will accept just renaming the current code to version 1.0.0.
One of the issues that was widely discussed when Linus Torvalds brought up finally merging the Nouveau DRM into the Linux 2.6.33 kernel was a microcode problem. The past few generations of NVIDIA graphics processors require this specialized microcode/firmware to be loaded in order to provide acceleration of any sort. At first it was it was a mystery what this microcode actually did, but it turns out that it's used for GPU context switching and the like. This wound up being a sticky situation.
It's been a long time coming, but beginning with the new daily builds of Ubuntu 10.04 and then coming up for Ubuntu 10.04 Alpha 3 is Nouveau driver support by default for NVIDIA graphics hardware. The Nouveau kernel DRM was back-ported from the Linux 2.6.33 kernel (since then more graphics DRM is being pulled back) and the xf86-video-nouveau DDX driver that supports kernel mode-setting has been dropped into place in the Lucid repository.
While Nouveau's initial DRM (Direct Rendering Manager) code has landed in the Linux 2.6.33 kernel, changes made today to the Nouveau driver stack will cause grief for some users. The Nouveau user-space driver code will now not work with the DRM found in the Linux 2.6.33 kernel, which isn't even officially released yet but will be in a week or two.
While there is now DRM support in the Linux 2.6.33 kernel for the Nouveau driver that carries the bits for kernel mode-setting, 2D (EXA) acceleration, and other fundamental functions on NVIDIA graphics processors, the Gallium3D driver still is incomplete. Prior to focusing solely on Gallium3D for their OpenGL acceleration, the Nouveau project was working on a DRI driver for classic Mesa, but that work was dropped in 2008 to focus entirely on Gallium3D support. This afternoon, however, a new Mesa DRI driver has emerged for Nouveau that provides *working* 3D support for older NVIDIA hardware.
320 Nouveau news articles published on Phoronix.