Genode OS Framework release 21.11 Nov 30, 2021

Genode 21.11 puts the spotlight on device drivers. Interactive Genode scenarios come to the PinePhone, hardware-accelerated graphics becomes available on Intel Gen9+ and Vivante GPUs, and Xilnx Zynq receives new love.

The previous release presented our new take on porting drivers from Linux, and the architectural integration of hardware-accelerated graphics in Genode-based systems. The just released version 21.11 is the continuation of both topics. Thanks to our streamlined approach for transplanting Linux drivers to Genode, we were able to reuse the PinePhone's Linux drivers for the display and touchscreen without modification. But, in contrast to running those drivers in the Linux kernel, we are walking on new ground by confining each driver in a separate sandbox.

With our GPU line of work, we followed two major directions during the release cycle. For one, we applied our architectural approach to a second GPU vendor besides Intel, namely the Vivante GPU as used by the i.MX SoC family. Combined with the etnaviv Gallium driver of the Mesa library, Genode thereby becomes able to render graphics with hardware acceleration on the MNT Reform open-hardware laptop. The second branch is the promised extension of our custom Intel GPU multiplexer to GPUs of generation 9 or newer. Thereby, GPU support has now become a regular feature of the Genode-based Sculpt OS that can be taken for a spin on commodity PC hardware.

Regarding 32-bit ARM platforms, the current release revives our engagement with Xilinx Zynq devices, which combine FPGA fabric with a 32-bit ARM CPU. In particular, the release brings the framework to the USRP E310 board, opening new hardware-software co-design opportunities.

Besides the many hardware-related topics outlined above, two functional improvements stand out. First, the Genode version of VirtualBox 6 has reached feature parity with version 5. Both versions can now be used interchangeably on Sculpt OS. Finally, libSDL2 got upgraded with support for audio and OpenGL, which is a nice pathway for hosting games on Genode.

The new version is described in full detail by the release documentation of version 21.11...

Sculpt OS release 21.10 Oct 14, 2021

Sculpt OS version 21.10 introduces GPU-accelerated graphics on Intel, media playback in the web browser, VirtualBox 6, and USB webcam support.

At the first glance, the just released Sculpt 21.10 looks and feels nearly identical to the time-tested previous version 21.03. However, a look at the installable packages reveals a firework of exciting new features.

First and technically most exciting, the new version enables the use of hardware-accelerated graphics on Intel GPUs, paving the ground for graphics-intensive applications and games. The GPU support is based on the combination of the Mesa library stack with our custom GPU multiplexer as featured in Genode 21.08. Note that this fresh new feature should best be regarded as experimental and be used with caution.

Second, our port of the Chromium-based Falkon web browser has become able to present media content like videos and sound. Look out for the browser in the tools menu of cproc's depot. It is accompanied with a ready-to-use audio driver and a mixer component. In cases where audio output is not desired, the browser - or any other component that requests audio output - can be connected to a new component called black hole, which merely mimics an audio driver without any audible effect.

Third, with the addition of the new file-vault component, Sculpt now provides an easy way to setup and use an encrypted file store using our custom CBE block encrypter as underlying crypto container. The file vault is especially useful in combination with the recall-fs component that provides each client with a distinct storage compartment.

Finally, the support for USB webcams as introduced with Genode 21.05 has entered Sculpt OS in the form of a new webcam package. The webcam support can best be combined with our new port of VirtualBox 6 that is available in addition to VirtualBox version 5. With Sculpt 21.10, both VirtualBox versions can be used in parallel.

Sculpt OS 21.10 is available as ready-to-use system image at the Sculpt download page and is accompanied with updated documentation. More details about individual new features of Sculpt 21.10 will be covered soon by dedicated articles at https://genodians.org.

Genode OS Framework release 21.08 Aug 31, 2021

