Genode OS Framework release 23.11 Nov 30, 2023

Genode 23.11 moves the IOMMU driver from the kernel to the user land, introduces CPU power/temperature/frequency monitoring and steering, comes with a new API for low-complexity GUI applications, and streamlines the framework's virtualization interface. It also improves developer ergonomics and showcases the port of the Linphone VoIP stack.

Version 23.11 of the Genode OS Framework introduces DMA protection as kernel-agnostic feature, parting with the tradition of driving I/O protection units from the kernel. This radical move is accompanied by a sweeping modernization of the framework's virtualization interface across kernels and instruction-set architectures. In other words, the release is dominated by deeply technical topics.

That said, it is not void of user-facing features either, as illustrated by the new port of the Linphone VoIP stack using the Goa tool, the extension of the Seoul virtual machine monitor to 64-bit guests, and the support for CPU power/temperature/frequency monitoring and steering on PC platforms. Furthermore, developers receive better tooling for the use and distribution of debug builds, and will observe a welcomed boost of their development-test cycles thanks to a largely streamlined build-system.

These and more topics are covered in full detail by the release documentation of version 23.11...

Sculpt OS release 23.10 Oct 26, 2023

Modern PCs provide plenty of metering and power-management options. Version 23.10 of the Genode-based Sculpt operating system makes these features available via an interactive user interface. One can watch the temperature of each CPU core, monitor the individual CPU frequencies, switch between power profiles, and reveal details about power draw.

Our official documentation introduces Sculpt as an operating system that puts the user in the position of full control. With the new release, this promise is taken to the precise control and monitoring of physical CPU parameters.

Besides restricting workloads to specific CPU cores, each individual core can be interactively parametrized, e.g., by balancing performance against power efficiency. The effects of changing these parameters become immediately visible by the monitored frequencies, temperature, and power draw. The new knobs add plenty of play value and an entirely new sense of control to the user experience. You can find the new power-control feature described in a dedicated article.

The advanced power-control abilities are accompanied with generally improved support for modern laptops. E.g., on the Framework Gen 12 laptop, features like battery monitoring, keyboard backlight control, and external displays just work now.

Like the previous release, Sculpt OS is available for both PCs and the PinePhone. The PinePhone version received several usability improvements motivated by the feedback we got from the Pine64 community. Most importantly, a new screensaver reduces the power draw to less than 40%, making the device more viable in practice. Under the hood, Sculpt completely removes the drivers for the display and the touchscreen while the screen is blanked. Those drivers are restarted when pressing the power button. Furthermore, the volume buttons have become functional, and the dial pad has become more flexible.

Beside the user-visible improvements, the underpinnings of Sculpt OS received a number of improvements. The entire software is now consistently built with GCC 12.3. The former iPXE-based network driver has been replaced by driver code of the Linux kernel 6.1.20, which works nicely on modern machines. The new version also introduces the principle mechanisms needed for on-target debugging, switches to a much revised virtualization interface, and replaces the block-encryption engine of the file vault. Users of the latter should follow the documented migration steps.

Sculpt OS 23.10 for PC and PinePhone is available as ready-to-use system image at the Sculpt download page accompanied with updated documentation. Seasoned Sculpt users can conveniently switch to the new version via the system-update dialog.

Genode OS Framework release 23.08 Aug 24, 2023

The main theme of the current release is tooling for developing, debugging, porting, and publishing Genode components. Beyond that, the release improves driver support and the internals of core and the base-framework.

The headline features of this release introduce a new multi-component debug monitor and extend the Goa tool with support for working with multiple projects.

The new debug monitor reapproaches Genode's GDB debugging support and sets smooth on-target debugging in Sculpt OS as its final goal. The monitor can transparently replace the Init component and is equipped with support for multi-component debugging by GDB inferiors. The Goa tool evolves into an all-encompassing alternative to Genode's traditional work flows for developing, porting, and publishing applications. With this release, runtime testing with Goa gets extremely flexible and handling of multiple Goa projects becomes a no brainer.

Beside the tooling topics, we round out the release with a new PC NIC driver based on Linux, new RaspberryPi/i.MX6 USB host-controller drivers, hardware-button and screensaver support on the PinePhone, improved Intel GPU/display, WiFi, and audio drivers.

Find all details of changes and improvements in the release documentation of version 23.08...

Genode OS Framework release 23.05 May 31, 2023

Besides the annual documentation update, the scheduled tool-chain update, and the switch to C++20, the release puts the spotlight on the Goa tool, which enables the use of existing SDKs like Lomiri or Rust's cargo for targeting Genode.

By now, the dedication of Genode's May releases to housekeeping tasks has become a fine tradition, and this year is no different. With version 23.05, the framework consistently switches from the C++ standard C++17 to C++20, thanks to our new tool chain based on GCC 12.3, which will serve us for the next two years. Speaking of consistency, both Genode books "Foundations" and "Platforms" have been updated to the most recent version of the framework. You can find the PDFs at the genode.org front page.

