Concentrating on NV4x helped Nouveau do the impressive demos at LCA and FOSDEM but left NV50 in the cold. When Darktama changed his NV40 for a NV30 to help pmdata out with his init problems, he unfortunately broke his NV40. So faced with the option to work on either NV30 or NV50 he chose NV50 and tackled the 3D engine. After some hard work, he found out that the 3D engine refuses to render to linear surfaces and the only way to make them tiled is to use some flags in the GPU page tables.
First thing he got working are buffer clears. Next thing he adapted was the DRM. A change there prevents GPU channels from directly accessing VRAM. They now go through the virtual memory system of the card. This is a necessary step towards supporting the tiled surfaces that are required for 3D.
Next thing is trying to get triangles to render. This however, needs some complicated changes in the Nouveau DRM. It is expected that the beginnings of Gallium support will come before EXA composite, as we will need to force all pixmaps to be tiled, and dealing with software fallback cases could be tricky. Gallium is easier as there should be far fewer software fallbacks. Rendering is always done to a private buffer (even when rendering to the "front buffer") and blitted to the real front buffer, it's hoped the NV50 2D engine is able to perform a blit from a tiled surface to an un-tiled surface. This is not yet known however.
Finally, a short assortment of topics:
- Marcheu is finished with his Gallium NV10 driver prototype
and pushed it into the repository. Now it up to other to pick up from there.
- pq has posted his MMioTrace patch for kernel inclusion for review (current 2.6.25 rc). Please help him by testing MMioTrace on your box, if you can.
- Some more causes of PPC lockups were found and fixed.
- Since some time pq had some problems with AGP transfers (mainly ImageFromCpu). Those were identified and hopefully fixed.
- After the init problems on NV30 were finally solved, pmdata started to work on Gallium3D for NV30 and somewhat got scared by the shader stuff. He is considering moving to NV10.
- Additionally, p0g is at it again, working on NV20
As always look on our testers wanted page.
pq needs your help with testing newest MMioTrace. Please do only apply if you are using a recent 2.6.25 rc kernel version. SMP testers are welcome too!
Stillunknown looks for NV5x testers to verify that his code clean up didn't break anything else. And if you could come up with MMioTraces of the blob switching to / from text console, that would be helpful too. Please ask pq, stillunknown or malc0 for advice.
I think we didn't mention it for the last issues, but we will happily accept additional developers. Please apply in case the current status for a certain card or feature that annoys you :).
And last but far from least: Please do test Randr1.2 with Nouveau. We will switch it to default soon if no further problems crop up. Please remember: If you don't test cute kittens will die!
Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.