Spanish Italian
17454 Users    

MiniGUI - The Open Source Embedded GUI Subsystem

  Download PDF version of the Article

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++   
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

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

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
10 + 7 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Who's new

  • fernand
  • Ligrock
  • paolo_0665
  • chanuei
  • JM
  • samsilva77
  • araghube
  • stoll
  • mt
  • orionkw

Who's online

There are currently 0 users and 66 guests online.