IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> Embedded Graphic System Summary, Open source Embedded Linux Graphics System Software
猫猫草
post 2008-10-28 07:57:32, Tue
Post #1


猫猫猫
***

Group: Power Cat
Posts: 626
Joined: 2006-12-8
Member No.: 2




----------------------------------------------------------------------------------------
Dillo浏览器,小于300K,开源,C and GTK+ Lib,遵循GPL
www.dillo.org
smamary:
图像支持PNG、Jpeg、Gif
HTML/XHTML,no frames
现在还不支持Jsp,JVM
全屏、非模块化用户界面
高兼容性,比如手持设备中的 iPAQ、GMATE’s Yopy、Pison、CerfPod
非基于GECKO的定制化rendering引擎
in more detail
http://www.linuxdevices.com/articles/AT7153264029.html
应用举例
http://www.linuxdevices.com/articles/AT2869412121.html
----------------------------------------------------------------------------------------
DirectFB
http://directfb.org/
一个小型库,提供开发者基于FrameBuffer上进行图形加速、输入设备处理提取、支持透明窗口和多重显示层的整合窗口系。
对于不支持的硬件的图形操作,其提供了一个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有自己的显存资源管理,诸如显示层或输入设备之类的资源被锁定从而独占访问。

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
驱动整合进内核
核心32KB、库文件17KB
面板式窗口管理器 fbwm 静态连接 46KB
传统窗口管理器 fbwm 静态连接 39KB
终端模拟器 fbterm 静态连接 46KB
模拟时钟 fbclock 静态连接 34KB
JPEG/TIFFviewer fbview 静态连接 42KB
----------------------------------------------------------------------------------------
GGI
http://www.ggi-project.org/
General Graphics Interface
多平台编译支持
快速、抽象、动态组件、高度优化
子项目包括设备驱动子系统,可扩展用户空间API库构架、输入设备管理
----------------------------------------------------------------------------------------
GPE
GPE Palmtop Environment
http://gpe.handhelds.org/
GPE掌上电脑环境
X window system, gtk+ widgets
可以交互SQL、XML
GPL、LGPL
----------------------------------------------------------------------------------------
GtkFB
http://developer.gnome.org/doc/API/2.2/gtk...ramebuffer.html
来源于GIMP项目
Gtk+ 2.0已可以直接对framebuffer进行着色,而非传统的使用Xwindow system,即使用FrameBuffer访问显卡,无需搭配一个Xserver

相关库:
基本数据类型-Glib
支持不同字型文字处理库-Pango
图片文件格式-libpng、libjpeg、libtiff
FrameBuffer port-FreeType库
整合后即为gdk-pixbuf、gdk、gtk三个库
gdk-pixbuf 处理图片影像的库
gdk 视窗绘图系统的抽象层,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
采用动态连接DL的RSS大小(使用的所有物理大小)为3.4MB,静态连接SL的为2.5MB;
DL虚拟内存总大小为6.6MB,进程间共享2.3MB;
SL的为5.2MB,共享的为1.7MB;

gdk库有三个基本任务
绘图、处理交替窗口、产生事件。gdk核心很像Xwindow系统,事实上其使用了一个经修改的X库-libmi。交替窗口处理是指在一个窗口树中,确定在哪个窗口上进行操作。事件产生是通知gdk用户输入、窗口重绘。它是X产生的一个子集。因为gtk不需要所有X发出事件及其信息。
当程序连接了GtkFB,其最先调用gtk_init()运行。同时,GtkFB打开FB设备(选择想要的分辨率和位深),键盘,鼠标,触控屏。然后到指定目录去读取字型,继续初始化window和事件系统。
GtkFB内建了普通键盘及鼠标的驱动,包括触控屏,当然添加其他的也是很容易的。GtkFB不使用硬件加速,但支持。

缺点:
不支持多进程,不适合设计大型系统。
如果GTK+程序中使用 direct X 调用,由于其不备GtkFB支持,所以需要修改。
由于对硬件加速代码很难写,所以其在大型系统上运行很慢。
不支持对功能还有: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创建,前身为Nano
特点:提供Win32/WinCE API,便于平台间移植。
其最底层的为一些键盘、触控屏等的I/O驱动,中间层为一些基本的绘图函数及色彩模型,上层为窗口的API,即Win32/Wince的GDI、Nano-X API。
不需要Xserver
256KB~512KB

slides:
http://www.linuxdevices.com/files/elecjun00/haerr/
----------------------------------------------------------------------------------------
MiniGUI
www.minigui.com
魏永明创建
最初以SVGALib and PThread为基础,现在包括了图形抽象层,输入抽象层,多国语系-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函数缺陷的移植项目(nanozilla是NxZilla的前身,嵌入式浏览器)
mailcrypto--Mozilla的一个插件,使用户可以使用GnuPG(GNU Privacy Guard)提供的加密功能
oji--一个mozilla的开放Java接口-OJI,使kaffe在Html页面中可执行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制图和事件驱动窗口API
支持bmp
其构建在用x86汇编所写的快速的图形内核之上的高级别C/C++图形窗口库,支持MMX
支持Borland BGI风格和QT风格的窗口
LGPL
大部分库支持FrameBuffer
OO多平台API (DJGPP、WATCOM、Linux、QNX)
全应用程序开发构架
图形库的组成:
三个层
汇编内核层
基本图形的绘制层API
C++,窗口、按钮、菜单,位图绘制的GUI实现层
----------------------------------------------------------------------------------------
PicoGUI
http://picogui.org/
特点:
widgets和绘图引擎内建于server
C/S构架
模块化--视频、输入、网络子系统可以在编译时被置换
目标是为PalmOS整合Xwindows的简易和速度
去掉ELF二进制映像文件后,大小为100KB。
----------------------------------------------------------------------------------------
QT/E
http://www.trolltech.com/download/index.html
嵌入版的API基本和Qt/Windows、 Qt/X11相同,但不需要使用X11。
特点:跨平台,面向对象
PAD解决方案:Qt plamtop environment
800KB~3MB
----------------------------------------------------------------------------------------
SDL
http://www.libsdl.org/index.php
http://www.libsdl.org/intro.cn/toc.html
Simple DirectMedia Layer
free multimedia API,cross platform
快速存取图形framebuffer、音频设备
《文明》即采用其移植
支持Linux、Win32、BeOS、MacOS、Solaris、IRIX、FreeBSD
底层用C实现,用户层用C++实现;并捆绑了多种语言:Perl、Python、ML、Eiffel
----------------------------------------------------------------------------------------
TinyX
http://xfree86.org
Tiny X server即Xfree86的简化版,Keith Packard创建
1MB~3MB
----------------------------------------------------------------------------------------
ViewML
Viewable Markup Language
http://www.microwindows.org/ViewMLDesign.html
嵌入式linux开源浏览器
需要760KB-2.1MB RAM
其采用KDE下设计出众、显示性能良好的kfm Html显示引擎。
移植引擎时,采用了thin glue layer ,使用小而快的FLTK应用程序架构。
运行于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
无线因特网浏览器
核心部分是binary WML decoder
特点:
基于FrameBuffer上实现,可运行于许多协议栈上,诸如:WAP、http、https
使用不同的User Agent profile ,如phone、pda、appliances
实现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.
主要开发地为USA和Japan
支持的设备生产商很多,如NTTDoCoMo、Sega、Nintendo等
Japan厂商。主要用于TV、PDA、STB、CarNavigationSystem、SmartPhone、Web/screenPhone、VerticalIntranet terminal、Video game console、dedicated word processor、Internet kiosk
特点:
大小:代码小于270KB,执行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、消费电子、嵌入设备,源码发放
支持HTML、javascript扩展、Flash、SSL、预测文本输入、Agfa和Bitstream高质量反锯齿字体移植容易
----------------------------------------------------------------------------------------
PIXIL
http://embedded.centurysoftware.com/pixil/pixil_pda11.php

高级互联网设备、无线通信、网络、web浏览、电源管理、GUI

基于嵌入式Linux开放标准的完全整合构架,可以开发商耗时耗钱的组件整合,并确保特定应用易于使用、兼容和维护
PIXIL OE
PIXIL open Enviroment
Century开发商已针对特定嵌入式设备进行了优化。MicroWindows系统内置于PIXIL解决方案核心中的smart flat panels
以源码的方式自动创建framebuffer,X11,交叉编译环境。
支持的硬件: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商业协议
GPL下的当然以源码方式发布
商业版可参看公司相关协议

功能:
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 --包括一个软件模拟器,用来模拟目标设备运行环境。
PIXIL SDK Components --
完全的源码、makefile、build环境
all runtime binarity
完整的开发工具链
所需库文件
目标平台桌面开发模拟器
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绑定组件集
目标设备的开发工具整合

PIXIL PDA--包括OE、PIM suite 、e-mail client、web browser、多媒体app,内建了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

技术特点:
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/partnersh...Prod.cgi?id=882
windriver
纯Java应用层,JVM运行于设备栈顶层
套件包括
Espial DeviceTop graphical OSGi client
http://www.linuxdevices.com/products/PD6340767984.html
Espial Escape web browser
http://www.linuxdevices.com/products/PD5203952494.html
Espial Ebox email client
http://www.linuxdevices.com/products/PD7904716349.html
Espial Espresso lightweight GUI toolkit
http://www.linuxdevices.com/products/PD9895797586.html
----------------------------------------------------------------------------------------
NetClue: Clue WBC browser
http://www.netcluesoft.com/desktop/desktop.php3?sub=products
纯Java,非常紧凑,模块化设计,平台无关
支持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.html
LinuxPEG是popular PEG library的派生,针对嵌入式系统。
为现在POSIX 多线程嵌入式Linux可以应用在LCD、Video显示商。
特点:
版权自由,无版税,提供free demo
small footprint
完全C++源码
支持流行的目标处理器、视频控制器、I/O设备
易于移植
容易缩减开发时间
业界领先的多语言支持开发

开发工具包括:
WindowBuilder可视化设计工具
FontCapture嵌入字体产生器
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在内的ROM

-------------------------------------------
注:基本图形系统构成
初级的绘图函数库Glib,往上组合成基本视窗组件widgets;然后由此写出WM;

Widget窗口构架部分
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
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
3 User(s) are reading this topic (3 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 2024-12-24 11:33