The irregular Nouveau-Development companion
Issue for January, 25th
1. Intro
We need to say "Thank you" to about 1350 people who signed the pledge which was mentioned in the last issue. We can't extend a personal thank you to all 1350 people, naming them here would delay this issue for a long time. So to all of you, who pledged and lived up to it: "Thank you very much" just once again.
It may have looked like we were not very enthusiastic about this pledge and this is true, because:
- we really don't need money, all of our major developers have at least one NVidia card (but read on)
- when the pledge started, our project was just barely ahead of what NVidia was offering with the Xorg nv driver and we hadn't cleared some really major stumbling blocks for (then) future development.
- Nothing regarding 3D acceleration was working or stable enough to show off
Paying for a nearly non-working project could give the impression that we tried to make a quick buck. As we are in it for the fun of it, that was something we really wanted to avoid at all costs. See our FAQ too for reasons, why we are working on this. And yes Airlied's slides have some reasons too.
So, now that we are talking to David Nielsen about how to progress, what do we intend to do with the money? We haven't decided yet, but current tendency is to buy the new 8300/8600 based cards which are expected to be available any day now. But when we have decided, we will put up a page which details how much money we got and on what the money was spent (or who received what). You will find a link prominently placed on the frontpage then.
2. Current status
Last week, Linux conf Australia was held where airlied and darktama did a talk about nouveau. We will get some feedback from darktama and airlied a bit further down. This was the main reason, why this TiNDC took nearly 3 weeks to publish: I wanted to have some feedback on the talk they did in this issue. Just hours after the talk Mr. Corbet (lwn.net) did an interview with airlied and put it up at: http://lwn.net/Articles/217866. Please note: Until 25.01.07 this is a subscriber only link.
And shortly after our last issue was published we got a request for an phone interview for LUGRadio. After some discussion in the channel, marcheu took on the challenge to do it. You can listen to the results here: http://lugradio.org/episodes/69
Furthermore, we created a gmail account ( renouveau DOT dumps <AT> gmail DOT com ) to send renouveau dumps to. Although we had quite some helpful people in the channel, who did the upload of the dumps to sf, some were missed. So kmeyer (who did quite a bunch of uploads for us manually) offered to write a short script, which does download the dumps from gmail and uploads them to a "pending/" directory on our project dir on sourceforge.
Since the last Companion was published, development speed for context switch on NV10, NV20 and NV30 picked up. mat committed some patches for NV10 and NV20 to get PGRAPH context switches working and pq volunteered to test them. Starting with crashes subsequent patches and retries resulted in better result. Well, shortly before I finished work on this issue, pq informed me that mat' has succeeded on NV2x based cards and that we now have NV2x context switching working.
A Nameless One and cmn did tests and bug squashing on NV30 context switching. Fifo switching is nearly done but PGRAPH switching was not working correctly. cmn succeeded in getting PGRAPH switches temporarily. Still those switches didn't always work. cmn and "A Nameless One" were looking into the problem and finally got a result during the last weekend:
I can hear you say "Look Mom, eh... NO??? GEARS????". The reason is simple: The needed GL commands have not been implemented for the driver yet. But before running glxgears on NV3x cards would result in an immediate X11 crash. Now it survives. We will put up the image of a running glxgears on NV3x as soon as we are able to. By the way, this is true for the NV2x too. I had nearly the same screenshot on a NV28 from pq (even running 2 gears at the same time), but as nothing new can be seen, I will use one of his screenshots when we have glxgears running with correctly displayed gears on his card
Now what does this mean? Basically that we can now concentrate to implement 3D operations on those cards to catch up with our NV4x implementation.
jrmuizel, doener and pq were the main actors in the ongoing mmio saga. Tests revealed that under certain circumstances the kernel module would get a page fault for a memory access, do its job as expected but when trying to reset the state as it was before the page fault would get another page fault and thus getting into an endless loop inside the kernel, locking the machine hard. After fixing some races and further enhancements to the fault handler mmio got more stable but still falls over rather sooner than later. doener tried his luck on porting mmio to amd64 and got mmio stable on this plattform. Nevertheless, it really seems that the tracing is heavily dependant on the version of the NVidia kernel module. Most success was had with the 8776 version of the binary blob, later 9xxx versions yield worse results. Please have a look at our MmioTrace (and the MmioTraceDebugging Page linked from there) to find out the latest developments.
jstolk (was renamed later to jwstolk) tried his luck on the spotlight parameters. Trying to match only parts of the graphs pq plottet earlier, he came up with formulas, which were much closer to what was recorded with the NVidia driver.
cmn did some work on fog. He found out the parameters and patch both renouveau and 3D driver accordingly.
Just a short summary on what marcheu has been doing the last weeks:
- giving interviews.
- writing "software transformation, clipping and lighting" engine for NV04 cards
- Doing some work with ubuntu in order to get their nouveau error reports automatically.
- Writing a hierarchical state cache in order to avoid sending duplicated states to the card.
- Currently he is working on NV04 states and contexts.
3. Help needed
As already mentioned: Airlied is still looking for dual head testers. Furthermore, if you are on PowerPC you could try to run nouveau with 3D enabled and report back to Darktama or Airlied. Still, pmdata is looking for dumps of G80 based cards (8800). And again SLI dumps would still be useful. If you can do kernel compiles and are not afraid to test kernel modules, please lend jrmuizel, pq or doener a helping hand.
4. Interview
I already mentioned it at the top of this page: Airlied and Darktama held a talk on nouveau and showed off the current state of the driver.Airlied and Darktama agreed on giving us some feedback on how it went.
TiNDC:
- Just in case our readers never read a TiNDC, could you give us a short overview on your work on nouveau?
Airlied:
- [I work on] multi-head and Randr-1.2 and general X driver design advice and experience... and running / testing on powerpc...
Darktama:
When I first heard about nouveau (~9 months ago), I was bored and decided to take a look at shaders on my NV40 card. I intended on handing over what I learned and that was it, somehow I'm still here
Since then, I've been concentrating mainly on getting NV40 cards to work. Since we didn't have much to start with it's been quite involved!
TiNDC:
- (1) How was the interest in your talk (how big was the audience)? (2) Perhaps someone in the audience, you didn't expect to see?
Airlied:
- (1) Can't really gage when giving a talk how big the audience was more than 100 less than 300 maybe... someone in the talk might have looked around more... we were up against OLPC talk so I didn't expect a major crowd.. (2) Not that I know off, I did see Jonathan Corbet from lwn which was nice considering he wrote the article about us... in the LWN Jan 18th...
Darktama:
There was more people at the talk than I was expecting, considering we were in the same timeslot as the OLPC presentation. I didn't pay too much attention to who was in the audience, mainly because I *was* part of the audience
TiNDC:
- How did the talk go, did any problems occur?
Airlied:
Talk went well, (the video isn't up yet..) the slides are on http://www.skynet.ie/~airlied/talks/lca07/nouveau.odp and darktama jumped down at the end and held up glxgears on his laptop..
Darktama:
- Airlied did a good job, and people seemed to be fairly interested in what was going on. I was relieved that my laptop decided to behave itself when I showed glxgears working, I was half expecting it to kill X on me..
TiNDC:
- Any interesting feedback?
Airlied:
- Nothing more than the usual people saying good luck and thanks for doing it, and how does your mobile phone remote control for slides work... also Ben Herrenschmidt who I've worked with on radeon mentioned some stuff about PS3 and nvidia... and that maybe Sony will allow Linux access to the GPU in later firmware/hypervisors but no-one is sure...
Darktama:
- I didn't get much feedback about the talk specifically, which isn't surprising since I didn't do the talk... But I spoke with quite a few people outside of presentations. Nearly everyone I spoke to had heard of nouveau, and most people said how important the project is. It was also good to hear that a lot of people were interested in using nouveau instead of NVIDIA's driver once we have something that's generally usable.
TiNDC:
- Was there any feedback from distributions (like Fedora)?
Airlied:
- I tend to hang out with people from many distros and they are all interested in nouveau, I tried to clarify what we consider the timeline for producing a workable driver with as a few people at various times...
TiNDC:
- Any informal talks during LCA with kernel or Xorg guys?
Airlied:
- Well as both a kernel and X.org guy first, I spent a lot of time talking to lots of kernel/X.org people about many things over many different varities of alcoholic beverages... some of it was about nouveau.. we attempted to install nouveau on davej's laptop which seems to hit the EXA on G7x problem...
Darktama:
- I spoke with airlied a few times, and got to meet some of the other Xorg guys briefly. It was good to put faces to irc names! However, most of the people I spoke to at length were network guys.
TiNDC:
- Anything else you think is worth mentioning?
Airlied:
- I did talk to some Mac/OSX hackers which provided some useful insight into what I might need to do to get renouveau running on Mac/OSX... Other than that not much really, I enjoyed the conference, I also was the kernel miniconf co-organiser so I'm a lot more involved in open source than just nouveau but nouveau was certainly something many people wanted to talk about which was good...
Darktama:
- Hmm.. See everyone at LCA next year? :P
TiNDC:
- Thank you both for answering our questions.