嵌入式Linux圖形系統(GUI)快速參考手冊

  當你在桌面PC上安裝Linux時,你通常在很少的幾個"標準"的圖形支持組件中選擇。你很可能使用X Windows系統(XFree86或者Xorg)作爲顯示界面的基礎(與Linux驅動一起來控制硬件),GNOME或者KDE作爲桌面環境,瀏覽器則在FireFox,Konqueror或者Opera等功能全面的幾個瀏覽器中間選擇.

        但是,這種典型的桌面Linux"桌面棧"("graphics stack")是不適合於嵌入式Linux應用的.嵌入式設備通常有着更受限制的資源,在內存和存儲空間上對桌面圖形軟件來說,都顯得捉襟見肘。舉個例子,嵌入式設備通常只有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

      這些內存需求不僅需要錢來購買,也需要更大的電路板安裝,並且會已經消耗更多的電源。嵌入式系統有着和桌面圖形組件不一樣的需求,他們可能需要不同的定製的外觀風格,控件,裝載速度,以及不同尋常的顯示或者輸入設備。


       爲了滿足日益增長的嵌入式Linux市場的需求,許多圖形支持項目和產品也層出不窮,目標環境包括---固定設備便攜設備 和移動設備,應用範圍也從 手持消費產品,比如PDA和蜂窩電話(手機),到醫療儀器,工業自動化,以及商業航空座艙顯示。

===開源嵌入式Linux圖形系統軟件===
Dillo -- Dillo 是一個非常小(小於300KB),快速,開源多平臺web瀏覽器,它完全使用C語言寫的,建立於GTK+庫之上Dillo的高效率和對軟件庫非常小的依賴,使得它非常適合於嵌入式應用。Dillo可以同一個嵌入式web服務器聯合起來,可完全避免使用 窗口管理器。

DirectFB -- DirectFB 是一個非常小的程序庫,它提供給開發者以 圖形硬件加速支持,輸入設備處理和抽象,集成窗口系統,支持半透明窗口和Linux Framebuffer設備的多重顯示層 。它是一個完全的硬件抽象層和軟件fallback爲每個圖形操作,不支持underlying 硬件。

The Familiar Project 開源的PDA Linux項目,是handhelds.org項目的一個分支,聚集了一個完整的基於Linux的PDA計算平臺的所有關鍵組件。目前的發行版包括:一個基於Blackbox的窗口管理器,Agenda Computing的基於Fltk+的PIM(個人信息管理)應用程序,一個嵌入式Python實現,系統配置和設置備份工具,OpenSSH客戶端和服務器,基於Debian的ARM內核。

FBUI -- 非常小的GUI,駐留在linux內核中,FBUI最大的特點就是小,然後就是精煉,再次就是它只是一個driver,第四就是內核驅動,不屬於用於空間。

GGI Project  -- “通用圖形接口CGI“工程致力於開發一個快速,穩定,開源的,跨平臺多媒體API系統,完全爲嵌入實現系統設計的。GGI是快速,整潔,抽象,動態模塊和高度優化。


GPE Palmtop Environment -- 爲palmtop/handheld計算機提供一個自由軟件GUI環境,使用X Windows系統和GTK+ widget toolkit

GtkFB -- 從2.0開始,GTK+開始支持直接描繪(render)給Linux Framebuffer而不是X-Windows系統,對資源受到限制嵌入式系統來說,非常好,因爲即可利用已有的豐富的基於GTK的應用程序,又可避免X Windows的系統消耗。

handhelds.org PDA support -- 想建立自己獨特的Linux PDA嗎?早些年,Compaq創建了Open Handheld Program。現在iPAQ Linux移植版本可用。

Matchbox -- 小型窗口管理器,爲資源受限制的X11-enabled 設備,比如手持計算機,PDA,機頂盒,消費性電子設備等顯示大小,外村,CPU帶寬,輸入機制受到限制的設備。Matchbox包括一個窗口管理器,一個面板,一個桌面,一個共享功能程序庫,一些小的面板應用程序。

Microwindows -- 一個開源項目,將現代圖形窗口環境的特性引入到小型設備和平臺。MicroWindow能建立在Linux桌面環境,也可跨平臺建立於其他目標設備。注意:MicroWindows改名爲Nano-X,因爲MicroSoft Windows的緣故

NxZilla (前身NanoZilla) -- 一套程序庫,允許Mozilla在NanoX服務器上運行的(NanoX Server來自於Mircrowindows 項目)

OpenGL ES -- 一個輕量級的,無授權費用的嵌入式圖形標準,可爲很多嵌入式系統和設備,提供圖形API輪廓。包括手持無線設備,汽車和航空顯示設備,多媒體消費電子設備,比如高級數字電視,機頂盒,遊戲控制檯。

OpenGUI -- 一個快速的32位的高級C/C++圖形庫和窗口庫/GUI,建立在一個快速的,低級的x86彙編語言圖形內核之上。提供原始的2D繪圖能力和事件驅動的窗口API

