Wow, the day has come, open-source fans with NVIDIA hardware that run Linux have quite the present this holiday season. Yesterday there was the first DRM pull request for the Linux 2.6.33 kernel that brought many changes to the ATI/AMD and Intel DRM along with other core DRM improvements (such as to the TTM memory manager). These changes were quite significant and we even called it a great present in the Linux 2.6.33 kernel.
Following a feature-packed DRM pull request this morning for the Linux 2.6.33 kernel, Linus Torvalds became frustrated that the Nouveau driver for supporting NVIDIA hardware was still not to be found in this most recent pull request. Linus wants Nouveau in the mainline kernel especially as Red Hat has already been shipping this free software driver in Fedora for two releases.
The Nouveau driver, the X.Org project designed to provide a open-source NVIDIA graphics driver for Linux with 2D/3D/Video acceleration that's developed by cleanly reverse-engineering NVIDIA's binary driver, is about to get promoted in Ubuntu 10.04 LTS. The Nouveau project has been around for years now and continues to make progress but there has yet to be a stable release of any component -- even just a DDX driver -- although their current feature matrix is reflecting that 2D and X-Video support is complete for all NVIDIA graphics hardware generations, many output-related features (RandR 1.2, KMS, NouveauFB) are done, and the 3D work using Gallium3D is even progressing. The only Linux distribution to currently deploy the Nouveau driver stack by default is Fedora, considering the driver isn't even in the kernel's staging tree. This though may soon change.
A week ago we shared a status update on the Nouveau driver to clarify an earlier posting that the Nouveau driver is not dead. In the past few days though the Nouveau Wiki Feature Matrix was updated to reflect the latest changes in this open-source, third-party NVIDIA graphics driver.
Yesterday there was a news article on Phoronix entitled What's Up With RadeonHD and Nouveau? As was mentioned in that article, not a lot of news has come out of either X.Org project in recent months nor any driver releases (except that changed for RadeonHD yesterday afternoon) and users have started to wonder about the project's status. Never once did we imply that the Nouveau driver was dead, but that it was "not accelerating as fast as some would like." Nouveau's Ben Skeggs though felt differently and has now written a blog post detailing some of the recent developments for this open-source NVIDIA driver.
Yesterday in the Phoronix Forums it was asked what's up with the Nouveau and RadeonHD drivers, which happens to be a very good question. The last time we had much to report on with regard to RadeonHD, the driver created by Novell for use with ATI R500+ GPUs, was back in July when it received better power management capabilities. The last time we had much to report on with Nouveau, the community-spawned driver to provide an open-source 2D/3D driver for NVIDIA hardware, was back in April when talking about using the Nouveau driver in Ubuntu 9.04. The last time, however, that there was a Nouveau Companion update was back in March. While news and major advancements with these two open-source drivers have been lacking lately, both projects are still surely in existence.
With the forthcoming release of Fedora 11, Red Hat has made the bold (but wise) decision of replacing xf86-video-nv as the default open-source NVIDIA driver with the Nouveau driver instead. The xf86-video-nv driver is officially maintained by NVIDIA, but it's their half-assed attempt at being open-source friendly. The X.Org driver's code is obfuscated, its 2D support is limited, there is no 3D acceleration at all, and it barely receives new features and support these days. Meanwhile, a group of open-source developers have been reverse-engineering NVIDIA's binary Linux driver to write the Nouveau driver that will offer 2D, 3D, and video acceleration and aims to be feature-complete. The Nouveau project has been around for a few years, but their code is starting to come to maturation with kernel mode-setting and a Gallium3D driver hopefully being stable by year's end.
Just three days ago we shared that Nouveau will become the default NVIDIA driver in Fedora 11 to replace the obfuscated xf86-video-nv mess. Now proposed for Fedora 11 is to also integrate the Nouveau kernel mode-setting driver.
Among a horde of other features to be introduced with Fedora 11 (a.k.a. Leonidas), the Nouveau driver will become the default NVIDIA driver on this Red Hat distribution.
The Nouveau driver has seen a lot of progress in the past year when it comes to new NVIDIA GPU support, improved 2D acceleration, 3D acceleration working for some GeForce series, and various other improvements. All 3D work for this open-source community-generated driver for NVIDIA graphics card is being done within Gallium3D.
Younes Manton, the student developer that has been working on Generic GPU Video Decoding that allows video decoding to be done universally in the GPU's shaders with any Gallium3D driver, has made some more progress on the NVIDIA front.
Stephane Marchesin, the leader of the Nouveau project, has announced that the Mesa work has been merged into the Gallium3D version 0.2 branch instead of being developed in an independent branch. Nouveau is the community project that's been reverse-engineering NVIDIA's binary Linux driver in order to provide an open-source 2D and 3D driver for NVIDIA graphics hardware. Gallium3D is the 3D graphics architecture developed by Tungsten Graphics that delivers a number of advantages to both developers and end-users.
In some weekend Linux graphics news not related to the much belated X.Org 7.4 or the recent open ATI innovations, there is another interesting change to report on coming from the Nouveau developers who have been tediously reverse-engineering NVIDIA's binary X driver. Recently they began work on Kernel-based mode-setting and NV50 series EXA Composite / X-Video support, but this news is different. With a git commit this afternoon they have abolished their old DRI driver, which totaled over 60 files and thousands of lines of code, from the Mesa tree.
While Nouveau's Maarten Maathuis is busy working on NV50 kernel mode-setting support, Ben Skeggs has been working on a variety of 3D / video features for the NV50 class GPUs. Committed to their development repository tonight is NV50 X-Video support, tile off-screen pixmaps, EXA composite support, and cleaning up some of the code define statements. With this support being all reverse-engineered as NVIDIA is against an open-source strategy the level of support may vary between graphics processors and some of the functionality may be broken or not fully implemented (yet).
Late last month we reported on Nouveau Kernel-Based Mode-Setting Support (or KMS for short) for the NVIDIA GeForce 8 series graphics cards. This kernel mode-setting support isn't perfect (yet) and lacks support for several features, but it's continued to progress since we first mentioned this support on the horizon. Over the past few days there have been several more NV50 (GeForce 8) kernel mode-setting commits. NV50 KMS now supports gamma changes, unaccelerated rotation support, auto detection of kernel mode-setting when active, output DPMS, and other changes. If you're interested in trying out this initial Nouveau kernel mode-setting support, checkout the xf86-video-nouveau driver from its git repository. For more information on KMS, checkout our Preview of Kernel-Based Mode-Setting.
Earlier this week we shared that work on Nouveau Companion has been halted until at least the end of August and the project has been in a state of disarray due to the project's leader, Stephane Marchesin, evaluating future job opportunities -- therefore putting his non-paid Nouveau work on the back burner. Some readers have expressed concern whether Nouveau will be able to continue full-speed ahead, but today there is some good news coming out of this reverse-engineered NVIDIA camp.
It's been over a month since Nouveau Companion 39, but don't expect the 40th edition of the Nouveau Companion to come anytime soon. In a message to Phoronix, the Nouveau Companion's lead writer "KoalaBR" has said "the project is in a kind of hiatus." This is mostly because Stephane Marchesin, the leader of Nouveau, has been missing due to looking at future job opportunities. In addition, KoalaBR is in a similar boat. The Nouveau Companion isn't being disbanded quite yet, but a new edition won't be out until at least the end of August.
Yesterday the RadeonHD driver had 55 commits, which consisted of major code restructuring and laying down the groundwork for TV-Out support and most notably the open-source support for the Radeon HD 3400 / 3600 series (Radeon HD 3650 Linux review). Today the Nouveau developers are in the spotlight with their own arsenal of new open-source NVIDIA activity.
Unlike the open-source AMD camp that now has deep roots going back to AMD thanks to their new open-source strategy with four full-time RadeonHD developers and even access to pre-production hardware, this is far different for the open-source NVIDIA side. While we've received information that NVIDIA may be plotting an open-source strategy, the Nouveau developers have yet to hear anything from NVIDIA nor do they expect any communication (as was stated in the Nouveau Companion 34). The Nouveau developers are simply working on this open-source 2D/3D NVIDIA driver in their spare time and with their own hardware -- they don't have any corporate backing. The Nouveau team relies upon the community for testing and contributing of any spare hardware, while they did raise $10,000 in a pledge drive but are still working on obtaining that money tax-free.
Back in Nouveau Companion 30, we found out the Nouveau developers are getting very close to their first stable release. This first Nouveau driver release will include 2D, X-Video, and EXA acceleration across all NVIDIA graphics cards from the NV05 to NV4x. Recently there has been quite a number of commits to the xf86-video-nouveau git tree, which could be one last development hoorah before the first release.
While it will be a while before the next Nouveau Companion is out, we wanted to let you all know that over the past couple of days the Nouveau driver has received some additional RandR 1.2 work. The RandR 1.2 changes range from adding extra initialization code, new PLL restrictions, a regression fix, and automatically disabling RandR 1.2 support on versions previous to X server 1.3. There's also been a number of other changes taking place with this open-source NVIDIA driver over the past couple of days. Find out all of the details on the Nouveau gitweb.
After reading the Nouveau Question and Answer, if you're interested in trying out this open-source NVIDIA driver be sure to check out the latest git code. Over the past nine hours there have been 14 commits so far. These commits change such things as PCI rework compatibility, eliminating XAA support, NVIDIA GeForce 8 improvements, and in traditional open-source fashion a number of bugs have been fixed. Find out more on the Nouveau git summary.
Do you have a question you've been wanting to ask the open-source 3D driver developers for NVIDIA hardware about their Nouveau work or their thoughts on some related Linux topic? We are accepting questions in this Phoronix Forums thread. After we've got a good stack of questions they will be answered by the Nouveau developers. Questions could range from when a feature will be implemented in the driver to if they believe NVIDIA will ever open-source their 3D driver component. We look forward to seeing your questions!
The 25th edition of the Nouveau Companion is out a bit late, but it's filled with interesting content on the latest work going into this open-source NVIDIA driver. The topics making up this issue include the DMA notifier, the TTM memory manager, continued work with X-Video and XvMC, renouveau splitting, PowerPC work, and DRM 0.0.10. After a heated discussion, the decision was made to move to the TTM memory manager with the Nouveau driver as David Airlie would only like one memory manager in the DRM tree. The X-Video performance on many NVIDIA GeForce graphics cards should also be improved in this release. Check out Nouveau Companion 25 on the Nouveau Wiki.
This morning we told you about some of the Nouveau commits in the past 24 hours and there are more changes to report this afternoon. The open-source X.Org NVIDIA driver now has XAA working on the NV17 GPU and fixes for explicit usage of sub-channels while removing sub-channel defines completely.
In the past day there have been a number of commits to the xf86-video-nouveau git code. This recent activity started out with clamping NV_MEMORY_TO_MEMORY_FORMAT_LINE_COUNT to 2047 lines followed by an X-Video fix with freeing notifiers. Changing with the Nouveau driver earlier today was adapting the code to support drm 0.0.10 with additional work being done for handling sub-channel code, fixing UTS/DFS in some transfer sizes, and removing the debugging ErrorF statements. All of this recent work has been done in the master branch of nouveau/xf86-video-nouveau.
If you're using the open-source NVIDIA 3D display driver or hope to try it out soon, there's been several X-Video related commits in the past few days. The Nouveau driver is still much a work in progress, but recently there's been X-Video fixes by Arthur Huillet. You can find out more about the X-Video changes and other updates from the Nouveau git page.
Another Nouveau Companion has been written to update the status of the open-source NVIDIA display driver. Changes were pushed in the DRM and DDX for the nv50-branch to offer preliminary GeForce 8 open-source support, X-Video DMA work was accomplished, oprofiling tests completed, and branch changes. The nv50-branch has been merged into the Nouveau randr-1.2 branch, which is the new location that GeForce 8 owners will want to go for code. The Nouveau team still needs help with GeForce 8 testing. The 24th edition of the Nouveau Companion can be read, as always, on FreeDesktop.org.
The 23rd edition of the Nouveau Companion has been posted online. Covered in this edition is the Nouveau: Where It Stands Today article from us, some NV1x code fixes, NV4x implementing the EXA functions via the 3D engine, X-Video working for AGP with DMA, and a few new RandR 1.2 patches. With the NV4x GPUs implementing the EXA functions via the 3D engine, this should eliminate a number of bugs as well as offering a speed boost to this open-source NVIDIA driver. Nouveau Companion 23 can be read over on their FreeDesktop Wiki.
The 22nd edition of the Nouveau Companion is now online after a three-day delay. Some of the work covered in this issue is rules-ng now containing ATI Radeon register data, renouveau improvements, and X-Video work has started. The improvements to renouveau include replacing the nv_object data structure over to an XML database and splitting renouveau into a dumper and parser program. Fixes have also been merged into Nouveau main for the NV49 and NV4b GPUs. No new progress has been made in open-source 3D support for the GeForce 8 (G80) series. Read more on the Nouveau Wiki.
253 Nouveau news articles published on Phoronix.