HD with Xvideo on i915GM (i810 driver)

galenz at zinkconsulting.com galenz at zinkconsulting.com
Sun Nov 5 10:42:05 PST 2006


On Nov 5, 2006, at 2:58 AM, Chad wrote:

> On 10/23/06, Alan Hourihane <alanh at fairlite.demon.co.uk> wrote:
>> On Mon, 2006-10-23 at 09:03 -0400, Ken Mandelberg wrote:
>> > Alan Hourihane wrote:
>> >
>> > > modesetting doesn't have the fixes, but in i830_video.c you  
>> have to bump
>> > > the MAX_HEIGHT to at least 1088.
>> > >
>> >
>> > Yes, I figured that out, It also requires upping "Option  
>> 'LinearAlloc"
>> > "integer' above 6144.
>> >
>> > I increased it a bit liberally, but would be interested in the  
>> 1920x1080
>> > calculation of 6144 to see how to compute the correct value for  
>> 1088.
>>
>> I can't remember how that was derived, but it should be  
>> 1920*1088*2 for
>> the frame, and then *2 again because it's double buffered, making  
>> 8160.
>>
>> I'll update the manpage.
>>
>> Alan.
>>
>> _______________________________________________
>
> Hello!
>
> Just doing a quick search before I throw down a couple hundred  
> bucks :)
>
> To recap:
>
> The 915GM chipset is capable of displaying full resolution HDTV
> (1080i) using hardware acceleration (so a 1.5Ghz Pentium M should
> suffice) using the latest and greatest driver from git (running
> Gentoo)?  The board I'm looking at:
> http://www.logicsupply.com/product_info.php/products_id/410
> Has Svideo, Composite and Component (as well as VGA) included with it,
> an added bonus I can pick up:
> http://www.logicsupply.com/product_info.php/products_id/457
> To add DVI as well.  I'm hoping to be able to output HDTV over any of
> those interfaces (though I definitely understand that Composite/S-Vid
> isn't capable of displaying HDTV, but hoping that the hardware will
> simply down res without any user interaction) using MythTV as well as
> Xine and/or Mplayer.
>
> So, is this a pipe dream, or should this work?
>
> Any info is much appreciated!
>
> Thanks!
>
> -Chad

I have a board with the GMA 900 (the GPU with the 915 chipset) and  
have learned a number of things:

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.

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.

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.

4) I have no experience with anything but VGA video output with this  
chip.

I believe that if Intel implemented full XvMC, the situation would be  
a lot better here for low end CPUs. For your application, it's a bit  
borderline. I have no doubt straight 720p or 1080i would play on your  
machine with XVideo out. I think you might run into trouble with the  
de-interlacing, however. I just am not entirely sure how the Pentium  
M compares to the Celeron D in terms of performance, nor have I  
evaluated the benefits (if any) of running my system entirely with 64- 
bit code. If you're going to be scaling down, you may be able to get  
away without any complex de-interlacing, eliminating the de- 
interlacing problem.

This is what I wish I had known before I went forward with getting  
this hardware. I think if there is another chipset that supports full  
XvMC, it would be worth looking at first, as that's obviously going  
to be even lower CPU usage. There was a discussion some time back  
with Keith Packard mentioning this. 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. It does not. Intel has not  
released documentation nor drivers, which I found very disappointing  
and almost misleading, because the reason for purchasing their  
hardware was open source support.

The only really good news I have here is that playback with XVideo -  
in every player - has been utterly flawless. None of the problems I  
hear about from NVidia users trying to use this.

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

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.

And, if I am wrong on any of the facts I've brought up, somebody  
please correct me!

-Galen



More information about the xorg mailing list