Nouveau Companion 32

Written by KoalaBR in Display Drivers on 22 December 2007 at 09:21 AM EST. Page 1 of 2. 10 Comments.

A bit later than normal and probably the last issue for this year is finally here: Please welcome issue 32 :)

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

By the way, 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 three 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.

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). It seems that with Firmware 2.10 the functionality has been crippled though.

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 RandR 1.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 mode-setting is working on NV3x and NV4x cards and he is hoping to get RandR 1.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 RandR 1.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 try accelerated rotation. 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 RandR 1.2.

According to Stillunknown, the odds for different cards are like this: 6xxx pretty good. 7xxx and 5xxx decent. geforce3/4 worth trying, but requires luck. geforce1/2/4mx never tested as far as i know. (Editor: HINT HINT HINT)

See the Nouveau RandR 1.2 Wiki page for latest additions.


Related Articles