Roadmap 2023

Norman Feske norman.feske at genode-labs.com
Mon Dec 26 16:58:36 CET 2022


Dear Genode Community,

hereby, I'd like to kick off our yearly brainstorming about Genode's 
road map for the upcoming year. Please feel invited to chime in, sharing 
your personal observations and plans. By mid of January, I will update 
Genode's official road map, trying to weave one reasonable plan out of 
our individual interests.

Let me start with my personal reflection of the past year and the topics 
that I find tempting for 2023.


Review of the past year
-----------------------

My Genode year revolved all around the PinePhone, which was an extremely 
challenging and rewarding experience.

Driven by the vision of a Genode-based smartphone, I had to tackle 
topics ranging from the schematics of the device, over plenty of 
peripheral drivers, up to the user-interface level. Along the way, I 
found myself entrenched in a staggering variety of topics. To name a 
few: A custom Forth interpreter for our firmware for the PinePhone's 
system-control processor, programmed in OpenRISC assembler. Implementing 
a low-complexity AT-protocol stack talking to the modem, enabling voice 
telephony and mobile-data connectivity. Coming up with a suitable 
user-interface concept for the mobile variant of Sculpt OS, and 
implementing it. The exploration and implementation of power-management 
features like voltage and frequency scaling. Reducing the time from cold 
start to the user interface to only 5 seconds. Getting the application 
performance up to an acceptable level, grabbing all straws in reach.

This was of course not a one-man show but a team effort. I found myself 
very happy being strongly supported by Christian, Sebastian, Josef, and 
Stefan who played huge roles in wrestling with the hardware and 
ultimately enabling scenarios like media playback in the Morph browser 
on the PinePhone.

The result makes me immensely proud. Moreover, we haven't just managed 
to get it to work, but we gained detailed guidance documentation [1] as 
a collateral effect. The main motivation behind my laborious writing 
effort was to lower the barrier of entry for others who wish to port 
Genode to further mobile platforms in the future. Let's see how this 
plays out.

[1] https://genode.org/documentation/genode-platforms-22-05.pdf


Interests for 2023
------------------

Personally, there are four main interests, I'd like to focus on now.


1. Completing the support for the PinePhone

Genode on the PinePhone evidently works now. But I want to make it rock! 
I'm eager to implement a prolonged standby mode that will allow me to 
leave the phone unplugged for a week while staying receptive for calls. 
I want to make the installation and use of custom software an easy and 
enjoyable experience. Finally, by integrating privacy-protecting 
functions like the file vault or WireGuard VPN support, the mobile 
version of Sculpt OS will give me the assurance I'm seeking for my 
personal mobile companion device.

At the beginning of February, I'm going to present the current state at 
FOSDEM's "FOSS on Mobile" Devroom [2] and will invite the community for 
a field test. By May, I want to reach a state where we can offer a ready 
to use image for PinePhone for a broader user base.

[2] https://fosdem.org/2023/schedule/event/genode_on_the_pinephone/


2. Moving existing applications to Sculpt OS

With Goa [3], we already have a nice starting point for bridging the gap 
between existing software and Genode. I want to elevate Goa from a 
personal project to an official Genode project. One particular ambition 
is the use of Goa for re-targeting existing mobile apps to the mobile 
version of Sculpt OS (e.g., using the APIs of Sailfish or Ubuntu touch 
UI). I'm thinking of an Open-Street-Map client and a messenger as 
particular examples. Should we manage to achieve a frictionless way to 
bringing existing apps to Sculpt OS, we may have a chance of spawning a 
broader active community.

[3] https://github.com/nfeske/goa


3. Improved support for Intel GEN12

This month, I swapped out my trusty Lenovo x260 by a GEN12 Frame.work 
laptop as Genode development machine. It is a very nice laptop. Still, 
there are quite a few rough edges that need attention. The fan can get 
very noisy, which we can presumably fix by better driver support for CPU 
power and temperature settings. I know that Alexander has already done 
promising exploratory work, which I'd love to replicate and finally make 
it a regular feature. Closely related, I'm missing the battery-state 
applet on the new machine, and the of the PS/2-emulated touchpad is, 
well, an interim solution at best. I ultimately long for a proper 
touchpad driver with support for common gestures.


4. Distillation of Genode's base mechanisms

Whereas the first three points address practical concerns, I also want 
to turn my attention to the framework architecture. During the past two 
years, I discovered several ways for simplifying the base system, 
slimming down the framework API, and lowering Genode's footprint. Think 
of my ambition to reduce the reliance on the C++ exception mechanism, 
consolidating core's PD and CPU services into one, streamlining the 
signalling mechanism, or re-implementing the page-fault handling across 
the various kernels. There is a lot of potential, which will ultimately 
open up new optimization opportunities. I restrained myself from 
exploring those ideas to retain my focus on the PinePhone. But they want 
out. The second half of 2023 would be a good time.


What about you?
---------------

Even though I hope that the thoughts above resonate with you, I'm pretty 
sure you have different perspectives. Please share them!

How did you perceive the Genode year 2022?

What directions are you most excited about?

Which topics do you deem as interesting to explore yourself?

Do you already happen to have rough plans about 2023?


Cheers
Norman

-- 
Dr.-Ing. Norman Feske
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