PicoGUI -- 小巧,可移植的客戶/服務器 GUI設計,工作在許多不同類型的硬件上,包括手持計算機,像X Windows系統一樣,他有一個彈性的客戶服務端架構。不像X,字體,位圖,窗口小部件,以及其他應用程序需要的東西,都是直接建立在服務器上的。犧牲了一點靈活性,帶來的是速度上的提升和體形的縮小。

Qt/Embedded -- 提供一個全功能的圖形棧(Graphic Stack),從硬件接口到完全的GUI工具。API同流行的Qt/X11和Qt/Windows是一樣,但Qt/Embedded不是基於X11,所以很大程度上減少了內存的需求,內存需要量,可調整到800KB到3MB (intel x86).Qt/Embedded是一個在GPL開源軟件,也被它的所有者Trolltech以其他License發佈

Simple DirectMedia Layer -- 開源跨平臺的多媒體開發API/程序庫,設計爲快速訪問圖形Framebuffer和音頻接口.SDL當前被應用到很多嵌入式Linux實現中,比如MicroWindows.

Tiny-X -- 一個小型的footprint X Window 服務器,爲嵌入式系統設計.它由XFree86 核心開發小組的Keith Packard開發
SuSE贊助的.目的是建立一個消耗更少內存的,穩定的.典型的基於Tiny-X的Xserver少於1M內存在x86 CPU上,它已經移植到幾個項目上了,包括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 -- 一個以嵌入式Linux平臺爲目標的的自由的,開源web瀏覽器.目前消耗760KB磁盤,2.1MB RAM

WML Browser -- 由5NINE支持開發的瀏覽器項目,允許無線設備有WAP功能的.支持多協議棧(WAP 1,2.1,http)
不同的環境用不同的輸入設備.瀏覽器同Framebuffer一起工作

Xynth Windowing System -- 嵌入式客戶/服務器窗口系統,提供輕量級的GUI窗口,在基於Linux的嵌入式系統和設備上.
比如手持設備和機頂盒.

===商業嵌入式Linux圖形系統軟件===

Access: Netfront browser -->一個嵌入式瀏覽器,爲信息應用系統設計的,需要較少的內存和CPU性能.他要求至少1.3M ROm和2MB的RAM,支持完全的HTML 3.2和部分HTML 4.0特性,frames,javascript,cookies,web-printing和多語言.它的模塊和可縮放的體系結構允許應用程序模塊和插件來增強.一個獨立的用戶界面層和設計工具允許設備製造商建立獨特的外觀和風格.

ANT: Freesco browser -- 一個小內存footprint的JAVA標準兼容的瀏覽器,可使OME廠商快速,簡單設計branded 界面爲Internet應用程序.它是平臺獨立的,可同任何硬件和操作系統使用(包括不同的嵌入式Linux實現)

Century Software: PIXIL PDA and Microwindows :一個完整的PDA系統,包括一個操作環境,PIM應用程序,email客戶端,web瀏覽器,一套多媒體應用程序,MicroWindows圖形窗口系統(前面已經介紹過了)是PIXIL PDA 解決方案的核心.

Espial: Espial Suite -- 一個完全的100%的Java 應用層,獨立於設備棧上層的 操作系統和JVM,包括 Espial DeviceTop 圖形OSGi客戶端,Espial Escape web瀏覽器, Espial Ebox email客戶端, Espial Espresso輕量級工具.

Feynman Software: MiniGUI --一個雙重協議的(GPL或者商業協議)的項目,建立一個小型的窗口系統,支持嵌入式系統和設備.它提供相應Win32API的窗口管理功能.

Fluffy Spider: FancyPants --- 商業圖形框架,支持,skinning,overlays,fancy 特效.目標是中量級的消費電子和移動設備比如 POS(Point of Sales/Sevices)系統,機頂盒,移動電話


NetClue: Clue WBC browser -- 一個小型的,模塊化的,平臺無關的100% Java瀏覽器.支持Unicode,平滑滾動,流線型分析和顯示,web打印,定製用戶界面,WAP兼容,其他特性包括 HTML 4.0 ,XML, HTTP 1.0和1.1 ,CSS, DOM, cookie,javascript,Java Applets.

Swell Software: LinuxPEG -- LinuxPEG是一個嵌入式GUI庫和開發工具,特意爲嵌入式系統設計的,LinuxPEG庫,設計爲運行在任何Linux 發行版


Trolltech: Qtopia and Qt/Embedded -- Qtopia是一個用於PDA,palmtop計算機和IA(internet appliances)產品的移動設備窗口環境和應用套件,它基於Qt/Embedded,包括PIM應用程序,Internet客戶端,娛樂和遊戲程序,Qtopia/PDA可使用商業版權或者開源協議,但Qtopia Phone Edition 只能用於商業。

發佈了34 篇原創文章 · 獲贊 3 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章