[FrontPage] [TitleIndex] [WordIndex

Home

TiNDC 2006

TiNDC 2007

Old Logs

Current Logs

DE/EN/ES/FR/RU/Team

The irregular Nouveau-Development companion

Issue for December, 23th

1. Intro

A bit later than normal and probably the last issue for this year is finally here: Please welcome issue 32 :) And due to the holidays even later than on Phoronix, sorry about that. The next issue will be out in about 3 weeks.

During the last weeks the channel was much quiter than normally. Some of us are currently very busy in Real Life(TM) and what gets developed is not readily seeable, as our developers delve into a new area which is Gallium3D.

BTW: FOSDEM 2008 will once again have a XORG (devel) room. We will probably give a status update on nouveau there, do some hacking and could give you some help in case you want to dive into nouveau development.

In any case, up to 3 project members are currently planning to go to FOSDEM and we would be glad to see more. So if you can make it there, please don't hesitate.

And finally, IronPeter announced that on PS3 an accelerated X11 driver was working (done by Glaurung), based on some code and knowledge from our project. They now focus on supplying 3D functionality. See this thread for more information (and have a look at the wiki mentioned there): http://forums.ps2dev.org/viewtopic.php?t=8364&postdays=0&postorder=asc&start=150

It seems that with Firmware 2.10 the functionality has been crippled though. http://ps2dev.org/News/Is_Sony_blocking_3D_access%3F

2. The Current status

We still have reports that PPC isn't working. One example is the A8+A8 PictOpt on NV1x , we already talked about in earlier issues. When jma returned to our channel ahuillet took advantage and offered some patches to try out. The results were not much better than what was there before. Basically font rendering is totally broken.

After some discussion with marcheu it seems as if A8 on PPC would expect a 32 bit word (4 bytes) as 03040102 instead of 04030201 which we are currently using. The option to change the byte order accordingly didn't fit well with ahuillet, who complained that the code for the register combiner would get much more complicated than it is currently. We will see what comes out of it. Using a software fallback would be doable but would have a hard impact on rendering performance with AA fonts.

Most work during the last weeks was done on mode setting and randr1.2 code. The code evolves steadily and now often works with dual head on NV4x and to some smaller degree on NV3x. No progress on the highly annoying "NV5x doesn't switch back to text mode" problem though.

All in all stillunknown claims to finally understand how modesetting is working on NV3x and NV4x cards and he is hoping to get randr1.2 for DVI and VGA into good shape. Progress and errors have been made but more and more reports are coming in which report success although we also see regressions.

Malc0 enhanced his BIOS parser by adding missing opcodes and adding support for parsing the missing Bios Init Table (called BIT, which is NVidia's new BIOS type) All his work exposed additional info to the code using it, which helped stillunknown quite a bit.

With feedback from AndrewR, MighMoS and many others, stillunknown slowly and steadily enhanced the randr1.2 code. Finally he got reports for NV3x, NV4x that nearly everything regarding dual head clone mode was working, even if the resolutions on both screens didn't match. That holds true for both VGA and DVI outputs including hot plugging. Dual link may work on 7x00 cards. And as there were only a handful of reports, so that isn't enough to claim "it works!".

Stillunkown would still like to get some more testers for 7x00 based cards, as they prove to be somewhat problematic.

Not contempt with the result above, stillunknown decided to give accelerated rotation a try. It seems as this would be working for NV10 to NV4E _if_ it runs randr-1.2 in the first place. So more testers are needed for all aspects of Randr1.2.

So according to Stillunknown, your chances are:

<stillunknown> The odds for different cards are like this: 6xxx pretty good 7xxx and 5xxx decent
<stillunknown> geforce3/4 [is] worth trying, but requires luck
<stillunknown> geforce1/2/4mx never tested as far as I know)(**)

(**) Editor: HINT HINT HINT

See http://nouveau.freedesktop.org/wiki/Randr12 for for latest addtions.

Thunderbird used data supplied by willing testers in our channel to create a clock speed calculator / generator. It creates valid memory and GPU speed pairs within the bounds allowed by the BIOS. So we could later hopefully over-clock NVidia cards via nouveau without the fear to harm the card. (Underclocking is not a problem). Over-clocking is still a problem for cards that start up at a lower voltage. We currently don't know how to program that, and from what Thunderbird says it's *very* card-specific.

A comparison between the clocks the blob generates and Thunderbird's version showed some differences for corner cases but in most cases calculated exactly the same values as were set by the blob. But because Thunderbird doesn't want to risc hardware through wrongly computed values, he is still enhancing his code and thus, it isn't released yet.

During the last issues we often referred to Darktama's work on Gallium3D for NV4x and NV5x although we noted that this work isn't published yet. Well, it is now but before you faint because there is finally a free 3d capable for NVidia just one advice: Calm down :) Although much works, even more does not (both on our and on Gallium's end), isn't implemented or is buggy. And it isn't fast (compared to the blob) but still, it's faster than software. Currently we don't have any install documentation for that, so you are on your own. Well, seems as if Darktama has found a culprit in our code. He is sure to increase performance, but isn't finished implementing and testing the fix.

Just a few examples of what to expect:

Google Earth:

ge.png

Quake:

quake3.jpg

This one is an impossible screen shot of quake 3 Arena (demo). According to darktama the code should have hit an assertion (he did try it on his development system) with an immediate exit of the program, but AndrewR's system obviously made it thorugh somehow.

The official nouveau repository can be found here: http://gitweb.freedesktop.org/?p=nouveau/mesa.git;a=shortlog;h=gallium-0.1 Darktama is doing his own git repo which is his playground and tracks the official Gallium nearly "immediately". As Gallium itself is evolving that means the code may or may not work. Reasons may (or may not) be bugs in Gallium or buggy / not yet implemented features on our side. Sometimes Darktama is even fixing bugs in Gallium itself...

Some short topics:

3. Help needed

Stillunknown and malc0 are looking for testers of their randr1.2 related code and tools (for data extraction and comparison).

And as always, please have a look at the "Testers wanted" page for requirements coming up between our issues. http://nouveau.freedesktop.org/wiki/TestersWanted

<<< Previous Issue | Next Issue >>>


2013-03-24 13:16