Due to hardware restrictions in embedded systems, the huge and bloated X Windows in Embedded Linux systems are not suitable. We need a high-performance, lightweight GUI system. Generally, the GUI suitable for Embedded Linux systems has the following features:
2. It is small in size and occupies less flash and ram. When installing the GUI system, you should be able to easily crop and streamline the GUI system as needed to reduce the storage space required for installation; use as little RAM as possible during system operation.
2. Fewer system resources, especially CPU resources, can achieve relatively fast system response speed with limited hardware performance, and reduce CPU power consumption to achieve power saving.
2. The system is independent and can be applied to different hardware.
Currently, common GUI systems for Embedded Linux mainly include qtopia core (QT/Embedded), Microwindows (nano-X Window), tiny X, and MiniGUI in China.
Microwindows (renamed Nano-X Window in 2005, http://microwindows.censoft.com/) is a GUI system based on the typical customer/server architecture, its main feature is to provide a customer/server architecture similar to X and a relatively complete graphic function. Microwindows can run without the support of any operating system or other graphics systems. It can directly operate bare display devices. In this way, Microwindows is very small and can be easily transplanted to various hardware and software systems. However, the progress of the Microwindows project has been slow and has basically stagnated. In addition, its graphics engine also has many inefficient algorithms. In January 2005, due to its conflict with Microsoft's Windows trademark, Microsoft Windows changed its name to nano-X Window, but no new version was released later.
Tiny X (http://www.xfree86.org/) is actually part of the xfree86 project, sponsored by Suse, developed by Keith Packard, one of the core members of the xfree86 project, the goal is to run well in the case of small memory or almost no memory. Currently, tiny X is one of the built-in compilation modes of xfree86. You only need to modify the compilation options to compile and generate tiny X. Tiny x simplifies a lot of things on the basis of xfree86, and reduces the size in the x86 CPU 1 m The following is applicable to embedded environments. The biggest advantage of tiny X is that it can easily transplant the desktop version of X-based software into the embedded system. However, this advantage sometimes becomes a disadvantage, because the migration of software from the desktop version to the embedded environment is generally too large and requires some simplification, which is sometimes not as convenient as developing new programs.
MiniGUI (http://www.minigui.org/) is a free software project developed by Mr Wei Yongming, a former Tsinghua University instructor. It aims to provide a lightweight graphical user interface Support System for Linux-based Real-time embedded systems. MiniGUI released the first version in early 1999 following the GPL terms, it is widely used in products and fields such as handheld information terminals, set-top boxes, industrial control systems, industrial instruments, portable multimedia players, and query terminals in China, it can run on Linux/uClinux, VxWorks, uC/OS-II, PSOs, threadx, nucleus us, and Win32 platforms, it also supports intel X86, arm (ARM7/arm9-/ strongarm/XScale), PowerPC, MIPS, m68k (Dragonball/ColdFire) and other hardware platforms. The development of MiniGUI is based on mature graphics engines such as svgalib and libggi. It mainly focuses on the development of window systems and graphic interfaces and is oriented to the low-end embedded product market. MiniGUI is a self-developed GUI system developed by the Chinese people. It provides excellent support for Chinese characters.
Qt embedded is a QT version for Embedded Systems released by trolltech (http://www.trolltech.com. Unlike the desktop version QT/X11, QT embedded directly replaces X Server and X library roles, and uses only framebuffer as the underlying graphical interface, greatly reducing system overhead. Because QT is a GUI support library used by KDE and other projects, many QT-based X Window programs can be easily transplanted to QT/e versions. Qt embedded continues the powerful functions of QT on X, but it consumes more system resources (compared with MiniGUI) and is mostly used for handheld high-end information products.