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