XFast
Encyclopedia
XFast is a lightweight desktop environment
that incorporates a display manager and a window manager
within the same process. It is portable and works on many devices (embedded devices, handhelds, set-top boxes,...). Here the communication between server layer and desktop layer can be made in classical way via TCP/IP but depending on the configuration and target system it can be done via shared memory too.
The goal of project XFast is to have a very slim and fast graphical environment that contains both within the same project: a replacement for an X-server to give access to the graphics hardware and a WindowManager-like layer that offers user interface elements for applications and desktop management.
Target systems for XFast are (not only) embedded systems with low resources where it is important to have a UI available with short loading times and low memory consumption. It currently runs at Linux
, Windows
, PlayStation
, GP2X
and others.
Within the XFast windowing system environment GTK and Simple DirectMedia Layer
applications are supported, so there is no need to re-write them. To use them special patched GTK and SDL versions are required, the related patch and build scripts are part of the XFast package. Beside of that XFast offers an own GUI widget library that can be used to write native applications for that windowing system.
XFast is free software
that was licensed under the GPL
.
and further development of the Xynth
windowing system. It was branched from the original project in order to add some far reaching modifications to the environment that are not compatible with the idea behind the original project. The goal of this fork is to have a more compatible source base for both: low level embedded systems and desktop systems with bigger hardware resources.
Like Xynth
, it is not an implementation of the X11 protocol.
Desktop environment
In graphical computing, a desktop environment commonly refers to a style of graphical user interface derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed...
that incorporates a display manager and a window manager
Window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment...
within the same process. It is portable and works on many devices (embedded devices, handhelds, set-top boxes,...). Here the communication between server layer and desktop layer can be made in classical way via TCP/IP but depending on the configuration and target system it can be done via shared memory too.
The goal of project XFast is to have a very slim and fast graphical environment that contains both within the same project: a replacement for an X-server to give access to the graphics hardware and a WindowManager-like layer that offers user interface elements for applications and desktop management.
Target systems for XFast are (not only) embedded systems with low resources where it is important to have a UI available with short loading times and low memory consumption. It currently runs at Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, PlayStation
PlayStation
The is a 32-bit fifth-generation video game console first released by Sony Computer Entertainment in Japan on December 3, .The PlayStation was the first of the PlayStation series of consoles and handheld game devices. The PlayStation 2 was the console's successor in 2000...
, GP2X
GP2X
The GP2X is an open-source, Linux-based handheld video game console and portable media player developed by South Korean company GamePark Holdings. It was released on November 10, 2005, in South Korea only....
and others.
Within the XFast windowing system environment GTK and Simple DirectMedia Layer
Simple DirectMedia Layer
Simple DirectMedia Layer is a cross-platform, free and open source multimedia library written in C that presents a simple interface to various platforms' graphics, sound, and input devices....
applications are supported, so there is no need to re-write them. To use them special patched GTK and SDL versions are required, the related patch and build scripts are part of the XFast package. Beside of that XFast offers an own GUI widget library that can be used to write native applications for that windowing system.
XFast is free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
that was licensed under the GPL
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
.
History
XFast is a forkFork (software development)
In software engineering, a project fork happens when developers take a legal copy of source code from one software package and start independent development on it, creating a distinct piece of software...
and further development of the Xynth
Xynth
Xynth is an embedded windowing system, released under LGPL, developed for systems with low resources, is an alternative for X Window System.The goal of the project is to release a soft but portable and powered Window Environment.The source language is C....
windowing system. It was branched from the original project in order to add some far reaching modifications to the environment that are not compatible with the idea behind the original project. The goal of this fork is to have a more compatible source base for both: low level embedded systems and desktop systems with bigger hardware resources.
Like Xynth
Xynth
Xynth is an embedded windowing system, released under LGPL, developed for systems with low resources, is an alternative for X Window System.The goal of the project is to release a soft but portable and powered Window Environment.The source language is C....
, it is not an implementation of the X11 protocol.
Features
- UDS (Unix Domain Sockets) for IPC
- DMA (Direct Memory Access) for each client window surface
- overlapped client window - server management
- 8-way move, resize
- runtime theme plugging support
- image renderer for xpm, png and gif
- antialiased fonts with freetype Library.
- device independent basic low-level graphics library
- rgbcolor, colorrgb, setpixel, getpixel, hline , vline, fillbox, putbox, putboxmask, getbox, putboxpart,
- putboxpartmask, copybox, getsurface, setsurfacevirtual, setsurface
- overlay drawing ability
- rgbcolor_o, colorrgb_o, setpixel_o, getpixel_o, hline_o, vline_o, fillbox_o, putbox_o, putboxmask_o,
- getbox_o, putboxpart_o, putboxpartmask_o, copybox_o, getsurface_o, setsurfacevirtual_o, setsurface_o
- anti flicker double buffer rendering
- keyboard, mouse, touchscreen drivers
- remote desktop support
- built-in window manager
- low memory and CPU usage and footprint
- in 1024x768 32 bits mode with 253 clients memory usage is ~2,5M
- static linked binary is <125K