Troll Tech Announces Embedded GUI Toolkit
Troll Tech announced in March that it is developing Qt/Embedded, a new GUI toolkit for embedded Linux systems. The toolkit aims to provide embedded systems developers with the same power and cross-platform portability as the desktop versions of Qt, Qt/Windows and Qt/X11.
Linux users will recognize Qt as the GUI toolkit that powers the popular K Desktop Environment (KDE), now a standard component of most Linux distributions including Caldera OpenLinux 2.4, Linux Mandrake 7.0, Corel Linux 1.0, Red Hat Linux 6.2 and Slackware 7.0.
Unlike Troll Tech's Qt/X11 product for Linux, Qt/Embedded does not require the X Window System. Instead, Qt/Embedded applications access the Linux frame buffer directly. Removing X reduces the memory requirements of the toolkit drastically, leaving more memory available for applications.
While Troll Tech is not aiming to replace X, it may do so in some cases. Qt/Embedded includes its own windowing system, allowing multiple applications to run with overlapping windows. Qt/Embedded will not, however, provide remote display capabilities like X. Qt/Embedded also provides its own support for TrueType fonts, a function normally provided by X.
Because Qt/Embedded is source-code compatible with Qt 2.1, any application that works with Qt 2.1 can be built with Qt/Embedded. In fact, a version of KDE has already been tested with Qt/Embedded. It's unlikely that all the current KDE and Qt applications will begin showing up on embedded devices. However, certain applications, such as the Qt version of the Mozilla browser, are obvious candidates for an embedded device.
KDE's success has been an asset to Troll Tech. It certainly can't hurt the future of Qt/Embedded to have a growing number of open-source developers around the world familiar with Qt development.
The Qt/Embedded API will be identical to the existing API used in Qt 2.1, allowing applications to be portable from UNIX and Windows desktops to embedded systems. Developers can use either Qt or X11 to develop their application, allowing them to leverage a huge base of desktop tools. The application can be deployed on the target system simply by rebuilding with Qt/Embedded.
Qt/X11's original license caused many concerns in Linux and Open Source communities due to its restrictions on commercial usage. Qt did not meet the official open-source definition, preventing KDE from being included in some Linux distributions. In response, Troll Tech developed the Q Public License (QPL), a new, less-restrictive license that qualifies as open source. The new license has been a significant factor in the success of both Qt and KDE.
Qt/Embedded application programmers will need to purchase a Development Kit license under terms similar to the Qt Professional Edition. There will also be a run-time license for each device in which Qt/Embedded is installed.
If you're an open-source developer, the licensing terms might not sound very inviting to you. Learning from past licensing problems, Troll Tech hasn't forgotten the open-source developer. Although details have not been finalized, Troll Tech plans to make available a free edition of the Development Kit that will make it possible to write open-source applications for use on devices with Qt/Embedded already installed.
Up until now, talking about Qt in the Linux community meant Qt/X11. With Qt/Embedded on the way, Linux developers have more options. Linux has continued to garner interest in the embedded systems market, and an advanced GUI toolkit such as Qt will make Linux that much more attractive.
The general release of Qt/Embedded is targeted for the third quarter of this year, with OEMs receiving pre-releases earlier. At the time of publication, Troll Tech had not yet announced pricing details for the run-time licenses or the Developer Kit.
email: cknudsen@radix.net
Craig Knudsen (cknudsen@radix.net) lives in Fairfax, VA and telecommutes full-time as a web engineer for ePresence, Inc. of Red Bank, NJ. When he's not working, he and his wife Kim relax with their two Yorkies, Buster and Baloo.