The highlights of Genode 21.08 are revamped GPU support as well as new drivers for the PinePhone and MNT-Reform laptop based on a new streamlined approach for porting Linux kernel code. Further topics range from VirtualBox improvements, over media playback in the native web browser, to LTE connectivity in Sculpt OS.

For complex driver stacks, Genode largely relies on code ported from other operating systems. The Linux kernel plays a special role because - being the basis for Android - it is the de-facto reference for driving the peripherals of most ARM SoCs. Up to now, however, the porting efforts of driver code from Linux to Genode used to be a time-intensive affair, which forced a narrow focus on very few SoCs on us. With the streamlined porting approach introduced with the new release, we become able to dramatically reduce the costs, creating the prospect of a much broader hardware support. The first success stories of the new way of porting are added graphics drivers for the PinePhone and the MNT-Reform laptop, a network driver for the Pine-A64-LTS board, and an SD-card driver for the MNT-Reform.

The second spotlight of the release is the largely revamped support for Intel GPUs. In contrast to our experimental GPU-related work of the past, we have now identified a way to cleanly integrate GPU support into the GUI architecture of sophisticated Genode systems such as Sculpt OS. This work is accompanied with an up-to-date version of the Mesa library stack. In combination with the improvements of our custom GPU multiplexer, we are now on a good track to make the use of hardware-accelerated graphics a commodity on Genode.

Even though most topics of the current release revolve around low-level driver-related work, the new version improves higher-level functionality as well. In particular, it adds the modular integration of mobile-data connectivity to Sculpt OS and enables media playback for our port of the Chromium web engine. Those and more topics are described in the detailed release documentation of version 21.08...

Genode OS Framework release 21.05 May 31, 2021

Version 21.05 introduces webcam support, features an encrypted file vault for Sculpt OS, and adds new drivers for the i.MX8 SoC and Pine-A64. Furthermore, it is accompanied with a new tool chain based on GCC 10 and new guidance documentation for driver development.

Device-driver support remains a prominent topic for almost every release. The just released version 21.05 is no exception, touching hardware topics ranging from USB, over I2C on i.MX8, over GPIO on Pine-A64, to networking on RISC-V. Until now, such nitty-gritty driver-development work has been pursued almost exclusively by the core team at Genode Labs. To encourage developers outside the inner circle to join the fun, the release is accompanied with the initial version of a comprehensive guidance documentation for hardware-related topics.

Feature-wise the two highlights of the new version are webcam support and an easy-to-use encrypted file store based on our custom CBE block encrypter. As detailed by the release documentation, both features leverage Genode's architecture in unique ways to attain high flexibility without an inflation of complexity.

The release is rounded up by a new tool chain based on GCC 10 and Binutils 2.36, profound performance optimizations, framework refinements, and new assistive tooling for porting Linux drivers. All the details of the new version are covered by the official release documentation of version 21.05...

Sculpt OS 21.03 boots now in 2.5 seconds May 03, 2021

We have released an updated Sculpt 21.03 image featuring several hardware-compatibility tweaks and performance improvements.

Since the official Sculpt OS 21.03 release end of March, we continued our efforts with refining the user experience and broadening hardware compatibility, thanks to the user feedback we received. We have now released an updated system image that includes those refinements as well as several performance optimizations that boost the boot time of Sculpt to less than 2.5 seconds from the first life sign of the kernel to the graphical user interface (measured on a 5-years old Lenovo x250 laptop).

You can get the new version of the system image named sculpt-21-03b at the Sculpt OS download page. It is binary compatible with the original release version. So you can use it as a drop-in-replacement.

For manually reproducing the image, please refer to the corresponding Git branch.

Sculpt OS release 21.03 Mar 24, 2021

Version 21.03 of the Sculpt operating system makes the system resilient against classes of driver failures, adds configurable real-time priorities, and introduces interfaces for screen capturing and user-event injection.

