Microwindows - Enabling graphical applications on embedded Linux systems
Compile time options
The Nano-X API allows applications to be built using a client/server protocol over a network socket, or local UNIX domain sockets.
This allows several applications, running on the embedded device or a remote host to connect to the Microwindows server to for display.
In addition, the client/server protocol can use shared memory for passing data between the client and server. A compile time option
allows all applications to be linked with the server for smaller environments, or environments without a filesystem. Microwindows
also supports linking directly with a real time operating system for extremely compact environments. Compilation for various features
is turned on or off in a configuration file, which allows Microwindows to be built in modules, and include only the items that will be
used.
Summary
The Microwindows Project provides a much-needed solution for smaller systems and embedded devices by providing a graphical runtime with
minimal ram and disk requirements. By implementing the two most popular graphics APIs, users already familiar with graphics programming
can start producing applications quickly. Because Microwindows is open source and free, it is being evaluated and used in an increasing
number of systems designs today.
Microwindows is a work in progress, and new features are being added regularly. I invite you to check out our web site at
http://microwindows.org for more information and screenshots of demo applications. The Microwindows project is licensed under
the MPL (Netscape license), which means that it can be used with designs under non-disclosure, without having to release proprietary source code.
About The Author
Greg Haerr is an expert UNIX and Windows programmer, specializing in operating systems, interpreter, and graphics windowing system designs. He is CEO and founder of Century Software, a leader in UNIX connectivity solutions, as well as the Chief Maintainer of the Microwindows Project.
Next: Microwindows Screenshots