Nouveau Companion 26
Through a joint effort between Phoronix and the Nouveau project, we will now be publishing the Nouveau Companion (also known as the Irregular Nouveau-Development Companion) on Phoronix to update the progress made by these developers working on an open-source display driver for NVIDIA's complete selection of hardware from the NV0x chips to the latest models in the GeForce and Quadro series. This is the 26th edition of the Nouveau Companion which provides an updated status on the Nouveau driver with the progress being made in the areas of X-Video, video overlays for the different NVIDIA GPU series, and renouveau-parse for parsing XML dumps. These developers still need help especially with the NVIDIA GeForce 8 series hardware. We are also conducting a Q&A with the Nouveau developers so after reading this edition of the Nouveau Companion be sure to visit this thread in our Open-Source NVIDIA forum to ask any questions.
Nouveau Companion 26
This is the first version of the TiNDC which is published on Phoronix.com first. We did this for various reasons:
· Get some more coverage and perhaps attract a few more
· Get out the word of where we stand today as a project. Seems as if the TiNDC are not read as often as we would like
· More coverage would mean a better informed public which in turn would hopefully translate into more and better contributions.
What changes? Except for the site on which we publish first, nothing. Phoronix.com will publish the English version first and about 2-3 days later the Wiki version will show up including the translations.
So thanks a lot to Phoronix.com for giving us a chance to address a larger public.
So for those of you, who are reading a TiNDC for the first time: The irregular Nouveau Development companion is a free form summary of the developments going on within the nouveau project. This includes mostly the IRC #nouveau on freenode.net plus mailing list and git commits if needed. And if you prefer translated version (French and Spanish): Have a look at our Wiki, they'll appear there in a few days.
The Current Status
Most work gets currently done in 2D and from that a huge part goes into getting Xv working. Ahuillet and p0g have created register (MMIO) traces for YV12 and YUY2 and compared them against each other. From the results they filtered out the registers touched for setting up the overlay. On August 10, 2007 they finally claimed success and asked for testers. dagb created a feature matrix of what works and what we are working on... or not. You can find it on the Nouveau Wiki.
By the way, we have the following types of overlays:
· NV04/NV05 overlay does only YUY2,
· NV10+ overlay does YUY2
· NV17+ overlay does YV12
The overlay works on NV1x to NV3x and yields good performance if the videos use YV12 This format is converted on the fly to NV12 (image format) which the NVidia cards expect. That means of course, that the native NV12 overlay is working too.
The first version had a bug in the color plane upload, which resulted in problems (missing colours) if the video displaying the window was moved partly off screen. Testing the overlay with YV12/NV12 resulted in image corruption due to bandwidth limits if the video was big (at least 1024 pixels horizontally). Ahuillet and p0g supposed that this was due to the format using 2 planes. The nv Xorg driver does some trickery with the CRTC video registers which we don't understand fully. Ahuillet simply cropped the image to the parts really displayed on screen with the same result. After fixing that ahuillet and p0g turned their attention to the YUY2 format.
The NV04 overlay doesn't work because ahuillet currently has no such card, we got some offer, otherwise we'll use eBay... So we may see overlay support on NV04 too in the near future.
MJules tested on NV3x and it worked, pq tested on NV28 with out any problems either. But dcha reported image corruption on NV11 (GeForce 2 Go) which prompted investigation by p0g and ahuillet. The explanation is that < NV17 cards have no YV12 overlay, and only take YUY2. So YV12 overlay was disabled for < NV17. NV4x cards don't have an overlay but use the blitter to do the work. Ahuillet got that sped up too.