Roadmap 2024

Sebastian Sumpf Sebastian.Sumpf at genode-labs.com
Wed Jan 3 14:27:06 CET 2024


Hi all,

On 21.12.23 16:57, Norman Feske wrote:
> Reflections of 2023

For me 2023 started out with optimizing Genode's GPU Session for our Intel GPU 
multiplexer. GPU clients, like Mesa, often make a lot of fine grained video 
memory allocations, which led to a very large number of capabilities required 
because each allocation led to the creation of a Buffer object in the 
multiplexer that needed to be mapped to the client. In order to improve the 
situation, I removed the Buffer concept from the GPU session and replaced it 
with the notion of Video RAM (VRAM). A Mesa client now allocates large chunks of 
video memory (16MB) and handles small allocation locally. This decreased 
capability usage by an order of magnitude. Additionally, I implemented support 
for GPU Resets (GPU versions GEN9 and GEN12), so the GPU can recover from hangs 
caused by malicious or buggy clients.

After that I took a deep dive into the Sailfish-OS SDK in order to use it for 
application development for Genode on the PinePhone. I learned a little QML and 
started implementing my own QML Plugin because the GUI part of the Sailfish SDK 
(Silicia) is not open source. While this effort eventually failed (we settled on 
Ubuntu Touch or Lomiri how it is called now) it proved to be a valuable 
experience later in the year.

Because we needed a SIP client for Voip on the PinePhone, Josef and myself 
ported the LinPhone SDK to Genode. Because the SDK uses CMake as a build system, 
we could take full advantage of our Goa tool, while adding some improvements 
there on the way. For the GUI part my previous Sailfish/Ubuntu UI experience 
came in handy, as we used Ubuntu Touch's "Linphone Simple" as a base on Genode 
which required Josef to write QML Plugins.

With our ongoing effort to port all legacy DDE-Linux drivers to our new 
approach, I took care of the USB client drivers (HID, network, and modem). 
Because the network driver and the LTE-modem driver (MBIM) are very similar I 
was able to merge them into one driver. The last remaining artifact now is our 
Linux based IP stack (lxip), which I am currently updating from Linux version 
4.4.3 to 6.1.20. Because this port is so ancient, it is more like a complete 
re-write. We additionally intent to replace the vfs_lxip Plugin with a more 
generic one that handles lwip and lxip, so this effort might well continue into 
2024.

I helped with the Goa Project where my expertise seemed fit and I really like 
the overall progress.

> Plans for 2024

For this year I would like to finally get rid of all the legacy DDE-Linux 
projects. I would also like to update Mesa to the current version by using Goa. 
This requires Meson support in Goa, which might become my Hack'n'Hike project 2024.

Since I use an Alder Lake laptop now, 3D acceleration and proper audio driver 
support would be a nice to have for me personally. If there is spare time, I 
want to have a look into audio re-sampling, since this becomes an increasingly 
pressing matter.

Looks like it is going to be an interesting year for Genode,

Sebastian












More information about the users mailing list