嵌入式Linux圖形系統(tǒng)快速參考手冊
(Embedded Linux Graphics Quick Reference Guide)
譯自:X Windows系統(tǒng)(XFree86或者Xorg)作為顯示界面的基礎(chǔ)(與Linux驅(qū)動(dòng)一起來控制硬件),GNOME或者
KDE作為桌面環(huán)境,瀏覽器則在FireFox,Konqueror或者Opera等功能全面的幾個(gè)瀏覽器中間選擇.
但是,這種典型的桌面Linux"桌面棧"("graphics stack")是不適合于嵌入式Linux應(yīng)用的.嵌入式設(shè)備通常有著更
受限制的資源,在內(nèi)存和存儲(chǔ)空間上對桌面圖形軟件來說,都顯得捉襟見肘。舉個(gè)例子,嵌入式設(shè)備通常只有
2-16MB的Flash ROM,4-32MB的RAM,但這些典型的桌面圖形組件都是聲名狼藉的資源消耗大戶:
X Window System : 5MB RAM, 16MB disk
GNOME : 14MB RAM, 95MB disk
KDE : 11MB RAM, 96MB disk
Mozilla : 12MB RAM, 26MB disk
這些內(nèi)存需求不僅需要錢來購買,也需要更大的電路板安裝,并且會(huì)已經(jīng)消耗更多的電源。嵌入式系統(tǒng)有著
和桌面圖形組件不一樣的需求,他們可能需要不同的定制的外觀風(fēng)格,控件,裝載速度,以及不同尋常的顯示或者
輸入設(shè)備。
為了滿足日益增長的嵌入式Linux市場的需求,許多圖形支持項(xiàng)目和產(chǎn)品也層出不窮,目標(biāo)環(huán)境包括---固定設(shè)備
便攜設(shè)備 和移動(dòng)設(shè)備,應(yīng)用范圍也從 手持消費(fèi)產(chǎn)品,比如PDA和蜂窩電話(手機(jī)),到醫(yī)療儀器,工業(yè)自動(dòng)化,以及
商業(yè)航空座艙顯示。
===開源嵌入式Linux圖形系統(tǒng)軟件===
Dillo -- Dillo 是一個(gè)非常小(小于300KB),快速,開源多平臺(tái)web瀏覽器,它完全使用C語言寫的,建立于GTK+庫之上
Dillo的高效率和對軟件庫非常小的依賴,使得它非常適合于嵌入式應(yīng)用。Dillo可以同一個(gè)嵌入式web服務(wù)器聯(lián)合起來,
可完全避免使用 窗口管理器。
DirectFB -- DirectFB 是一個(gè)非常小的程序庫,它提供給開發(fā)者以 圖形硬件加速支持,輸入設(shè)備處理和抽象,集成窗口系統(tǒng),支持半透明窗口和Linux Framebuffer設(shè)備的多重顯示層 。它是一個(gè)完全的硬件抽象層和軟件fallback為每個(gè)圖形操作
,不支持underlying 硬件。
The Familiar Project 開源的PDA Linux項(xiàng)目,是handhelds.org項(xiàng)目的一個(gè)分支,聚集了一個(gè)完整的基于Linux的PDA計(jì)算平臺(tái)的所有關(guān)鍵組件。目前的發(fā)行版包括:一個(gè)基于Blackbox的窗口管理器,Agenda Computing的基于Fltk+的PIM(個(gè)人信息管理)應(yīng)用程序,一個(gè)嵌入式Python實(shí)現(xiàn),系統(tǒng)配置和設(shè)置備份工具,OpenSSH客戶端和服務(wù)器,基于Debian的ARM內(nèi)核。
FBUI -- 非常小的GUI,駐留在linux內(nèi)核中,F(xiàn)BUI最大的特點(diǎn)就是小,然后就是精煉,再次就是它只是一個(gè)driver,第四就是
內(nèi)核驅(qū)動(dòng),不屬于用于空間。
GGI Project -- “通用圖形接口CGI“工程致力于開發(fā)一個(gè)快速,穩(wěn)定,開源的,跨平臺(tái)多媒體API系統(tǒng),完全為嵌入實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)的。GGI是快速,整潔,抽象,動(dòng)態(tài)模塊和高度優(yōu)化。
GPE Palmtop Environment -- 為palmtop/handheld計(jì)算機(jī)提供一個(gè)自由軟件GUI環(huán)境,使用X Windows系統(tǒng)和GTK+ widget toolkit
GtkFB -- 從2.0開始,GTK+開始支持直接描繪(render)給Linux Framebuffer而不是X-Windows系統(tǒng),對資源受到限制嵌入式系統(tǒng)來說,非常好,因?yàn)榧纯衫靡延械呢S富的基于GTK的應(yīng)用程序,又可避免 X Windows的系統(tǒng)消耗。
handhelds.org PDA support -- 想建立自己獨(dú)特的Linux PDA嗎?早些年,Compaq創(chuàng)建了Open Handheld Program?,F(xiàn)在iPAQ Linux移植版本可用。
Matchbox -- 小型窗口管理器,為資源受限制的X11-enabled 設(shè)備,比如手持計(jì)算機(jī),PDA,機(jī)頂盒,消費(fèi)性電子設(shè)備等顯示大小,外村,CPU帶寬,輸入機(jī)制受到限制的設(shè)備。Matchbox包括一個(gè)窗口管理器,一個(gè)面板,一個(gè)桌面,一個(gè)共享功能程序庫,一些小的面板應(yīng)用程序。
Microwindows -- 一個(gè)開源項(xiàng)目,將現(xiàn)代圖形窗口環(huán)境的特性引入到小型設(shè)備和平臺(tái)。MicroWindow能建立在Linux桌面環(huán)境,也可跨平臺(tái)建立于其他目標(biāo)設(shè)備。注意:MicroWindows改名為Nano-X,因?yàn)镸icroSoft Windows的緣故
NxZilla (前身NanoZilla) -- 一套程序庫,允許Mozilla在NanoX服務(wù)器上運(yùn)行的(NanoX Server來自于Mircrowindows 項(xiàng)目)
OpenGL ES -- 一個(gè)輕量級的,無授權(quán)費(fèi)用的嵌入式圖形標(biāo)準(zhǔn),可為很多嵌入式系統(tǒng)和設(shè)備,提供圖形API輪廓。包括手持無線設(shè)備,汽車和航空顯示設(shè)備,多媒體消費(fèi)電子設(shè)備,比如高級數(shù)字電視,機(jī)頂盒,游戲控制臺(tái)。
OpenGUI -- 一個(gè)快速的32位的高級C/C++圖形庫和窗口庫/GUI,建立在一個(gè)快速的,低級的x86匯編語言圖形內(nèi)核之上。提供
原始的2D繪圖能力和事件驅(qū)動(dòng)的窗口API
PicoGUI -- 小巧,可移植的客戶/服務(wù)器 GUI設(shè)計(jì),工作在許多不同類型的硬件上,包括手持計(jì)算機(jī),像X Windows系統(tǒng)一樣,他有一個(gè)彈性的客戶服務(wù)端架構(gòu)。不像X,字體,位圖,窗口小部件,以及其他應(yīng)用程序需要的東西,都是直接建立在服務(wù)器上的。犧牲了一點(diǎn)靈活性,帶來的是速度上的提升和體形的縮小。
Qt/Embedded -- 提供一個(gè)全功能的圖形棧(Graphic Stack),從硬件接口到完全的GUI工具。API同流行的Qt/X11和Qt/Windows是一樣,但Qt/Embedded不是基于X11,所以很大程度上減少了內(nèi)存的需求,內(nèi)存需要量,可調(diào)整到800KB到3MB (intel x86).Qt/Embedded是一個(gè)在GPL開源軟件,也被它的所有者Trolltech以其他License發(fā)布
Simple DirectMedia Layer -- 開源跨平臺(tái)的多媒體開發(fā)API/程序庫,設(shè)計(jì)為快速訪問圖形Framebuffer和音頻接口.SDL當(dāng)前被應(yīng)用到很多嵌入式Linux實(shí)現(xiàn)中,比如MicroWindows.
Tiny-X -- 一個(gè)小型的footprint X Window 服務(wù)器,為嵌入式系統(tǒng)設(shè)計(jì).它由XFree86 核心開發(fā)小組的Keith Packard開發(fā)
SuSE贊助的.目的是建立一個(gè)消耗更少內(nèi)存的,穩(wěn)定的.典型的基于Tiny-X的Xserver少于1M內(nèi)存在x86 CPU上,它已經(jīng)移植到幾個(gè)項(xiàng)目上了,包括KDriver(http://www.pps.jussieu.fr/~jch/software/kdrive.html),
SmallX(http://www.superant.com/smalllinux/tinyX01.html),
Integerated Tiny-X(http://www.x-oz.com/tinyx.html)
ViewML -- 一個(gè)以嵌入式Linux平臺(tái)為目標(biāo)的的自由的,開源web瀏覽器.目前消耗760KB磁盤,2.1MB RAM
WML Browser -- 由5NINE支持開發(fā)的瀏覽器項(xiàng)目,允許無線設(shè)備有WAP功能的.支持多協(xié)議棧(WAP 1,2.1,http)
不同的環(huán)境用不同的輸入設(shè)備.瀏覽器同F(xiàn)ramebuffer一起工作
Xynth Windowing System -- 嵌入式客戶/服務(wù)器窗口系統(tǒng),提供輕量級的GUI窗口,在基于Linux的嵌入式系統(tǒng)和設(shè)備上.
比如手持設(shè)備和機(jī)頂盒.
===商業(yè)嵌入式Linux圖形系統(tǒng)軟件===
Access: Netfront browser -->一個(gè)嵌入式瀏覽器,為信息應(yīng)用系統(tǒng)設(shè)計(jì)的,需要較少的內(nèi)存和CPU性能.他要求至少1.3M ROm和2MB的RAM,支持完全的HTML 3.2和部分HTML 4.0特性,frames,JavaScript,cookies,web-printing和多語言.它的模塊和可縮放的體系結(jié)構(gòu)允許應(yīng)用程序模塊和插件來增強(qiáng).一個(gè)獨(dú)立的用戶界面層和設(shè)計(jì)工具允許設(shè)備制造商建立獨(dú)特的外觀和風(fēng)格.
ANT: Freesco browser -- 一個(gè)小內(nèi)存footprint的JAVA標(biāo)準(zhǔn)兼容的瀏覽器,可使OME廠商快速,簡單設(shè)計(jì)branded 界面
為Internet應(yīng)用程序.它是平臺(tái)獨(dú)立的,可同任何硬件和操作系統(tǒng)使用(包括不同的嵌入式Linux實(shí)現(xiàn))
Century Software: PIXIL PDA and Microwindows :一個(gè)完整的PDA系統(tǒng),包括一個(gè)操作環(huán)境,PIM應(yīng)用程序,email客戶端,web瀏覽器,一套多媒體應(yīng)用程序,MicroWindows圖形窗口系統(tǒng)(前面已經(jīng)介紹過了)是PIXIL PDA 解決方案的核心.
Espial: Espial Suite -- 一個(gè)完全的100%的Java 應(yīng)用層,獨(dú)立于設(shè)備棧上層的 操作系統(tǒng)和JVM,包括 Espial DeviceTop 圖形OSGi客戶端,Espial Escape web瀏覽器, Espial Ebox email客戶端, Espial Espresso輕量級工具.
Feynman Software: MiniGUI --一個(gè)雙重協(xié)議的(GPL或者商業(yè)協(xié)議)的項(xiàng)目,建立一個(gè)小型的窗口系統(tǒng),支持嵌入式系統(tǒng)和設(shè)備.
它提供相應(yīng)Win32API的窗口管理功能.
Fluffy Spider: FancyPants --- 商業(yè)圖形框架,支持,skinning,overlays,fancy 特效.目標(biāo)是中量級的消費(fèi)電子和移動(dòng)設(shè)備
比如 POS(Point of Sales/Sevices)系統(tǒng),機(jī)頂盒,移動(dòng)電話
NetClue: Clue WBC browser -- 一個(gè)小型的,模塊化的,平臺(tái)無關(guān)的100% Java瀏覽器.支持Unicode,平滑滾動(dòng),流線型分析和顯示,web打印,定制用戶界面,WAP兼容,其他特性包括 HTML 4.0 ,XML, HTTP 1.0和1.1 ,CSS, DOM, cookie,Javascript,Java Applets.
Swell Software: LinuxPEG -- LinuxPEG是一個(gè)嵌入式GUI庫和開發(fā)工具,特意為嵌入式系統(tǒng)設(shè)計(jì)的,LinuxPEG庫,設(shè)計(jì)為
運(yùn)行在任何Linux 發(fā)行版
Trolltech: Qtopia and Qt/Embedded -- Qtopia是一個(gè)用于PDA,palmtop計(jì)算機(jī)和IA(internet appliances)產(chǎn)品的移動(dòng)設(shè)備窗口環(huán)境和應(yīng)用套件,它基于Qt/Embedded,包括PIM應(yīng)用程序,Internet客戶端,娛樂和游戲程序,Qtopia/PDA可使用商業(yè)版權(quán)或者開源協(xié)議,但Qtopia Phone Edition 只能用于商業(yè)。