Roadmap 2020

Stefan Kalkowski stefan.kalkowski at genode-labs.com
Wed Jan 1 15:24:20 CET 2020


Hello & a happy new year to all of you,

my personal interests list to Genode's 2020 roadmap is:

* A more sophisticated window-manager incarnation for Sculpt

I use several virtual-machines aside, as well as noux shell,
pdf-viewer, battery-applet, and top-view. At last, it became
unmanageable to use all these windows overlapping each other, and
without a feedback when switching in between.

* Performance optimization

As Norman already pointed out, now it is a good time to enhance
overall performance for certain scenarios. Especially, I would like to
use Genode for editing source-code and interact with git. The latter
certainly needs some care to be usable with repositories of reasonable size.
In a second step, compiling Genode components within Genode in
comparable time would be nice as well.

* Mail client

We had this plan already in the past. I definitely would like to get
rid at least of one virtual-machine currently used for mails. A good
target to use the new Goa tool to port all necessary third-party
tools.

* ARM platform driver for i.MX8

We now have a bunch of drivers available for i.MX* processors, but they
have to be compiled for the corresponding board and configuration.
Moreover, a dynamic form of power and clock settings for the
corresponding devices is missing. Dynamic recovery of devices
available via PCIe is missing too. Aligning the concept of the
platform driver for x86 with the needs of modern ARM devices like the
i.MX8 series would be nice. Especially, when using Genode in a mobile
context.

* Sculpt OS on ARMv8

We already have a lot of features enabled to run a Sculpt OS scenario
on ARMv8, but there are still some minor things missing like a Virtio
block model in our new ARMv8 VMM to run Linux VMs inside. In the end,
I would love to use Sculpt on a MNT Reform [1].

Those are my thoughts regarding the upcoming roadmap. I'm curious
about the further discussion.

Best regards
Stefan

[1] https://mntmn.com/reform/

On Fri, Dec 27, 2019 at 02:33:38PM +0100, Norman Feske wrote:
> Dear Genode community,
> 
> the year 2020 is approaching, which prompts me to kick off the
> discussion of our road map for the year to come. Before drafting plans,
> however, I'd like to share my personal reflections of the past 12 months.
> 
> For the road map 2019, we picked "bridging worlds" as our guiding theme:
> (1) Lowering the friction when combining existing software with Genode,
> (2) Fostering interoperability with widely used protocols and APIs, and
> (3) Making Genode easier to approach and generally more practical.
> 
> With respect to (1), we identified Genode's custom tooling (build
> system, run scripts, ports mechanism, depot tools) as a point of
> friction. They are arguably powerful and flexible but require a lot of
> up-front learning. This is certainly a burden unacceptable for a casual
> developer without a black belt in Make and Expect/Tcl. The new Goa tool
> rearranges the existing tools in a way that puts the concerns of casual
> developers into focus, allowing for the use of commodity build systems,
> eliminating Tcl syntax from the equation, running sub-second test
> cycles, and streamlining the packaging of software.
> 
> On account of (2), we switched to C++17 by default, fostered the use of
> Java, updated Qt5, and put POSIX compatibility into the spotlight. We
> were eventually able to dissolve the need for our custom Unix runtime
> (Noux) because all features of Noux are covered by our regular libc now.
> 
> Our biggest step towards (3) is the https://genodians.org website we
> started in winter 2019, which gives individual members of our community
> an easy way to present thoughts, projects, and experiences.
> Complementing Genode's formal documentation, it also conserves practical
> tips and tricks that were previously not covered in written form.
> 
> When speaking of "bridging worlds", I should not forget to mention the
> tremendous effort to bring Sculpt-OS-like workloads to the 64-bit ARM
> world. Thanks to the added support for multi-core AARCH64,
> hardware-based virtualization, and network/USB/graphics drivers for the
> i.MX8 SoC, the flexibility of Sculpt OS will eventually become available
> on PC hardware and ARM-based devices alike.
> 
> Over the course of 2019, we admittedly skipped a few topics originally
> mentioned on our road map. In particular, the user-visible side of
> Sculpt OS received less attention than originally envisioned. We also
> deferred several ideas we had in mind about reworking our GUI stack.
> Instead, we expanded our work in the areas of storage (block-level APIs,
> test infrastructure, block encryption) and input processing. This shift
> of focus is mostly attributed to the priorities of Genode Labs'
> customers who fund our work.
> 
> 
> Drafting plans for 2020
> -----------------------
> 
> Hereby, I'll just present my personal interests and invite you to do the
> same. When carving out Genode's official road map for 2020 until mid of
> January, I will then try to condense all the input into a tangible plan.
> 
> Personally, I think that after "bridging worlds", it's time for "use,
> consolidation, and optimization".
> 
> - It is certainly too early to call Goa a success. In order to find out
>   if we are on the right track, I want to expose Goa to as many problems
>   as possible, primarily by the means of porting software.
> 
> - I'd love to pick up our ideas about Genode's GUI stack, accommodating
>   headless scenarios, multi-head, screen capturing, color depth, and the
>   ability to restart drivers.
> 
> - I have a huge backlog of ideas about the user-visible side of Sculpt
>   OS, which would make Sculpt OS more pleasant to use and much more fun.
>   E.g.,
> 
>   - Replacing Unix/Vim-based interface of the Leitzentrale with a
>     graphical user interface
>   - Making the Leitzentrale's layout more logical
>   - Keyboard-based navigation
>   - Context-aware on-screen documentation
>   - Settings embedded in the graph nodes of the runtime view
> 
> - I see plenty of opportunities for optimization throughout the entire
>   software stack. With the rich C runtime in place now, it becomes
>   easier than ever to stress the system from various angles, which is
>   a great motivator for optimization work.
> 
> - Genode's binary compatibility across a variety of kernels is a key
>   feature of the framework. I'd like to push it even further by unifying
>   the capability-space management among all the kernel platforms.
>   Such a consolidation would make Genode less reliant on the subtle ways
>   how edge cases are handled by each kernel (in-kernel data structures,
>   capability re-identification), and reduce the amount of kernel-
>   specific code to maintain.
> 
> 
> This is merely my personal point of view. Now I'm very interested in
> learning about your's! Please don't hesitate to share your perspective
> on the project, your priorities and plans, and topics you would
> anticipate most.
> 
> 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
> 
> _______________________________________________
> Genode users mailing list
> users at lists.genode.org
> https://lists.genode.org/listinfo/users

-- 
Stefan Kalkowski
Genode labs

https://github.com.skalk | https://genode.org



More information about the users mailing list