Roadmap 2024

Benjamin Lamowski benjamin.lamowski at genode-labs.com
Wed Jan 3 19:18:25 CET 2024


Hello everyone!

> Reflections of 2023

For me, 2023 was dominated by virtualization-related topics and getting
Rust to work on Genode.

The first few months of the year I was busy wrapping up support for SVM
in base-hw and still wrapping my head around bits and pieces of the
Genode OS Framework. Preliminary SVM support got merged as part of the
23.05 release and the same release saw a proof of concept port of the
Rust toolchain to Genode.

Through collaboration with my colleagues, notably Sebastian Sumpf, by
release 23.08 we refined our Rust support to the point where we managed
to use an unmodified FreeBSD toolchain, which greatly lowered the effort
for adoption or maintenance.

Meanwhile, I ported a first complex Rust package, which thanks to the
ever improving Goa tool went very smoothly. Building on the great work
and advice by Alexander Böttcher and Christian Helmuth, I built a 
new-paradigm virtualization interface across all kernels and 
architectures supported by Genode. Tackling corner cases on all platform 
proved to be a bigger challenge than expected, but the new interface got 
released with Sculpt OS 23.10, and has proven itself in daily use for 
Genode release 23.11.

Testing my implementation of Intel's VMX virtualization in base-hw
revealed a few shortcomings that still need to be addressed before we
can take it for a spin with Sculpt OS, which brings me to my plans for
this year:


> Plans for 2024

First of all, I want to wrap up my virtualization work and adapt base-hw 
for more dynamic workloads to get it ready for use in Sculpt OS on x86. 
After that, I would like to look into worthwhile optimizations of its 
virtualization support.

Chiming in on the theme of usability, I would like to explore how we can
refine resource allocation for Sculpt OS Components to scale from the 
Pinephone to a (potentially multi-monitor) 4k setup.

Last but not least, I'm still pondering in which direction to take our
Rust support. I would love to explore how an idiomatic Rust component
would interact with our framework, but as I have written previously[1],
we currently don't have a strong enough use case to craft a Genode ABI
for use with a no_std Rust component. That being said, I hope to
contribute a little rusty streak to the colorful exploration of (GUI)
usability for next year to widen our current scope of Rust- and 
multi-language support. Maybe a little helper application that combines 
our libc interface with a 3rd-party (graphical) library and a few select 
direct calls to Genode? I have to admit that I don't yet have a specific 
project in mind though.


I can only agree with Norman that it was a pleasure to see Genode mature
in everyday use on our development devices, and I'm excited what the
next developments in the GUI stack, (ACPI) platform discovery and input 
device, multi-monitor and suspend to RAM support will bring.

Best wishes,

Ben

[1] https://lists.genode.org/pipermail/users/2023-October/008825.html

-- 
Benjamin Lamowski
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth



More information about the users mailing list