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