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.
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.
331 Nouveau news articles published on Phoronix.