Graphical User Interfaces

Our portfolio of GUI-related products

DOpE, a window server for real-time and embedded systems

DOpE (Desktop Operating Environment) is a window server originally created for the Dresden Real-Time Operating System (DROPS). Thanks to DOpE's sophisticated local scheduling of drawing operations, any output on screen and user interaction have a bounded latency. Furthermore, graphical hard-real-time applications are able to reserve a fixed amount of bus bandwidth to the graphics hardware. Even though originally designed for the DROPS real-time operating system, the DOpE GUI server supports several other platforms such as Linux, raw embedded platforms without operating system, and custom hardware based on Xilinx' Microblaze soft core. Learn more about our FPGA-based graphics solution...

Screenshot of the DOpE window server

More information

Demonstration of DOpE, a Window Server for Real-time and Embedded Systems
N. Feske and H. Härtig:

(In Proceedings of the 24th IEEE Real-Time Systems Symposium (RTSS 2003), December 2003, Cancun, Mexico)

Technical report featuring more details

Nitpicker, a minimal-complexity GUI server

Nitpicker does to legacy GUIs what a Hypervisor does to legacy operating systems. It virtualizes the frame buffer output and user input in a way that enables the user to execute any number of windowing systems at the same time, displayed on one and the same screen while keeping those windowing systems completely isolated from each other. Furthermore, Nitpicker addresses the problem of securely labeling screen regions and it is designed to be resistent against denial-of-service attacks. The nicest property of Nitpicker however, is its extremely low source-code complexity of just 1,500 lines of code. These are very good news, especially when the complexity of the TCB (Trusted Computing Base) becomes a crucial point.

Screenshot of the Nitpicker GUI server

See the full screenshot of the trusted path facility of Nitpicker...

More information

A Nitpicker's guide to a minimal-complexity secure GUI
Norman Feske and Christian Helmuth

(In proceedings of the 21st Annual Computer Security Applications Conference (ACSAC 2005), Tucson, Arizona, USA, December 2005)

Scout widget set

The Scout widget set was originally developed for the Scout tutorial browser, which is an interactive tutorial browser that displays a multi-page hyper-linked document. The document can contain accentuations, images, nested items, enumerations, verbatim text, and special execute-links for starting external programs. The implementation features advanced details such as anti-aliased fonts, a real-time-generated procedural texture that changes while scrolling, smooth acceleration and deceleration of scrolling with automatic deceleration at the boundaries of a page, images with alpha-channel, translucent icons that distort their background with correct refraction as computed by POV-Ray, drop-shadows, and fading icons and hyper-links on mouse-over. The complete source code of Scout including the graphics functions, the widget set, and the window handling comprises less than 4,000 SLOC. Scout demonstrates that a useful and graphically appealing graphical applications can be realized at low source-code complexity.

Screenshot of the Scout tutorial browser

The widget set of Scout is also used for the demonstration scenario supplied with the Genode OS Framework distribution.

postal address:

  Genode Labs GmbH
  Dammweg 2
  D-01097 Dresden

visiting address:

  Genode Labs GmbH
  Friedrichstr. 26
  D-01067 Dresden

phone:

  +49 351 3282613

email:

  info@genode-labs.com