The new radeonfb available in kernel 2.6.9 doesn't give DirectFB the information it needs on accelerators. Thus DirectFB uses software rendering even though you're using radeonfb instead of vesafb. You can use the old radeonfb drivers (which I seem to remember don't support 9600 out-of-the-box) but with small modifactions (I think only adding a PCI entry for the card) you'll get hardware acceleration with radeonfb. I tried modifing the new radeonfb sources to give DirectFB its needed info, but to no avail - I didn't really know what I was doing anyways ;)
I'm eagerly awaiting the new radeonfb to change and better radeon support in DirectFB. BLiT and other features which are implementented are quite fast! can't remember any numbers but..
Unless you're familier with programming this stuff and have a great deal of time to spare, you're probably better off just to waiting (and maybe nagging developers of the drivers ;)


mvh Hallvar Helleseth

Olaf Leidinger wrote:

Hello!

I played a bit with different kernel-framebuffer drivers on linux. My
video card (Radeon 9600) is supported by both radeonfb and vesafb. I
tried radeonfb (new version, as it is in Linux-2.6.9) and vesafb-tng [1]
(new version, in gentoo-dev-sources) which supports higher resolutions
and on-the-fly video mode switching.

I did some benchmarking with df_dok (@ 1024x768) using the latest
CVS-version:


32 Bit:

Radeonfb:

Benchmarking with 256x256 in 24bit mode... (32bit)

Anti-aliased Text                  3.051 secs (  30.678 KChars/sec)
Anti-aliased Text (blend)          3.057 secs (  15.309 KChars/sec)
Fill Rectangles                    3.086 secs (  57.338 MPixel/sec)
Fill Rectangles (blend)            4.292 secs (   1.526 MPixel/sec)
Fill Triangles                     3.030 secs (  57.316 MPixel/sec)
Fill Triangles (blend)             4.278 secs (   1.531 MPixel/sec)
Draw Rectangles                    3.002 secs (  24.183 KRects/sec)
Draw Rectangles (blend)            3.034 secs (   1.087 KRects/sec)
Draw Lines                         3.004 secs ( 105.525 KLines/sec)
Draw Lines (blend)                 3.029 secs (   5.612 KLines/sec)
Fill Spans                         3.088 secs (  57.301 MPixel/sec)
Fill Spans (blend)                 4.295 secs (   1.525 MPixel/sec)
Blit                               3.091 secs (  57.245 MPixel/sec)
Blit colorkeyed                    3.032 secs (  69.167 MPixel/sec)
Blit destination colorkeyed        4.143 secs (   1.581 MPixel/sec)
Blit with format conversion        3.089 secs (  57.283 MPixel/sec)
Blit from 32bit (alphachannel b.)  4.342 secs (   1.509 MPixel/sec)
Stretch Blit                       3.527 secs (  57.601 MPixel/sec)
Stretch Blit colorkeyed            3.579 secs (  69.370 MPixel/sec)

Vesafb:

Benchmarking with 256x256 in 24bit mode... (32bit)

Anti-aliased Text                 3.078 secs (   31.578 KChars/sec)
Anti-aliased Text (blend)         3.015 secs (   15.522 KChars/sec)
Fill Rectangles                   3.086 secs (   57.338 MPixel/sec)
Fill Rectangles (blend)           4.261 secs (    1.538 MPixel/sec)
Fill Triangles                    3.030 secs (   57.316 MPixel/sec)
Fill Triangles (blend)            4.242 secs (    1.544 MPixel/sec)
Draw Rectangles                   3.001 secs (   24.191 KRects/sec)
Draw Rectangles (blend)           3.046 secs (    1.116 KRects/sec)
Draw Lines                        3.006 secs (  105.788 KLines/sec)
Draw Lines (blend)                3.100 secs (    5.806 KLines/sec)
Fill Spans                        3.089 secs (   57.283 MPixel/sec)
Fill Spans (blend)                4.262 secs (    1.537 MPixel/sec)
Blit                              3.091 secs (   57.245 MPixel/sec)
Blit colorkeyed                   3.029 secs (   69.235 MPixel/sec)
Blit destination colorkeyed       4.100 secs (    1.598 MPixel/sec)
Blit with format conversion       3.089 secs (   57.283 MPixel/sec)
Blit from 32bit (alphachannel B.) 4.309 secs (    1.520 MPixel/sec)
Stretch Blit                      3.526 secs (   57.617 MPixel/sec)
Stretch Blit colorkeyed           3.578 secs (   69.389 MPixel/sec)


24 Bit:

radeonfb 24 bit corrupts my screen on booting...

vesafb:

Benchmarking with 256x256 in 24bit mode... (24bit)

Anti-aliased Text                 3.229 secs (   12.263 KChars/sec)
Anti-aliased Text (blend)         3.030 secs (    5.940 KChars/sec)
Fill Rectangles                   3.010 secs (   76.204 MPixel/sec)
Fill Rectangles (blend)          12.061 secs (    0.543 MPixel/sec)
Fill Triangles                    3.029 secs (   75.726 MPixel/sec)
Fill Triangles (blend)            5.990 secs (    0.547 MPixel/sec)
Draw Rectangles                   3.003 secs (   20.546 KRects/sec)
Draw Rectangles (blend)           3.193 secs (    0.469 KRects/sec)
Draw Lines                        3.006 secs (   86.161 KLines/sec)
Draw Lines (blend)                3.037 secs (    2.634 KLines/sec)
Fill Spans                        3.009 secs (   76.229 MPixel/sec)
Fill Spans (blend)               12.061 secs (    0.543 MPixel/sec)
Blit                              3.026 secs (   75.801 MPixel/sec)
Blit colorkeyed                   3.000 secs (   83.012 MPixel/sec)
Blit destination colorkeyed       3.000 secs ( 46406.041 MPixel/sec)
Blit with format conversion       3.013 secs (   76.128 MPixel/sec)
Blit from 32bit (alphachannel b.) 12.110 secs (    0.541 MPixel/sec)
Stretch Blit                      3.238 secs (   76.675 MPixel/sec)
Stretch Blit colorkeyed           3.436 secs (   72.257 MPixel/sec)


"Blit destination colorkeyed" is very high here. I did it two times to ensure that this is not a temporary error - but the values are the same. Alpha-channel operations are noticable slower here...

But in fact both framebuffer drivers seems to behave equal.

The latest "stable"  version shows different results:

Benchmarking with 256x256 in 24bit mode... (24bit)

Anti-aliased Text              3.208 secs (   14.588 KChars/sec)
Anti-aliased Text (blend)      3.062 secs (    5.878 KChars/sec)
Fill Rectangles                3.006 secs (  263.800 MPixel/sec)
Fill Rectangles (blend)       12.029 secs (    0.544 MPixel/sec)
Fill Triangles                 3.002 secs (  200.843 MPixel/sec)
Fill Triangles (blend)         5.975 secs (    0.548 MPixel/sec)
Draw Rectangles                3.001 secs (   29.523 KRects/sec)
Draw Rectangles (blend)        3.010 secs (    0.465 KRects/sec)
Draw Lines                     3.004 secs (  121.504 KLines/sec)
Draw Lines (blend)             3.055 secs (    2.618 KLines/sec)
Fill Spans                     3.004 secs (  261.794 MPixel/sec)
Fill Spans (blend)            12.030 secs (    0.544 MPixel/sec)
Blit                           3.018 secs (  230.179 MPixel/sec)
Blit colorkeyed                3.066 secs (   94.050 MPixel/sec)
Blit destination colorkeyed    3.000 secs ( 40859.511 MPixel/sec)
Blit with format conversion    3.009 secs (   89.297 MPixel/sec)
Blit from 32bit (alphachanne) 12.083 secs (    0.542 MPixel/sec)
Stretch Blit                   3.010 secs (  161.931 MPixel/sec)
Stretch Blit colorkeyed        3.376 secs (   73.541 MPixel/sec)

The CVS-version seems to be slower... but it was optimized the same way
(-O3 -march=athlon-xp)

What framebuffer driver do you recommend? Is it possible to use
hardware-acceleration with both drivers?

Thanks a lot,

ciao

Olaf

[1] http://dev.gentoo.org/~spock/projects/vesafb-tng/

Some system data:

********* directfbrc *******
mode=1024x768
hardware

My system:

Athlon-XP 2500 @ nforce2 with 512 MB DDR-RAM













Reply via email to