DirectFB http://directfb.org/一個小型庫,提供開發(fā)者基于FrameBuffer上進行圖形加速、輸入設(shè)備處理提取、支持透明窗口和多重顯示層的整合窗口系。
對于不支持的硬件的圖形操作,其提供了一個HAL。
提供的圖形操作
矩形填充/繪圖
三角形填充/繪圖
繪線
Flat shaded triangles
(Stretched) blitting
alpha通道混合(a.k.a texture alpha)
Blending with a constant alpha blend factor (a.k.a. alpha modulation)
Nine different blending functions respectively for source and destination, so all
Porter/Duff rules are supported
Colorizing (a.k.a. color modulation)
Source color keying
Destination color keying
DirectFB有自己的顯存資源管理,諸如顯示層或輸入設(shè)備之類的資源被鎖定從而獨占訪問。
Font Provider (currently DirectFB bitmap font, TrueType via FreeType 2)
Image Provider (currently PNG, GIF and JPEG)
Video Provider (currently Video4Linux, AVI (using avifile), MPEG1/2 (using libmpeg3), macromedia flash (using libflash))
the Familiar Project
an open source Linux distro for PDAs
Compaq iPAQ h3600-series
完全基于Tiny-X server
使用Xft APIs 在rxvt、ion、blackbox、fltk下支持True-Type字體
OpenSSH
JFFS2
整合Python2.0 、PyGtk 、PyGDKlmlib
兼容DedianARM
ipkg
----------------------------------------------------------------------------------------
FBUI http://home.comcast.net/~plinius/fbui.html驅(qū)動整合進內(nèi)核
核心32KB、庫文件17KB
面板式窗口管理器 fbwm 靜態(tài)連接 46KB
傳統(tǒng)窗口管理器 fbwm 靜態(tài)連接 39KB
終端模擬器 fbterm 靜態(tài)連接 46KB
模擬時鐘 fbclock 靜態(tài)連接 34KB
JPEG/TIFFviewer fbview 靜態(tài)連接 42KB
----------------------------------------------------------------------------------------
GGI http://www.ggi-project.org/General Graphics Interface
多平臺編譯支持
快速、抽象、動態(tài)組件、高度優(yōu)化
子項目包括設(shè)備驅(qū)動子系統(tǒng),可擴展用戶空間API庫構(gòu)架、輸入設(shè)備管理
----------------------------------------------------------------------------------------
GPE GPE Palmtop Environment
http://gpe.handhelds.org/GPE掌上電腦環(huán)境
X window system, gtk+ widgets
可以交互SQL、XML
GPL、LGPL
----------------------------------------------------------------------------------------
GtkFB http://developer.gnome.org/doc/API/2.2/gtk/gtk-framebuffer.html來源于GIMP項目
Gtk+ 2.0已可以直接對framebuffer進行著色,而非傳統(tǒng)的使用Xwindow system,即使用FrameBuffer訪問顯卡,無需搭配一個Xserver
相關(guān)庫:
基本數(shù)據(jù)類型-Glib
支持不同字型文字處理庫-Pango
圖片文件格式-libpng、libjpeg、libtiff
FrameBuffer port-FreeType庫
整合后即為gdk-pixbuf、gdk、gtk三個庫
gdk-pixbuf 處理圖片影像的庫
gdk 視窗繪圖系統(tǒng)的抽象層,framebuffer的處理
gtk 高級用戶界面
幾乎所有FB功能代碼都包含在gdk中,稱為通用gtk代碼;有一些FB功能代碼包含在gtk中用來管理窗口。
GtkFB shared lib 2MB
FreeType lib 202KB
libjpeg 138KB
libpng 126KB
memory mapped statistics:
Arial font -- 72KB
local info -- 112KB
libc code -- 1444KB
binary -- 120KB
heap -- 836KB
stack -- 24KB
采用動態(tài)連接DL的RSS大小(使用的所有物理大?。?.4MB,靜態(tài)連接SL的為2.5MB;
DL虛擬內(nèi)存總大小為6.6MB,進程間共享2.3MB;
SL的為5.2MB,共享的為1.7MB;
gdk庫有三個基本任務(wù)
繪圖、處理交替窗口、產(chǎn)生事件。gdk核心很像Xwindow系統(tǒng),事實上其使用了一個經(jīng)修改的X庫-libmi。交替窗口處理是指在一個窗口樹中,確定在哪個窗口上進行操作。事件產(chǎn)生是通知gdk用戶輸入、窗口重繪。它是X產(chǎn)生的一個子集。因為gtk不需要所有X發(fā)出事件及其信息。
當程序連接了GtkFB,其最先調(diào)用gtk_init()運行。同時,GtkFB打開FB設(shè)備(選擇想要的分辨率和位深),鍵盤,鼠標,觸控屏。然后到指定目錄去讀取字型,繼續(xù)初始化window和事件系統(tǒng)。
GtkFB內(nèi)建了普通鍵盤及鼠標的驅(qū)動,包括觸控屏,當然添加其他的也是很容易的。GtkFB不使用硬件加速,但支持。
缺點:
不支持多進程,不適合設(shè)計大型系統(tǒng)。
如果GTK+程序中使用 direct X 調(diào)用,由于其不備GtkFB支持,所以需要修改。
由于對硬件加速代碼很難寫,所以其在大型系統(tǒng)上運行很慢。
不支持對功能還有:network transparency、DGA、多屏幕、Xv擴展、Xrender擴展。
通過以下命令可以編譯相應部分,當然也可以讓binaries變得更?。?
glib
./configure --enable-debug=no --disable-mem-pools=yes
pango
./configure --enable-debug=no --with-included-modules=yes
gtk+
./configure --enable-debug-no --with-gdktarget
=framebuffer --disable-shadowfb --disable-modules--with-included-loaders=xpm,png,jpeg
----------------------------------------------------------------------------------------
MatchBox http://projects.o-hand.com/matchbox/Simple flexible XML themes
Tniy-X server
使用在GPE、Tuxscreen phone項目中
采用的硬件有Sharp Zaurus, Psion 5mx...
注:Tuxscreen phone
a limited edition StrongARM Linux project platform
http://www.tuxscreen.net/----------------------------------------------------------------------------------------
Microwindow Greg Haerr創(chuàng)建,前身為Nano
特點:提供Win32/WinCE API,便于平臺間移植。
其最底層的為一些鍵盤、觸控屏等的I/O驅(qū)動,中間層為一些基本的繪圖函數(shù)及色彩模型,上層為窗口的API,即Win32/Wince的GDI、Nano-X API。
不需要Xserver
256KB~512KB
slides:
http://www.linuxdevices.com/files/elecjun00/haerr/----------------------------------------------------------------------------------------
MiniGUI www.minigui.com 魏永明創(chuàng)建
最初以SVGALib and PThread為基礎(chǔ),現(xiàn)在包括了圖形抽象層,輸入抽象層,多國語系-ISO8859、GB2312、BIG5、EUCKR、UJIS,多種字型TrueType、Adobe Type1。
分為多線程版MiniGUI、和 單線程MiniGUI Lite版
----------------------------------------------------------------------------------------
NxZilla http://nxzilla.sourceforge.net/包括的項目:
goanna--定制的Mozilla 嵌入版本
rdesktop--win下的RDP客戶端
NxZilla--一套允許Mozilla使用Nano-X server的庫
xilla--使nanozilla不再依靠諸如gtk等第三方工具組件和Xlib函數(shù)缺陷的移植項目(nanozilla是NxZilla的前身,嵌入式瀏覽器)
mailcrypto--Mozilla的一個插件,使用戶可以使用GnuPG(GNU Privacy Guard)提供的加密功能
oji--一個mozilla的開放Java接口-OJI,使kaffe在Html頁面中可執(zhí)行applets。
xpdfplugin--不說也明白的插件
rdesktop-nanox--RWin的一個版本,使用Nano-X繪圖,支持KB/M輸入
rdesktop-xlib--RWin的一個版本,使用Xlib繪圖,KB/M輸入
----------------------------------------------------------------------------------------
OpenGL ES OpenGL嵌入式子項目
詳細介紹
http://www.khronos.org/opengles/#framework
站點
http://www.khronos.org/cgi-bin/ubb/ultimatebb.cgi?category=3介于硬件和軟件之間的輕量級低級別API
組成:
全3D管線的3D核心子集;
反鋸齒文本幾何圖形的2D核心子集;
光柵圖像處理的核心圖像子集;
對所有硬件本地API增加功能的組庫
----------------------------------------------------------------------------------------
OpenGUI http://www.tutok.sk/fastgl/提供簡單的2D制圖和事件驅(qū)動窗口API
支持bmp
其構(gòu)建在用x86匯編所寫的快速的圖形內(nèi)核之上的高級別C/C++圖形窗口庫,支持MMX
支持Borland BGI風格和QT風格的窗口
LGPL
大部分庫支持FrameBuffer
OO多平臺API (DJGPP、WATCOM、Linux、QNX)
全應用程序開發(fā)構(gòu)架
圖形庫的組成:
三個層
匯編內(nèi)核層
基本圖形的繪制層API
C++,窗口、按鈕、菜單,位圖繪制的GUI實現(xiàn)層
----------------------------------------------------------------------------------------
PicoGUI http://picogui.org/特點:
widgets和繪圖引擎內(nèi)建于server
C/S構(gòu)架
模塊化--視頻、輸入、網(wǎng)絡(luò)子系統(tǒng)可以在編譯時被置換
目標是為PalmOS整合Xwindows的簡易和速度
去掉ELF二進制映像文件后,大小為100KB。
----------------------------------------------------------------------------------------
QT/E http://www.trolltech.com/download/index.html嵌入版的API基本和Qt/Windows、 Qt/X11相同,但不需要使用X11。
特點:跨平臺,面向?qū)ο?
PAD解決方案:Qt plamtop environment
800KB~3MB
----------------------------------------------------------------------------------------
SDL http://www.libsdl.org/index.phphttp://www.libsdl.org/intro.cn/toc.htmlSimple DirectMedia Layer
free multimedia API,cross platform
快速存取圖形framebuffer、音頻設(shè)備
《文明》即采用其移植
支持Linux、Win32、BeOS、MacOS、Solaris、IRIX、FreeBSD
底層用C實現(xiàn),用戶層用C++實現(xiàn);并捆綁了多種語言:Perl、Python、ML、Eiffel
----------------------------------------------------------------------------------------
TinyX http://xfree86.org Tiny X server即Xfree86的簡化版,Keith Packard創(chuàng)建
1MB~3MB
----------------------------------------------------------------------------------------
ViewML Viewable Markup Language
http://www.microwindows.org/ViewMLDesign.html嵌入式linux開源瀏覽器
需要760KB-2.1MB RAM
其采用KDE下設(shè)計出眾、顯示性能良好的kfm Html顯示引擎。
移植引擎時,采用了thin glue layer ,使用小而快的FLTK應用程序架構(gòu)。
運行于Microwindows下
注:thin glue layer
http://www.linuxdevices.com/articles/AT5848940287.html----------------------------------------------------------------------------------------
WML Browser Wireless Markup language
http://wmlbrowser.mozdev.org/http://www.wmlscript.de/Referenz/Libraries/WmlBrowser.html無線因特網(wǎng)瀏覽器
核心部分是binary WML decoder
特點:
基于FrameBuffer上實現(xiàn),可運行于許多協(xié)議棧上,諸如:WAP、http、https
使用不同的User Agent profile ,如phone、pda、appliances
實現(xiàn)WAP 的所有可選功能
IPv4、IPv6、藍牙、紅外傳輸
WMLScript、WML content
plugable content arch
WTLS and Certificates
----------------------------------------------------------------------------------------
"Commercial" Embedded Linux Graphics System Software
----------------------------------------------------------------------------------------
Metro-X http://www.lynuxworks.com/partners/show_product.php?ID=83 NetFront Browser http://www.access-netfront.com/Access Systems Amerian. Inc.
主要開發(fā)地為USA和Japan
支持的設(shè)備生產(chǎn)商很多,如NTTDoCoMo、Sega、Nintendo等
Japan廠商。主要用于TV、PDA、STB、CarNavigationSystem、SmartPhone、Web/screenPhone、VerticalIntranet terminal、Video game console、dedicated word processor、Internet kiosk
特點:
大?。捍a小于270KB,執(zhí)行RAM 2MB
支持Html、Frames、javascript、cookies、web printing、多語言兼容
可裁減的插件有:Mail、SSL、JVM...
支持的處理器有:ARM core、StrongARM core、Hitachi SH、PowerPC、MIPS core、Mitsubishi M32R/D
SDK有兩個配置版本:
使用GTK+的Xwindow版本、使用SDL的非Xwindow版本
組件包括:
NetFront brower kernel、一個簡單的UI模塊、PIM組件、
Internet Mail模塊、一個簡單的對等接口層庫、
圖形層(GTK/SDL),可選的有AVE-SSL,SSL 模塊
----------------------------------------------------------------------------------------
ANT Fresco Browser http://www.antlimited.com/products/fresco.htm主要針對交互式TV、消費電子、嵌入設(shè)備,源碼發(fā)放
支持HTML、javascript擴展、Flash、SSL、預測文本輸入、Agfa和Bitstream高質(zhì)量反鋸齒字體移植容易
----------------------------------------------------------------------------------------
PIXIL http://embedded.centurysoftware.com/pixil/pixil_pda11.php高級互聯(lián)網(wǎng)設(shè)備、無線通信、網(wǎng)絡(luò)、web瀏覽、電源管理、GUI
基于嵌入式Linux開放標準的完全整合構(gòu)架,可以開發(fā)商耗時耗錢的組件整合,并確保特定應用易于使用、兼容和維護
PIXIL OE
PIXIL open Enviroment
Century開發(fā)商已針對特定嵌入式設(shè)備進行了優(yōu)化。MicroWindows系統(tǒng)內(nèi)置于PIXIL解決方案核心中的smart flat panels
以源碼的方式自動創(chuàng)建framebuffer,X11,交叉編譯環(huán)境。
支持的硬件:StrongARM、MIPS、PPC、SH、x86包含的組件有:
Microwindows、ViewML
FLNX-PDA -- a flat-style custom modified FLNX
NxScreentop--a screentop and window manager, complete with backlight control, a clock, and input method launchers
NxTerm--終端模擬器
NxClock--模擬時鐘
NxBill--XBill的Microwindows版本
Doom Game
計算器
Screen calibrator
手寫識別軟件
彈出式鍵盤
PIXIL遵循GPL和PIXIL商業(yè)協(xié)議
GPL下的當然以源碼方式發(fā)布
商業(yè)版可參看公司相關(guān)協(xié)議
功能:
PIXIL PIM、PIXIL Desktop
PIXIL Internet Connectivity --ViewML Browser 、Email client
PIXIL Applications --MP3 player 、Voice recorder 、Terminal emulator 、Calculator
PIXIL SDK
Desktop Emulation and Development --包括一個軟件模擬器,用來模擬目標設(shè)備運行環(huán)境。
PIXIL SDK Components --
完全的源碼、makefile、build環(huán)境
all runtime binarity
完整的開發(fā)工具鏈
所需庫文件
目標平臺桌面開發(fā)模擬器
FLNX 2D、3D 、TV widgets 組件集
支持平臺
Applied Data Systems Graphics Client Plus
Compaq iPAQ
Intel Assabet
National Semiconductor SP3GX01 WebPAD Reference Platform
National Semiconductor SP4SC30 Thin Client Development Board
National Semiconductor SP4GX10 Thin Client Development Board
PIXIL綁定組件集
目標設(shè)備的開發(fā)工具整合
PIXIL PDA--包括OE、PIM suite 、e-mail client、web browser、多媒體app,內(nèi)建了Microwindows
PIXIL PAD--包括Linux kernel、screentop、app manager、net browser、多媒體app...
PIXIL thin client--
Citrix ICA and Microsoft RDP client
Internet browser: HTML, CSS, javascript, Flash, Real Audio/Video
Linux kernel
技術(shù)特點:
32 MB minimum RAM / Flash
Ethernet, 802.11b
Client-side audio support
Local USB support
Samba and NFS Support
Font and RGB server support
Screen resolution up to 1280x1024
Multi protocol, multi client, and multiple server session support
CompactFlash and DiskOnChip
Local window manager with virtual Windows desktop
remote window manager and XDM
Multi language support
----------------------------------------------------------------------------------------
Espial Suite http://www.windriver.com/cgi-bin/partnerships/directory/viewProd.cgi?id=882windriver
純Java應用層,JVM運行于設(shè)備棧頂層
套件包括
Espial DeviceTop graphical OSGi client
http://www.linuxdevices.com/products/PD6340767984.htmlEspial Escape web browser
http://www.linuxdevices.com/products/PD5203952494.htmlEspial Ebox email client
http://www.linuxdevices.com/products/PD7904716349.htmlEspial Esdivsso lightweight GUI toolkit
http://www.linuxdevices.com/products/PD9895797586.html----------------------------------------------------------------------------------------
NetClue: Clue WBC browser http://www.netcluesoft.com/desktop/desktop.php3?sub=products純Java,非常緊湊,模塊化設(shè)計,平臺無關(guān)
支持Unicode國際字符
smooth scrolling
流線型顯示
web打印
定制化的UI
WAP、HTML、XML、HTTP、CSS、DOM、cookies、JSP、java applets
----------------------------------------------------------------------------------------
LinuxPEG Portable Embedded GUI Vendor: Swell Software
http://www.swellsoftware.com/Linux.htmlLinuxPEG是popular PEG library的派生,針對嵌入式系統(tǒng)。
為現(xiàn)在POSIX 多線程嵌入式Linux可以應用在LCD、Video顯示商。
特點:
版權(quán)自由,無版稅,提供free demo
small footprint
完全C++源碼
支持流行的目標處理器、視頻控制器、I/O設(shè)備
易于移植
容易縮減開發(fā)時間
業(yè)界領(lǐng)先的多語言支持開發(fā)
開發(fā)工具包括:
WindowBuilder可視化設(shè)計工具
FontCapture嵌入字體產(chǎn)生器
ImageConvert ROMable
----------------------------------------------------------------------------------------
Qtopia Qt-based mobile palmtop environment
Vendor: Trolltech
基于Qt/E
主要應用: Sharp Zaurus SL-5500 PDA
信息管理、Internet連接、娛樂、synchronization across multiple desktop OS。
Qtopia支持Windows、Mac、Unix、Linux,源代碼只需要重編譯即可運行。
6~8MB 包括OS在內(nèi)的ROM
-------------------------------------------
注:基本圖形系統(tǒng)構(gòu)成
初級的繪圖函數(shù)庫Glib,往上組合成基本視窗組件widgets;然后由此寫出WM;
Widget窗口構(gòu)架部分
GTK、FLTK、QT、wxWindows
GTK
http://www.gtk.org/FLTK
Fast Light Tool Kit
http://www.fltk.org/http://www3.telus.net/public/robark/wxWindows
http://www.wxwidgets.org/embedded.htm