Nouveau Driver Q&A

Written by Michael Larabel in Display Drivers on 3 September 2007 at 01:03 AM EDT. Page 4 of 5. 1 Comment.

Ssam: I have been using Nouveau on Ubuntu Gutsy with RAOF's packages for the past few days and they seem pretty stable on a 7300. At what point do you think Nouveau will replace nv? Is nouveau already as good as nv for 2D stuff? (have i been lucky)? If so why have none of the distros put it in as default yet?

Well, cards from GeForce 6x00 to 7x00 are currently the best supported, they may even support "3D" (well, glxgears). We are quite sure that nouveau is mostly stable for 2D, and for all we know, it compares favorably to nv.

We don't want to be default yet for reasons we detailed above. Just about two weeks ago we broke the binary interface yet again (see the latest TiNDC for a deeper explanation of why and what). So making us default is not a good idea yet. And yes, if you are tracking our progress with those packages, you have been a bit lucky in that we know how to init your card. Otherwise X wouldn't start up and you could rightly complain :)

Hmmm: Once basic 2D/3D support and RandR is completed, what would be next on the agenda for Nouveau?

Well, as already noted above, we really don't have a roadmap of what we do. It is up to the members of the project. They do what they are interested in.

Generally speaking though, before we can do anything more complex, we will need to start using TTM. We did some preliminary work, but there needs to be done a lot more. After that we can start implementing advanced features like texturing, lighting and all we need for our next milestone after glxgears (Quake).

Hmmm: Have you looked at trying to implement Pure Video?

Pure Video consists basically in using the 3D engine to achieve video decompression. Although we mostly know how to make use of the 3D engine from nv04 up to nv40 cards, there is currently no suitable API to expose such a mechanism under X11. An interesting alternative would be to implement video decoding over OpenGL, which would be both driver-independent and very flexible for the video player.

Hmmm: Have tried to approach NVIDIA to release the ancient Detonator drivers or older ForceWare drivers as opensource?

Interesting question, the answer is no though. There are various reasons (to some degree already mentioned in earlier answers) but if you consider the fact that they even won't release any specs, I don't see them releasing driver sources. Furthermore driver source code would have even more data about their chips (and sources bought from other vendors too). Also, now that we've done most of the reverse engineering effort, the usefulness of having Nvidia release specs has become quite low.

Hmmm: How does work done on the ATI open source & Intel open source drivers, Mesa, Randr, and X.Org influence your work?

The DRI drivers all use a common code-base, which means lots of the code is shared. Obviously when improvements to common code happen, all DRI drivers take benefit from it. One such example is the work done on the VBO branch that helped all the DRI drivers on the performance side. Another example is the TTM, which will be used by all drivers once finished. As far as reverse engineering is concerned, we do share a number of tools with the Radeon developers and Xorg also does support us (they did sponsor Arthur's work on Xv as a Vacation of Code project).

On the negative side, we also learn a lot from the mistakes we saw, or did, in the other drivers. For example, we are trying to avoid driver fragmentation as much as possible, since it makes maintenance a lot more difficult (an example of fragmentation can be seen with the ATI DRI drivers, and it has made maintenance more complicated in the past).


Related Articles