【IT168技術文檔】上班的時候,經常聽旁邊的一個專門做圖形庫的小組提起 DirectFB, 據說今後的幾年,DirectFB 將取代現有圖形庫,並且采用DirectFB + GTK形式,支持現有的很多基於GTK開源軟件。在國內的一些論壇上,比如MiniGUI.org上,也看到過他們在做 MiniGUI + DirectFB 的文章,雖然現在不知道做到什麼程度了,但是可以看出,DirectFB 還是有它的優勢的。
最近周末正好有時間,所以也想玩玩。大概的計劃是: PC機上測試 -> ARM開發板上測試 -> ARM開發板gfxdriver開發。
1. DirectFB 相關網站
DirectFB官方主頁 資料下載/文檔
DirectFB Wiki Page 很多DirectFB的文檔都可以在這裡找到
2. 開發環境
Linux: CentOS 5.1 (Kernel 2.6.18-53.el5xen)
GCC: 4.1.2
3. 下載 DirectFB 源代碼
DirectFB 提供3種形式的下載方式: git, cvs 和壓縮包。我一般使用 git, 代碼比較方便。
# git clone git://git.directfb.org/git/directfb/core/DirectFB.git
另外,出了DirectFB庫之外,如果要支持 multi application core, 還需要 fusion 內核驅動模塊;為了測試 DirectFB, 可以下載現有的測試程序:
Fusion: linux-fusion-8.0.3.tar.gz
Example: DirectFB-examples-1.2.0.tar.gz
4. 編譯和安裝 fusion
# cd ~/DirectFB
# tar zxf linux-fusion-8.0.3.tar.gz
# cd linux-fusion-8.0.3
# make
# sudo make install
創建 fusion 設備文件:
# sudo mkdir /dev/fusion
# sudo mknod /dev/fusion/0 c 250 0
# sudo mknod /dev/fusion/1 c 250 1
# sudo mknod /dev/fusion/2 c 250 2
注意:要編譯 fusion 模塊, 需要安裝內核源碼。fusion 模塊默認安裝到 /lib/modules/`uname -r`/ 下。
最新的源程序可以用 git 下載:
# git clone git://git.directfb.org/git/directfb/core/linux-fusion.git
使用這個版本的fusion 的話, 編譯 DirectFB 的時候不會提示 ../../../lib/fusion/types.h:42:2: error: #error Major version of Fusion Kernel Module too low! Upgrade your kernel. 的錯誤。
上一頁1234下一頁查看全文 內容導航