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