MiniGUI - The Open Source Embedded GUI Subsystem
MiniGUI is a free software project. It provides a fast, stable and OS independent graphic user interface (GUI) subsystem, which is especially fit for embedded systems including Linux/uClinux, eCos, and conventional RTOSes, for example, uC/OS-II and ThreadX. Now the core developer Mr. Wei Yongming and his company Feynman Software start the commercial service with the free software. MiniGUI is still available under GPL. However, the latest GPL version (v1.6.10) has some limitations such as limited OS, runtime mode, font types, char sets/encodings, GAL and IAL engines. Its latest commercial version is v3.0.
There are many GUI subsystems in the market, for example, the popular Microwindows and QT/Embedded in Linux. These GUIs are quite different and fit for various applications. Among these candidates, MiniGUI is tailor-made for the embedded systems, ranging from RTOS to embedded Linux. By default, MiniGUI offers a Windows 9X style GUI, but it can be changed by skin technique. MiniGUI features a multiple layer structure, including low level GAL/IAL layers, middle level Mini-thread, Mini-Lite layers and high level ECMA APIW layer. MiniGUI has two operation modes, the Mini-thread mode is running on multiple threads; the Mini-Lite mode is running on multiple processes and C/S structure.
There is a standalone mode which derivates from the Mini-Lite mode. The standalone mode is perfect for simple and small screen applications which only require one window in the applications. It is quite common in low-end embedded systems. MiniGUI supports SVGAlib, LibGGI, and native graphic engine with frame buffer. It also uses Trotech's QVFB in X-Windows and simulation. Its IAL supports standard Linux console input including GPM mouse service, touch screen and QWERT keyboard. MiniGUI can support a lot of RTOSes, but uC/OS is not its first choice. Because most of the RTOSes have only the kernel without file system supports by default, some of the features of GUI system are heavily depends on the file system and some libraries. For example, the uC/OS based applications have to use embedded native resource (font and image) with MiniGUI. In fact, uC/OS features its own uC/GUI component. But it is commercial software. MiniGUI's reference platform is uC/Linux and ARMLinux, with demo code running in Linux PC.
Since QTE is quite well known and becomes a benchmark in the industry. Here is a small comparison table between MiniGUI and QTE. After all, QTE is a perfect choice for advanced and complex operation systems, while MiniGUI is suitable for simple and low-level application.
| Name | MiniGUI | QTE | Comment |
| Vendor | Feynman | Trolltech | |
| Language | C | C++ | |
| Structure | WIN32 like | MFC like | |
| Requirement | 10MIPS,8MB ROM,16MB RAM | 200MIPS, 16MB ROM, 32MB RAM | |
| Coverage | middle and high end | high end applications | |
| Version | 2.0/1.6 | 2.3.2 | |
| OS | (uC)Linux,eCOS,uC/OS,VxWorks | Linux | |
| Resource | Complete community support | Complete community support | |
| Document | Complete | Complete | |
| Royal fee | start from 100KRMB, 8RMB each (14KUSD/1.2USD) | 9.9KUSD,15USD each | MiniGUI is free for less than 10K pieces, |
| Authoring | Commercial authoring tools available | QT designer | |
| Porting | Easy from x86 to RISC | Easy from x86 to RISC | |
| Service | 1 year support | 1 year support | |
| Learning | Middle | Hard | |
| Application | Middle end | Middle end and high end | |
| Software Suites | Browser and etc. | Complete | MiniGUI offers commercial suites. |
Reference
MiniGUI Project Site
http://www.minigui.org/
Feynman Software, MiniGUI commerical solution
http://www.minigui.com/index.php?id=home&L=0
- allankliu's blog
- 1874 reads





MiniGUI was added also to OSE RTOS
MiniGUI is a cross-operating system Graphical User Interface especially suitable for real-time systems, where performance and tight resources are a must. Some time ago, Enea added MiniGUI to its OSE RTOS, a real-time operating system that include features such as full preemption, event-driven behavior, fault-tolerant capability, power management system, and so on. OSE RTOS is used mainly in telecommunication and mobile equipments.
Post new comment