Nouveau Companion 42

Published on January 20, 2009
Written by KoalaBR
Page 1 of 2
Discuss This Article

The 42nd edition of the Nouveau Companion is now available to provide an update on the status of this community project to provide an open-source 2D/3D driver for all of NVIDIA's graphics hardware. Covered in this developer update is the status of the Nouveau driver on newer NVIDIA hardware, work underway on NV20 Gallium3D code, the LLVM back-end for Gallium3D progressing, the work that's left on kernel mode-setting support, and the GEM / TTM memory management work. The lack of a stabilized memory manager for the Nouveau kernel mode-setting driver is what's postponing a stable 2D driver release.

Happy New Year to all of you, thanks for reading our companion once again.

Well, once again destiny decided to put work on the TiNDC on a back burner, a bad flu followed by lumbago tied me nearly 2 weeks to the bed. So let's not waste any more time in getting to the meat of the TiNDC, the (still not so) current status.

The last issue stopped monitoring the logs on October, 30th so what has happened in November and December?

An important news first: Darktama was hired by Red Hat Australia, moved to Brisbane and started working full time on X.Org and Nouveau. Congratulations to him!

And as always: Thanks to my reviewers of the TiNDC who once again took on the task to let me look much more competent than I am. PQ and Darktama fixed the most glaring bug in this draft.

The (Still Not So) Current Status

Tronic reported a hang in Nouveau for an original 8800 card. The first ones were slightly different from later cards (like e.g. 8600GT). Every code supporting those first generation NV5x cards with Nouveau was deduced from MMioTraces. After getting Kernel and X logs Darktama found that it was indeed the acceleration code and did buy a card on EBay. The bug was then promptly fixed, the 8600GTS is now in darktama's primary desktop.

PQ started working on NV20 Gallium code. First thing getting to work was glxinfo. Rendering a simple triangle however proved harder as vertex buffers were not yet implemented. Additionally, resizing the rendering window caused an assertion. Further investigation suggested the idea that handling clip rectangles in Nouveau was broken, giving out uninitialized structs. A few days later he still had problems to understand the code fully, as he was missing how Gallium attributes (e.g. Pos and Color) were sent to the FIFO. Marcheu told him that currently there was no assignment. We just copy those attributes to the FIFO and the same sequence we get them handed down through Gallium. After much trial and error (plus additional feedback from p0g and marcheu) pq finally managed to get NV20 to render a simple triangle: However, this code was emitting and using NV10 objects. When in early December everything pq converted all objects to NV20 objects and is fighting since then to get everything working again, but the card does not report any errors.

Marcheu is still working on the LLVM back-end. LLVM is a compiler framework which takes shader op codes, generates an internal representation from it, does optimization for it, and hands it finally out to the hardware specific back-end. Normally that would be x86, PPC etc. code but in case of Gallium the code is turned into shader code for NVidia cards (there is another back end in development by Corbin Simpson, which works for AMD/ ATI cards). Currently he is working on NV4x shaders, but adding additional should be a no brainer once everything is in place. Much more information about the current status will told at FOSDEM, as Marcheu holds two talks (about Nouveau and LLVM) there.

One of those things in place was the merge from our repos with the Gallium master repos. After some discussion with Darktama, Marcheu finally merged our code with master mid November.

<< Previous Page
1
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. D Language Still Showing Promise, Advancements
  2. Planetary Annihilation Released For Linux Gamers
  3. Gentoo Starts Work On KDE-Wayland Support
  4. NVIDIA To License Its Kepler GPU Technology
  5. KDE's KWin Made Lots Of Progress In 4.11
  6. Ubuntu Announces Carrier Advisory Group
  7. Qt 5.1 Release Candidate 1 Has Arrived
  8. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  9. Subversion 1.8 Presents New Features
  10. LLVM 3.3 Officially Released
  11. LLVM/Clang Now Uses Loop Vectorizer At New Levels
Latest Forum Talk
  1. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  2. D Language Still Showing Promise, Advancements
  3. The Wayland Situation: Facts About X vs. Wayland
  4. Planetary Annihilation Plans To Come To Linux
  5. Intel GPU Driver Tries To Rip Out FBDEV Support
  6. Mir Still Causing Concerns By Ubuntu Derivatives
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite