Hardware_club Using GTK+/X as an Embedded GUI

  • From: "Zaheer Mohamed Kozhakkaniyil" <zaheermk@xxxxxxxxx>
  • To: kochi_hw_club@xxxxxxxxxxxxx
  • Date: Mon, 28 Feb 2005 02:06:00 -0500

 
X Windows and GTK+ are not the bloated monsters you think they are. = Here's
how we modified GTK+/X for our device's GUI... 

..., we narrowed our GUI choices to GTK+ or Qt/E. 

Qt is a G= UI recently developed by TrollTech and used by the KDE desktop.
Ishas an O= OP-intensive C++ framework. Qt/Embedded (Qt/E) is a reduced
version of Qt t= hat runs on a framebuffer. It sports a clean widget set, a
signal/slot arch= itecture, and graphics abilities including TrueType fonts
and alpha blendin= g. The Qt Palmtop Environment (QPE) is an application
infrastructure that i= ncludes Qt/E running on a framebuffered client/server
windowing architectur= e, along with a host of PIM applications. 

GTK+ is a GUI with a C-ba= sed object-oriented architecture. The GNOME
desktop uses GTK+. GTK+ feature= s clean abstractions between the GTK+
library which manages widgets and sig= nals, the Gdk library which manages
windowing and drawing, and the Glib lib= rary which provides low-level data
structures and utilities. GTK+ was devel= oped on the X Window System, but
has been ported to many systems, including= a framebuffer (GTK+/fb) and
Microwindows, a small windowing system


We ultimately chose GTK+ 1.2.8 running on X Windows, in turn running on = a
framebuffer. The decision to use GTK+ instead of Qt/E was primarily a con=
servative preference to stick with a proven solution, but it was also infor=
med by key differences between GTK+ and Qt/E . . . 
  * Ownership: All things being equal, we prefer to place our trust in publ=
icly-maintained codebases. TrollTech owns Qt/E and develops it internally w=
ithout public exposure. GTK+ and XFree86 are highly visible Open Source pro=
jects with large, active development communities. 
    
    * License: GTK+ is licensed under the LGPL. This allows proprietary
3rd-p= arty software to use our derived GUI. Qt/E is released under a
dual-license= scheme which either releases it under the GPL or requires
licensing and ro= yalties. These terms would prevent us and other developers
from releasing p= roprietary software for our device without paying
TrollTech. 
    
    * Size: Although TrollTech claims that Qt/E can be as small as 1MB,
inter= nal dependency conflicts prevented it from compiling at this size.
TheiPaq= QPE distribution includes a 3.3MB Qt/E library and a 718KB QPE
library (an= alogous to Xlib). TinyX and our modified GTK+ required 2.9MB
(compiled for = the same architecture). 
    
    * Stability: Although Qt is a mature widget set, Qt/E is still not
entire= ly stable. The QPE demo is good, but applications and QPE itself
occasional= ly crash. GTK+ rarely crashes, but when it does X is unaffected.

    
    * Language: In our experience, C is a better language than C++ for small
= teams working on embedded devices. Qt/E is written in C++. GTK+ and X are
w= ritten in C.


Excerpt from a report by Chuck Groom. Read the f= ull article at
http://www.linuxdevices.com/articles/AT9006921228.html[1] 

This is an old (2002) report. So the versions/sizes might have chan= ged.
Take note.Zaheer Mohamed Kozhakkaniyil zaheermk@xxxxxxxxx
--=20 

___________________________________________________________
Sign-up f= or Ads Free at Mail.com
http://www.mail.com/?sr=3Dsignup[2] 

--- Links ---
   1 3D"http://www.linuxdevices.com/articles/AT90069=
   2 3D"http://mail01.mail.com/scripts/payment/adtracking.cgi?bannercode=

Other related posts:

  • » Hardware_club Using GTK+/X as an Embedded GUI