Jon Dufresne wrote:
> What is necessary for the StretchBlit call to work properly? Does this
> need to be implemented in the linux framebuffer driver, the DirectFB
> driver, or both?

The DirectFB driver.

> If I wanted to add this support to the intel driver, what would be the
> best place to start?

Ah, the Intel driver!  I am also interested in getting stretch-blit in 
this driver, so do please let me know how you get on.

Here's the story:  in the past I have made various bits of kit using 
VIA mini-ITX and similar boards (e.g. a nice digital picture frame).  
This all works fairly well using DirectFB's VIA driver, including 
stretch-blits.  Recently I decided to buy one of those new 
mini-notebooks to run the same software.  Although some are VIA based 
(i.e. the HP) most have an Intel chipset (e.g. the ASUS Eee).  The 
general net.opinion of VIA vs. Intel seems to be that VIA are not so 
Linux-friendly whereas Intel are more open i.e. their chips have 
freely-available documentation and in-kernel drivers.  So although 
buying a VIA notebook would have let me run the same code that I have 
on my mini-ITX systems, I thought that an Intel one would be at least 
as well supported.  I bought an Eee 901.

Unfortunately, I was wrong about the Intel support.  The intel chips 
are actually LESS well supported than the VIA ones.  Specifically, the 
kernel intelfb driver didn't support the chip in the Eee at all.  I've 
submitted a patch to fix that, but it still doesn't support mode 
switching on laptops; you're stuck with the mode that the BIOS chooses, 
which is not the panel's native resolution.  It also doesn't have any 
support for switching the laptop's VGA port, which was fairly important 
for my application.  The VIA drivers, although not (yet) in the 
official kernel distribution, support both of these features.  (As an 
aside, the most obvious solution to all this is to use X instead of 
DirectFB; the X driver for the intel chips is more functional.)

Then there's the question of the DirectFB support.  My understanding, 
based on an old message to this list that Google found for me, had been 
that the existing DirectFB intel driver provided no acceleration at 
all, but only video overlay functions!  I now realise that that's the 
i830 driver, and that my 945GME needs the i810 driver which does 
accelerate the basic 2D operations (right?).  (Didn't there used to be 
a table on the website somewhere showing which drivers accelerated 
which functions?  I can't find it now.)  But it's still rather academic 
as that still needs the intelfb kernel driver which I can't use.  (And 
it turns out that the processor is sufficiently fast, and the screen 
sufficiently small, that software rendering works well enough for the 
time being.  The only thing I really miss is interpolated scaling.)

Anyway, Jon do let me know how you progress with stretch-blit.  I'm far 
from a DirectFB expert but I have spent some time looking at the code, 
so I may be able to help.  I guess that basically once you know how the 
hardware has to be programmed to perform the operation, you'll just 
need to add some code to i810.c that's similar in structure to the 
existing un-stretched versions.

Regards,  Phil.



_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to