HD with Xvideo on i915GM (i810 driver)

Keith Packard keithp at keithp.com
Sun Nov 5 12:57:20 PST 2006


On Sun, 2006-11-05 at 10:42 -0800, galenz at zinkconsulting.com wrote:

> 1) For proper HD performance, you will have to compile and install  
> the drivers yourself. Most if not all distributions (even the new and  
> shiny FC6) do not ship versions that are up to date. Plan on hitting  
> their git repository to do this. You may also need to increase the  
> LinearAlloc value in your xorg.conf file for 1920x1080 (technically,  
> 1920x1088) resolution HD video to properly play.

(1088 because 1080 isn't an integer multiple of 16)

> 2) This card supports XVideo acceleration, not XvMC. Please correct  
> me if I'm wrong, but this means we're offloading scaling, color  
> conversion, etc. but nothing else. This is not the maximum amount of  
> acceleration possible, but as far as I know, Intel has not released  
> documentation on the GMA 900/950 for better acceleration. The chip is  
> capable of it and the previous generation Intel chips even supported it.

Yes, the only chip with an XvMC driver is the i810, a rather old piece
of hardware. Given our inability to ship docs, we've had to prioritize
work on hardware support, and until HDTV came along, the CPU was more
than capable of doing the rest of the decode pipeline. With HDTV
becoming commonplace, we've put XvMC support onto our schedule. Of
course, I'd love to just release the docs and let other people do this
work for us. No luck so far on that front.

> 3) My tests with a 3 GHz Intel CPU are pretty good. Basic playback  
> only eats at most, 30% of my CPU. I'm using VLC set to XVideo out,  
> but I've seen similar results with other players. This seems very  
> promising, until you start to apply de-interlacing, possibly color  
> correction. At that point, my 3 GHz Celeron is barely adequate for  
> smooth playback, and some types of de-interlacing put it over the top  
> and drop frames. 720p is absolutely no problem at all - it's lower  
> resolution and needs no de-interlacing. In all cases, scaling to full  
> screen has no impact on performance. These are tests from FC6 x86-64.

Yeah, that's what we've learned -- HDTV is right at the edge of what a
modern processor can manage. Of course, your celeron is a lot slower
than current Intel CPUs, I would expect a new Core 2 Duo machine to be
able to manage a complete video pipeline without too much difficulty. My
real reason for wanting XvMC support is just power consumption; the GPU
is a lot more efficient at this work than the CPU is. You can get micro
ATX boards for Core 2 Duo processors that include either the 945 or 965
chipset.

>  At the time I bought the machine,  
> I read the man page, it was a bit unclear and I got the impression  
> that XvMC would work with the GMA 900. 

Yes, the manual page doesn't make it as clear as it should that XvMC
isn't supported on anything but 810 and 815 chipsets. You will see that
XvMCSurfaces option is listed as only relating to the 810/815 chipsets
though.

> There is an interesting page here, although I'm not sure if their  
> Intel GMA 900/950 XvMC support bit is 100% accurate:
> http://www.mythtv.org/wiki/index.php/XvMC

No, as you can see it says that the driver supports XvMC on all Intel
hardware, which is not the case.

> If I were to do this again, I would look into Unichrome-based GPUs as  
> they have potentially better acceleration support. I've not looked  
> into them fully, but I would suggest you do before you make your  
> purchase. And let's hope Intel gets with it and releases  
> documentation or code to enable XvMC (or even better, XvMC VLD!) soon  
> and lives up to their attempts to position themselves as open and  
> appealing to open source users.

We're trying. Releasing docs would be my preference as that would be
someone else's responsibility, but failing that, we're hoping to write
XvMC support for at least the 965 sometime soon. No, I don't have a
schedule here, but it is on our list.

Btw, we've started getting TV out working in the modesetting branch of
the driver; the source code may work, but failing that, the header file
has some useful comments about how the TV encoder works which should
help anyone interested in finishing this work up.

-- 
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg/attachments/20061105/dbc07241/attachment.pgp>


More information about the xorg mailing list