English/Português
outdated translations: Español/Français/Deutsch
FAQ - Frequently asked questions
Nouveau troubleshooting answers are now on their own page: TroubleShooting
Contents
-
FAQ - Frequently asked questions
-
General Questions
- I want to donate to your project...
- What about the pledge at PledgeBank?
- When can we expect a working driver ?
- What is the current status of the driver?
- I want to help! What can I do?
- What is an easy route to becoming a developer?
- How do I run REnouveau and submit the results?
- Do you get any support from NVidia?
- Why are you doing this?
- Hardware donations
-
Technical questions
- How did you find out how NVidia cards work, then?
- Why don’t you just disassemble the proprietary driver?
- So go to a country where it’s not illegal and produce specs!
- Do you support dual-head systems / Randr 1.2?
- Which cards are you trying to support?
- Does my card work with Nouveau?
- Which Xorg version do I need?
- Which systems do you support?
- Is hibernation supported?
- Will you support PS3 linux?
- Will you support Xv?
- Will you support XvMC (hardware accelerated video decoding)?
- Glxgears works! But you said there is no 3D?
- How do I install the 3D driver?
- Renouveau problems
- Legal questions
-
General Questions
1. General Questions
1.1. I want to donate to your project...
You can help us by donating your time. Documentation, web page, reverse engineering or coding: all offer vacancies. We currently don’t accept money. We do accept hardware, however (especially newer NVIDIA cards are needed to improve support for them): see below.
1.2. What about the pledge at PledgeBank?
That pledge was set up without us knowing and was in no way initiated by us. When we heard about it, we honestly didn’t expect it to succeed. Well, it seems we were wrong. Currently (10.01.2007) the initiator of the pledge is working out the payment details and will let us know how to proceed. Please have a look at the pledge page and his personal blog for the latest information about that.
Update 6th Dec 2008: The pledge still has not worked out, because we cannot find an organization willing to take care of the money transfer. Due to tax and legal issues, it is not worth the trouble and costs to accept money without a proper organization handling the paperwork.
1.3. When can we expect a working driver ?
It really is not easy to predict dates, as show-stoppers may appear any time. Very few, usually none, of the developers are paid to work on Nouveau, so progress depends on their free time and interests.
1.4. What is the current status of the driver?
See the front page.
1.5. I want to help! What can I do?
The most helpful thing is to become a developer! We need more developers. Practically nothing says "I love you, developers" better than sending a nice, clean patch that fixes a real problem. Otherwise, the easiest thing is probably to help with testing and reverse engineering. See the front page.
1.6. What is an easy route to becoming a developer?
First you should have some programming skills with the C language. That's pretty much the only requirement, everything else you can learn on the way. Knowing something about graphics or hardware is a big plus.
Developers usually starts by finding something you think should be fixed, in the driver or the reverse engineering tools. When you find that thing, ask people about it, read the relevant code, and figure stuff out. A good way to find your own developer’s itch is to just start using Nouveau, hang out on the IRC channel, and maybe subscribe to some mailing lists. When you find a good itch, you have to scratch — this is what drives development. And when you scratch, the itch usually spreads
Our Introductory Course is a good first read.
1.7. How do I run REnouveau and submit the results?
See REnouveauDumps.
1.8. Do you get any support from NVidia?
No, we don’t get any support from NVidia, no specs, docs, nor sources. We started our code from the nv Xorg driver. That driver is being maintained by NVidia and supports all cards, but only for 2-D and nv’s 2D acceleration is very slow compared to nouveau’s. See “How did you find out how NVidia cards work, then?”.
1.9. Why are you doing this?
We can’t give you the answer, as each project member has his own motivation. Just a few answers from our staff we got when this question was raised:
- Don't like binary blobs
- Want to give back to the OSS community
- Want to learn driver programming
- Yes, we can develop our own drivers regardless of what people at NVidia may think
- Support for missing features
- Support for operating systems not supported by NVidia (any PowerPC based OS for example)
- Just for the fun of it
- Binary driver keeps crashing even in 2D
- Slow Xorg "nv" driver (slow in performance and slow to get new card support)
So pick the reasons you feel are important; chances are that quite a few project members will agree with your pick
1.10. Hardware donations
While many of us already have enough hardware to keep us busy for weeks, we are usually interested in hardware donations, even of old cards. If you have a card to donate, please write to the Nouveau mailing list (see About Nouveau) and tell what card you have. The people involved in nouveau development will try to answer you as soon as possible.
2. Technical questions
2.1. How did you find out how NVidia cards work, then?
Basically, we store the state of the card before and after running a simplistic OpenGL program. After that, we diff the states in order to find out what was sent to the card. See the REnouveau documentation for further information. We also look at how the proprietary kernel driver accesses the card registers by intercepting the accesses using MmioTrace. There are also other tools to watch the card.
2.2. Why don’t you just disassemble the proprietary driver?
In some notable countries that would be illegal, putting the project and its users in jeopardy.
2.3. So go to a country where it’s not illegal and produce specs!
Ok, the technical answer: The Nouveau project needs to know how to drive the hardware. We can find that out without disassembling the proprietary driver (the blob). We are not trying to duplicate the design of the blob, because there is an existing direct rendering infrastructure we are using.
The blob has its own kernel interfaces, which are not of such quality that they will likely ever be part of the mainline kernel — they are specific to the blob and don’t care about the DRI/DRM infrastructure. We also have Mesa and Gallium to provide the OpenGL interfaces; the blob has its own version of everything. We really don’t want to try to understand or even see all the kludges and hacks that might exist in the blob. Disassembling the blob would be a great effort and produce a lot of useless information, and it could still become a legal problem.
In short: disassembling is a lot more trouble than it’s worth.
Many developers are already in countries where it is not straightforwardly illegal to disassemble the blob. However, none of the developers are lawyers, so we prefer to stay well clear from any potential legal issues.
2.4. Do you support dual-head systems / Randr 1.2?
Yes, Randr 1.2 is supported (and cannot be disabled).
2.5. Which cards are you trying to support?
Everything starting from NV04. Older cards may see some support when everything is working and the developers have time to do this.
2.6. Does my card work with Nouveau?
The most likely answer for your particular Nvidia graphics card is: yes for 2D and no for 3D. You can find the details in Status on the front page.
If you want a definite answer, try it.
2.7. Which Xorg version do I need?
The minimum required version of xorg-server is 1.7.
2.8. Which systems do you support?
The developers are currently working on Linux, where Nouveau runs on AMD64, x86 (single- or multi-processor), and PowerPC architectures; and FreeBSD (see Nouveau Companion 43). Support for the other BSD flavours should appear eventually, but there are very few developers on BSD.
2.9. Is hibernation supported?
Suspend to RAM works, and so should suspend to disk.
2.10. Will you support PS3 linux?
The PS3 has an nvidia graphics chip of the G70 family (called RSX), and a project has been started for PS3 specifically to take advantage of that chip. A way to use the chip for 3D has been found with some firmware versions, however Sony quickly closed it down, and seems willing to close any way to properly use the RSX under linux. Therefore, we do not advise getting a PS3 for the purpose of using the RSX under linux.
2.11. Will you support Xv?
We do support Xv. Nouveau uses the "nv" code to support Xv, which was improved by ArthurHuillet and it provides two texture adapters which use the 3D engine of the NV30 and NV40 cards. They provide bilinear and high-quality bicubic filtering.
2.12. Will you support XvMC (hardware accelerated video decoding)?
XvMC (X-Video Motion Compensation) might be supported someday, but this is not considered high-priority at the moment.
2.13. Glxgears works! But you said there is no 3D?
Yes, glxgears should work just fine. Mesa can render glxgears and many other programs using software, and it is slow. There is no 3D hardware acceleration for end users (see the front page).
2.14. How do I install the 3D driver?
If you cannot find the answer yourself, you should wait for a release. What ever you do, do not install the 3D driver system-wide. That gives you a very unstable desktop. Again, see front page for status information.
3. Renouveau problems
3.1. renouveau does not compile: cannot find -lXvMCNVIDIA
This is usually due to the missing symbolic link /usr/lib/libXvMCNVIDIA.so. You can create it with something like
ln -s /usr/lib/libXvMCNVIDIA.so.1.0.8776 /usr/lib/libXvMCNVIDIA.so
as root. Substitute the name libXvMCNVIDIA.so.1.0.8776 with the version you have.
3.2. renouveau says "device detection failed"
Usually this is due to broken nvidia driver installation. glxinfo should report
direct rendering: Yes server glx vendor string: NVIDIA Corporation ... client glx vendor string: NVIDIA Corporation ... OpenGL vendor string: NVIDIA Corporation
- If it does not, try to reinstall the proprietary driver from nvidia.
3.3. renouveau segfaults
Let me guess, you have a PCI-E card and nVidia driver version 9xxx. If you do, then it is a known "feature". The driver maps memory areas in and out and renouveau loses the track. You can try to downgrade to driver version 8xxx. If you do not have PCI-E and 9xxx, let us know.
It would be useful to Renouveau developers if you could run renouveau under gdb. Instead of running renouveau, use the command gdb ./renouveau and you should get the gdb prompt. Command run and it should start renouveau and crash at some point, then you should be facing the gdb prompt again. Use the command bt and save the output. You can use e.g. http://rafb.net/paste/ and post a link to #nouveau IRC channel. Finally, you can kill renouveau with command kill and exit gdb with quit.
3.4. renouveau: Creating probe window failed.
You are likely using a 16-bit color depth on your desktop. Please, try again with 24-bit colors. Some Renouveau tests requires the stencil buffer to be available, and it's only there in 24-bit color mode (24 bits for depth, 8 for stencil).
3.5. renouveau crashes in test X
Each test should be independent of each other. However there are still some tests that don't restore the OpenGL state like it was before running the test. For example, we have reports saying that nv_fragment_program2 test crashes sometimes if ran for the whole test list, but does not crash if it's the only test ran. Proper fix is to find which test ran before makes it crash, and try to rewrite it in a more proper way.
4. Legal questions
4.1. Do you violate NVidia’s EULA with renouveau?
No. We don't touch NVidia’s binary blob at all, we just observe what the driver changes in memory. All config data we have, is exposed in some /proc or /dev files. And running OpenGL is the main reason why you would use the driver. That is no violation.
4.2. What license does Nouveau use?
Nouveau is made of 3 components : DDX (2D driver), DRI (3D driver) and DRM (kernel component). The DDX and DRI use the MIT license, the DRM uses a dual MIT/GPL license. REnouveau is under GPL.

