下載DirectFB與樣例的源碼包:
http://directfb.org/index.php?path=Main%2FDownloads&page=0
DirectFB-1.3.0
http://directfb.org/index.php?path=Main%2FDownloads&page=1
DirectFB-examples-1.2.0
一、安裝DirectFB-1.3.0
1.下載到/huang目錄,解壓到本目錄
$sudo tar zxvf DirectFB-1.3.0.tar.gz
2.安裝
$cd DirectFB-1.3.0
$./configure
注:如果在./configure這步出現(xiàn)下面的提示:
PNG support is missing - many applications won't work correctly!
JPEG support is missing - many applications won't work correctly!
FreeType2 support is missing - many applications won't work correctly!
參考解決方法:
查找關(guān)于png方面的包: $apt-cache search libpng
安裝查找的相關(guān)包: $apt-get install libpng12-dev
$apt-cache search libjpeg
$apt-get install libjpeg62-dev
$apt-cache search libfreetype
$apt-get install libfreetype6-dev
$sudo make
$sudo make install
二、安裝DirectFB-examples-1.2.0
1.下載到/huang目錄,解壓到本目錄
$sudo tar zxvf DirectFB-examples-1.2.0.tar.gz
2.安裝
a).找到directfb.pc的路徑,讓其能找到對(duì)應(yīng)的directfb。
$updatedb -----更新數(shù)據(jù)庫(kù)
$locate directfb.pc
例如得到信息:
/huang/DirectFB-1.3.0/directfb.pc
/huang/DirectFB-1.3.0/directfb.pc.in
/usr/local/lib/pkgconfig/directfb.pc
b)接著設(shè)置環(huán)境,將上一步得到的pkgconfig庫(kù)目錄加入環(huán)境之中:
$export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
(這樣只能在當(dāng)前終端可以運(yùn)行,關(guān)機(jī)后還得自已運(yùn)行些命令,才能運(yùn)行dfb程序,如 要永久性加入可這樣:
如你用的是root用戶(hù),可以$vi /root/.profile中加入:
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig )
c)$cd DirectFB-examples-1.2.0
d)$./configure
e)$.sudo make
f)$sudo make install
g)指定directfb的庫(kù)目錄:
$sudo vi /etc/ld.so.conf在最后一行加入:/usr/local/lib,保存退出。
$ldconfig
h)到目錄/usr/local/bin或/huang/DirectFB-examples-1.2.0/src下測(cè)試樣例
$cd /huang/DirectFB-examples-1.2.0/src
$sudo df_andi
這時(shí),如果通過(guò)的話(huà)會(huì)得到不美觀(guān)的全屏顯示畫(huà)面(因?yàn)閳D形system默認(rèn)用fbdev引擎), 若要得到美觀(guān)的自定義的畫(huà)面在下一步給出。
注意:如果沒(méi)有通過(guò)且出現(xiàn)錯(cuò)誤提示:
(*) DirectFB/Core: Single Application Core.
(!) Direct/Util: opening '/dev/fb0' failed
--> No such device
(!) DirectFB/FBDev: Error opening framebuffer device!
(!) DirectFB/FBDev: Use 'fbdev' option or set FRAMEBUFFER environment variable.
(!) DirectFB/Core: Could not initialize 'system_core' core!
--> Initialization error!
df_andi.c <462>:
(#) DirectFBError [DirectFBCreate( &dfb )]: Initialization error!
上面過(guò)程中可能出現(xiàn)framebuffer沒(méi)有啟動(dòng)的問(wèn)題,需要在ubuntu中配置以讓其啟動(dòng)f ramebuffer支持。
參考以下方法:先重啟計(jì)算機(jī),不行的話(huà)進(jìn)行下面操作。
首先,編輯你的 /etc/initramfs-tools/modules 文件
加入如下三行內(nèi)容
fbcon
vesafb
vga16fb
最重要的一步,要把文件/etc/modprobe.d/blacklist-framebuffer里面的vesafb和vga16fb 這兩行給注釋掉。
這樣就可以在內(nèi)核后面加入vga=xxx這樣的啟動(dòng)參數(shù)了。
最好用$hwinfo --framebuffer先看一下顯卡支持的vga數(shù)值
$sudo hwinfo --framebuffer
參考:在內(nèi)核后面加入了vga=0x0317,是1024x768的16位色。
最后刷新一下代碼:
$sudo update-initramfs -u
重啟
安裝完成。
三、運(yùn)行樣例
1.創(chuàng)建配置文件
$sudo vi /usr/local/etc/directfbrc
寫(xiě)進(jìn)參考參數(shù):
system = x11
設(shè)定使用的圖形系統(tǒng)為x11。默認(rèn)使用Linux frame buffer (fbdev)。
wm = default
設(shè)定窗口管理層,默認(rèn)default(0)。
mode = 640x480
設(shè)定默認(rèn)的屏幕顯示。如果不設(shè)定,DirectFB將使用/etc/fb.modes 的 第一個(gè)設(shè)定 值。一些frame buffer設(shè)備(如 vesafb)不支持模式切換,而只能使用啟動(dòng)時(shí) 設(shè) 定的值。
scaled = 640x480
設(shè)定主窗口。
depth = 32
使用二進(jìn)制位數(shù)設(shè)置每像素默認(rèn)的像素深度。如果沒(méi)有指定,DirectFB將 使用 /etc/fb.modes 里面的第一個(gè)指定的深度值。DirectFB支持8, 15, 16, 24和32位的顏 色深度(color depths),這些值依賴(lài)于你使用的frame buffer設(shè)備是否支持。一些 frame buffer設(shè)備(如: vesafb)根本就不支持模式切換,只能使用在啟動(dòng)時(shí)設(shè)定 的像素深度值。
pixelformat = RGB32
設(shè)置默認(rèn)的像素格式。和上面描述的深度參數(shù)類(lèi)似但允許更精細(xì)的控制。Pixelformat的值可以為LUT8, RGB332, RGB16, RGB24和RGB32。一些設(shè)備可能還支持更奇怪的A8, ALUT44, ARGB, ARGB1555, I420, UYVY, YUY2和YV12像素格式。
mouse-protocol = IMPS/2
為一個(gè)串口鼠標(biāo)指定使用的協(xié)議。以下的協(xié)議被支持:
MS 使用微軟鼠標(biāo)協(xié)議的兩個(gè)按鈕的鼠標(biāo);
MS3使用擴(kuò)展的微軟鼠標(biāo)協(xié)議的三按鈕鼠標(biāo);
MouseMan使用一種Logitech開(kāi)發(fā)的另一種擴(kuò)展的微軟鼠標(biāo)協(xié)議的三按鈕的鼠標(biāo);
MouseSystems 廣泛使用的三按鈕鼠標(biāo)。
串口鼠標(biāo)所使用的協(xié)議的詳細(xì)信息可參考相關(guān)資料。
bg-color = 00FFFF
控制背景的顏色。顏色的值為十六進(jìn)制值。默認(rèn)的alpha值為完全不透明并可能被 忽略。例如,設(shè)定背景色為紅紫色(magenta),可以使用bg-color=FF00FF。
具體參數(shù)可以參考http://www.directfb.org/docs/directfbrc.5.html
或http://blog.chinaunix.net/u3/104335/showart_2061486.html
或者在終端上查看
$man directfbrc
2.運(yùn)行
$sudo df_andi
看到:

如果這時(shí)還是得到不美觀(guān)的全屏顯示畫(huà)面的話(huà),檢查x11是否已經(jīng)安裝。
3.檢查x11包
$./configure --enable-x11=yes 如果看到?jīng)]支持x11,需要安裝。
4.安裝x11
$apt-cache search x11
$apt-get install xorg-dev
5.重新運(yùn)行
ai011h
2011-02-15