如何編譯DirectFB?

2021-08-20 12:33:44 字數 2299 閱讀 6128

隨著網路的迅速發展,並不斷在家庭領域中擴充套件,使得消費電子、計算機、通訊(3c)一體化趨勢日趨明顯,嵌入式系統成為研究與應用的熱點。嵌入式實時

linux

作業系統以**低廉、功能強大又易於移植而正在被廣泛採用,成為新興的力量,如今隨著

wappc

機才擁有的華麗美觀的

gui。

gui已經成為了人與機器溝通的橋梁,嵌入式系統對

gui的需求越來越高,而這一切均要求有乙個輕型、占用資源少、高效能、高可靠、可配置及美觀的

gui支援。

gui系統涉及很多影象運算,比如畫點、畫線、填充、透明度處理、平滑度處理、層的疊加、字型處理、貼圖等等。如果這些運算都由

cpu來處理,那這將是對

cpu的乙個很大的負載。

近兩年嵌入式裝置主晶元越來越多的嵌入了2d/3d加速功能,由此軟體可以搭建越來越複雜、炫酷、先進的桌面系統,如

qt/android

等。這些加速硬體,通常也因其是否擁有私有記憶體、是否支援

3d、加速介面是否可程式設計等特性而分為三六九等。硬體的加速功能如果要在目標

gui系統中跑起來,還得需要一些軟體中間層為不同的硬體加速提供同一的介面,並且為上層

gui提供服務。

directfb就是這樣乙個軟體中間層

,專門針對linux圖形庫設計的圖形加速中間層。

它的上層直接面向圖形庫比如qt、gui,提供如顯示、畫圖、輸入裝置控制等服務,它的下層直接面向gfx加速硬體,要求硬體驅動實現全部或部分預定的畫圖函式。

directfb是乙個輕量級的提供

硬體圖形加速

,輸入裝置處理特性和抽象的圖形庫,它整合了支援半透明的視窗系統以及在linuxframebuffer驅動之上的多層顯示。它是乙個用軟體封裝當前硬體無法支援的圖形演算法來完成

硬體加速

的層。directfb是為

嵌入式系統

而設計。它是以最小的資源開銷來實現最高的硬體加速效能。

我們來看一下在嵌入式系統上編譯directfb:

一、 編譯zlib1.2.8.tar.gz

1、tar xvf zlib1.2.8.tar.gz

2、cd zlib-1.2.8

3、cc=arm-none-linux-gnueabi-gcc ./configure --prefix=/home/when/work/board/1808/jcbyq/arm-2007q1/arm-none-linux-gnueabi(路徑根據自己的編譯器路徑修改)

4、make && make install

二、 編譯libpng-1.2.10.tar.bz2

1、tar xvf libpng-1.2.10.tar.bz2

2、cd libpng-1.2.10

3、cc=arm-none-linux-gnueabi-gcc  ./configure  --host=arm-none-linux-gnueabi  --prefix=/usr/local/1808/libpng --enable-shared (prefix中的路徑都要自己手動建立。以下同上)

4、make && make install

三、 編譯freetype-2.7.1.tar.gz

1、tar xvf freetype-2.7.1.tar.gz

2、cd freetype-2.7.1

3、cc=arm-none-linux-gnueabi-gcc  ./configure  --host=arm-none-linux-gnueabi  --prefix=/usr/local/1808/freetype --without-zlib

4、make && make install

四、 編譯 directfb-1.4.3.tar.gz

1、tar xvf directfb-1.4.3.tar.gz

2、cd directfb-1.4.3

3、cp /usr/local/1808/libpng/include/* include/ -r

4、cp /usr/local/1808/freetype/include/freetype2/* include/ -r

5、cc=arm-none-linux-gnueabi-gcc ./configure --host=arm-none-linux-gnueabi --prefix=/usr/local/1808/dfb --with-gfxdrivers=none --with-inputdrivers=all --enable-png --disable-tiff --enable-sdl=no --enable-gif=no --disable-x11

6、make && make install

如何編譯DirectFB?

gui系統涉及很多影象運算,比如畫點 畫線 填充 透明度處理 平滑度處理 層的疊加 字型處理 貼圖等等。如果這些運算都由cpu來處理,那這將是對cpu的乙個很大的負載。近兩年嵌入式裝置主晶元越來越多的嵌入了2d 3d加速功能,由此軟體可以搭建越來越複雜 炫酷 先進的桌面系統,如qt android等...

DirectFB的架構介紹

一 directfb簡介 directfb是乙個輕量級的提供硬體圖形加速,輸入裝置處理和抽象的圖形庫,它整合了支援半透明的視窗系統以及在linuxframebuffer驅動之上的多層顯示。它是乙個用軟體封裝當前硬體無法支援的圖形演算法來完成硬體加速的層。directfb是為嵌入式系統而設計。它是以最...

DirectFB兩則技巧

directfb 兩則技巧 directfb 的執行行為可以通過配置檔案進行控制,可以從多個配置檔案中讀出配置資訊,然後合併到一起,甚至可以對不同名稱的應用程式指定不同的配置檔案。其主配置檔案為 etc direcfbrc 它的內容影響所有使用者的應用程式。建立 pc模擬環境。directfb 和x...