Sculpt OS 21.03 incorporates the many improvements of the latest two Genode releases. Thanks to Genode's concept of pluggable device drivers, the system has reached a new level of robustness against malfunctioning drivers. For example, if the Intel graphics driver trips over an unsupported external display, the driver gets automatically restarted while all graphical applications keep running. Or as another example, should the overly complex Wifi driver have a hick-up, it can be restarted with a simple mouse click without harming the networking stacks running on top.

Even though Genode supports static-priority scheduling since more than a decade, Sculpt did not make this feature available to end users so far. The new version changes that. For each component, the user can now take a deliberate decision about the hard scheduling priority, e.g., prioritizing latency-critical multi-media applications over computational workloads or virtual machines.

Speaking of workloads, to push the limits of what is possible with Sculpt OS, the new version introduces additional interfaces that can be assigned to components. First, it has become possible to redirect the interaction of a component with the kernel through another component, thereby enabling features like dynamic CPU-load balancing to be implemented as plain user-level services. Second, there are new interfaces for capturing the screen and for injecting input events. The latter interfaces pave the ground for virtual keyboards, screen-sharing application, or remote administration scenarios.

Under the hood, there are plenty of improvements that make the life of Sculpt users better. The keyboard layout can now be picked from a menu. The Chromium-based Falkon web browser runs circles around the previous version. Menu items and file lists appear nicely sorted. Terminal windows immediately respond to global font-size changes. On modern Intel machines, Sculpt leverages Intel Hardware P-states (HWP) for power and thermal management now. You can find an illustrated tour of these and more changes in a dedicated article at Genodians.org.

The updated manual goes into detail about the use of the new system.

The ready-to-use system image for version 21.03 is available at the Sculpt download page.

Genode OS Framework release 21.02 Feb 25, 2021

The highlights of version 21.02 are the addition of VirtualBox 6, mobile-data connectivity via LTE, pluggable network drivers, initial support for the Pine-A64-LTS board, and revived work on RISC-V.

Many topics of the current release draw a connection to our overarching goal to use Genode on the PinePhone by the end of the year. Besides the obvious steps of enabling the hardware - starting with the Pine-A64-LTS board - the release introduces mobile-data connectivity as a Genode feature, and changes the network-driver architecture in anticipation of dynamic power-management schemes.

For PC hardware, the flagship feature of version 21.02 is the addition of VirtualBox 6, giving us the prospect to eventually replace the aging port of VirtualBox 5. Speaking of VirtualBox, the release comes with profound improvements of the USB-device pass-through abilities, most importantly covering audio headsets.

Besides these prominent features, the new version comes with many further improvements. Just to name a few, virtual machines on ARM have become able to provide VirtIO-block devices to guests, named pipes can now be used to connect components, Genode's RISC-V support received an update to ISA spec 1.10, and OpenSSL has been bumped to version 1.1.1. For the full story, please refer to the release documentation of version 21.02...

Road Map for 2021 Jan 15, 2021

In 2021, we plan to bring Genode to the PinePhone, advance the framework's GPU support, and focus on development workflows.

During the annual road-map discussion on Genode's public mailing list, the following hot topics for this year emerged.

First and most inspiring for many Genode developers, we aspire to have Genode running on the PinePhone with basic feature-phone functionality by the end of the year. Since this will involve substantial device-driver-related developments, the team will take this line of work as an opportunity to advance the tooling and workflows for carrying out such tasks. This, in turn, will hopefully ease the on-boarding of new driver developers in the future.

Closely related to the PinePhone scenario, the project will make optimizations a top priority this year. The opportunities are plenty, ranging from micro-optimizations, over API refinements, to architectural changes if needed.

Another recurring topic is the request for GPU support, which is required by many modern workloads such as video conferencing or streaming on mobile device. Therefore, we will revamp our past developments of GPU multiplexing on Intel hardware while also starting the investigation of GPUs on ARM-based devices.

More information about our review of the past year, this year's focus, and a rough schedule are presented at our official road-map page.