03/07/2008

A better frame buffer driver for Android Zaurus

I studied Brilliant Service's mxcfb.c patch more carefully.
o Android Zaurus: Android on Armadillo - Patch for frickering

An interesting thing is set_par() returns immediately and set_par_init() is introduced. I contacted Brilliant Service and they kindly told me that FBIOPUT_VSCREENINFO in fbmem.c calls set_par() all the time. Then I looked into pxafb.c and found a bit of hardware access in set_par(). It would be problematic.

And there is another possibility of improvement. With the last patch, frame buffer is flipped between two buffers. Changing calculation of DMA address could make it dot by dot panning.

Anyway, I quickly modified the code and it works for me.
o pxafb-patches.tar.gz

Scrolling in web pages becomes way faster. And some issues in updating display are gone. I had problems in navigating on Home menu. First I thought key event issue but turned out to be display updating issue.

The tar file has two patch files.
o pxafb-doublebuffer.patch: patch against vanilla kernel (2.6.23.14)
o pxafb-oe-doublebuffer.patch: patch against OpenEmbedded linux-rp-2.6.23

pxafb-oe-doublebuffer.patch gives better idea how the implementation is. pxafb-doublebuffer.patch can be actually applied as a patch to vanilla kernel driver.

Cheers,
posted by 安藤恐竜 at 19:01 | Comment(0) | TrackBack(0) | 日記

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。