Following the recent release of Sculpt OS 23.04 targeting both PC and mobile platforms, Genode 23.05 brings good news for application developers interested in targeting Genode and Sculpt OS in particular. The release introduces the ability to use existing SDKs, in particular the Lomiri UI toolkit as well as Rust's cargo for crafting Genode applications.

A prominent topic among the previous releases is our Linux device-driver environment (DDE), which allows for the use of Linux drivers as Genode components. The current release continues this line of work by upgrading DDE to Linux 6.1.20 and by using DDE as enabler of our cross-platform Wifi stack that works for the PC and ARM platforms like the PinePhone. This way, Genode users can benefit from the enormous efforts of the Linux kernel community targeting modern hardware.

Further highlights of the new version are the initial use of our custom base-hw microkernel as x86 hypervisor, a profoundly reworked block-encryption stack, and updates of supported 3rd-party software like the seL4 kernel and VirtualBox.

All changes are covered in detail by the official release documentation of version 23.05...

Sculpt OS release 23.04 Apr 28, 2023

Sculpt OS 23.04 marks the first-time PinePhone support in addition to the PC version. With this release, the system supports live upgrades of the boot image, rendering Sculpt updates and the switching between versions a matter of some easy steps. The new preset feature brings entire application scenarios to your screen after just one click/tap.

With the fresh release 23.04, the Sculpt operating system boards the PinePhone to explore the mobile world and, thereby, adds a second platform to its year-long support for Intel PCs. In preparation, we added two key features to Genode during the past months, which are the phone-oriented Sculpt user-interface variant and the system-update functionality. Now, Sculpt versions can be switched by three easy steps directly in the integrated user interface: downloading system images to the software depot, install the desired version on the boot medium, and reboot the device.

Further, the release supports so-called presets in the system menu UI, which are entire runtime scenarios. The user can load and switch between presets by just one click. Presets currently available in Sculpt are a simple GUI demo (nano3d), a simple desktop including background picture and window manager, and a ready to use Falkon web browser. Still, components can be integrated into the system (or the currently running preset) by the + menu of the component graph.

Sculpt OS 23.04 for PC and PinePhone is available as ready-to-use system image at the Sculpt download page accompanied with updated documentation.

Genode OS Framework release 23.02 Feb 28, 2023

Version 23.02 introduces system-update functionality to the mobile version of Sculpt OS, enhances our ARM VMM for interactive guest OSes, adds DMA protection to Xilinx Zynq via a custom IP core, extends suspend/resume support, and makes Intel's P&E cores explicitly manageable.

For the first time, Genode has become easily installable on the PinePhone. The first system image is not merely a re-targeted PC version of Sculpt OS but it comes with a novel user interface, a new mechanism for rapidly switching between different application scenarios, and system-update functionality. This is everything we need to kick off the first public field test of Genode on the phone. This line of development motivated plenty of optimizations - from kernel scheduling, over the I/O throughput of the VFS, to the interfacing of GPU drivers - that made it into version 23.02.

Besides the focus on the phone, the release continues the hardware-software co-design story of the previous version by adding DMA protection to Xilinx Zynq SoCs using custom FPGA fabric, which is especially tailored for Genode. But also stationary platforms like PCs and ARM laptops received attention. On ARM, we enabled the use of interactive virtual machines by adding device models for the GPU and input events. For the PC, the principle support for suspend/resume has become available to Genode's custom microkernel in addition to NOVA, and Genode learned to distinguish Intel's performance cores from energy-efficient cores.

Regarding application workloads, the new release is accompanied by a substantially improved version of the Goa tool, which streamlines the creation, packaging, and publishing of Genode components using commodity build systems. With the new version, Goa largely automates the porting of CMake-based 3rd-party libraries for Genode.

Find these among many more topics covered by the official release documentation of version 23.02...

Road Map for 2023 Jan 17, 2023

In 2023, we will make the mobile version of Sculpt OS fit for end users, unleash advanced hardware features of Intel platforms, switch to C++20 by default, and run the feature-complete PC version of Sculpt OS on Genode's custom-tailored microkernel.

After having enabled all hardware features of the PinePhone that are fundamental for a mobile phone over the course of the past year, the project now aims at getting the mobile version of Sculpt OS into the hands of end users. Throughout the year, there will be multiple rounds of field tests within the community, allowing us to reach the desired state of maturity and usefulness in an iterative way.

On PC platforms, Genode will increasingly address advanced platform features like the distinction between power-efficient and high-performance cores, the management of temperatures and frequencies, or the practical use of suspend/resume. By the end of the year, we envision the PC version of Sculpt OS running on Genode's custom-tailored microkernel leveraging all those aspects of modern PC hardware.

Along the planned timeline of the project, one can spot plenty of additional topics of interest such as the continued line of work of combining Genode with FPGAs, applications implemented in Rust, the integration of IPv6, the use of C++20 by default, or completed driver support for the MNT Reform laptop. An exciting year lies ahead of us!

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