Roadmap 2021

Michael Grunditz michael.grunditz at gmail.com
Sat Dec 19 10:52:09 CET 2020


Hi! Sorry for topposting!
Thanks for everything made in 2020 and exiting (as always ) thoughts about 2021.

I decided to send out my own "roadmap" instead of polluting this thread.

The best thing with Genode imho is that it doesn't force me of what I
want to run. If I need base-hw with a couple of drivers it doesn't
include a big mass of software or unrelated drivers. It is also easy
to port to new hardware thanks to the abstraction being quite easy to
grasp.

I think your roadmap is great. PinePhone is exciting but would need a
big rethink on UI,

Michael

On Sat, 19 Dec 2020 at 05:46, Colin Parker <cvparker at gmail.com> wrote:
>
> Hi Everybody,
>    As a hobbyist who's been following Genode for about a year now (I was running Sculpt on my home computer for a few months), I thought I would offer a few thoughts. Since I mostly do stuff for fun and at a slow pace, I don't expect to be influential in any serious way, but perhaps the perspective of hobby users is valuable nonetheless? Overall I'm very impressed with Genode/Sculpt - the philosophy and approach is pretty cool, and I have some successes with it. For example, I was able to port the Qt version of the "2048" game, and recently I have been trying to port the HelenOS driver for AR9271 usb wifi dongle - it is work in progress and non-functional currently. I also appreciate the level of active development going on - each new update brings cool stuff, so I think the past year of Genode updates was interesting to see.
>
> If there's one wish I have it would be better hardware support and resiliency. Currently, unless I misunderstand, the hardware support list mostly reflects the hardware that Genode Labs uses, and there doesn't see to be much dynamic handling of identifying and loading drivers. Example 1 - Sculpt will try to load a PS2 driver even on my Apple hardware that doesn't have any, leading to system crash. Example 2 - Sculpt uses pretty simple hard-coded logic to select which framebuffer driver to use, when I was expecting an XML file somewhere to allow more fine-grained control of which vendor/product IDs to assign to which driver (and also to identify and match other drivers, I guess). Example 3 - When the FB driver crashes, the rest of the system is resilient and continues to run. But, of course this is nearly useless because there is no way to reset the driver. Given my understanding of the component-based architecture, it seems like these things shouldn't be insurmountable issues. It should be possible to identify a failed component, kill it, and replace with a new instance, I think? It would be fun, in non-embedded applications, to be able to compile an experimental driver within a VM, push the result back to the running system, test it, tweak and recompile, etc. With that kind of workflow, maybe we could hope for more experimental/community drivers, at least on PC hardware?
>
> Anyhow, those are my thoughts, thanks for making Genode!
>
> Regards,
> Colin
>
> On Fri, Dec 18, 2020 at 9:00 AM Norman Feske <norman.feske at genode-labs.com> wrote:
>>
>> Dear Genode community,
>>
>> the end of the strange year 2020 comes in sight. So now it is time
>> to kick off our annual road-map discussion. I'll keep up with our
>> tradition of reviewing the past 12 months from my personal
>> perspective, dropping my ideas for the upcoming year, and inviting
>> you to share your ideas and plans.
>>
>>
>> Review of 2020
>> --------------
>>
>> The overarching theme of our road map for 2020 was "Dwarfing the
>> barrier of entry", which expressed the ambition to reach a wider
>> audience. On that account, we identified four promising directions:
>> First, making Sculpt OS palatable for a wider circle. Second,
>> fostering the public perception of the high quality of Genode to
>> reinforce the confidence of people who are sceptical towards novel
>> operating-system technology. Third, lowering the barrier of entry by
>> providing frictionless tooling. And fourth, publicly presenting use
>> cases that prove the fitness and flexibility of Genode.
>>
>> These directions certainly did a good job of motivating the working
>> topics of this year's four releases [1,2,3,4].
>>
>> [1] https://genode.org/documentation/release-notes/20.02
>> [2] https://genode.org/documentation/release-notes/20.05
>> [3] https://genode.org/documentation/release-notes/20.08
>> [4] https://genode.org/documentation/release-notes/20.11
>>
>> The UI improvements of Sculpt OS in version 20.02 largely eliminated
>> the need to use the command line, as shown in my live demo [5].
>> But the work on the user-visible side of Sculpt has admittedly dried
>> up a bit since spring time. Software quality has been a continuous
>> topic. Personally, I dedicated a lot of energy to the improvement
>> and consolidation of our POSIX support (Noux vs. libc) and the
>> related infrastructure like the VFS server.
>>
>> [5] https://www.youtube.com/watch?v=vmgWgzeKAjU
>>
>> That said, despite the many technical advances, the stated soft goal
>> of reaching a broader audience remains fairly distant. Genode has
>> not seen a significantly wider adoption by the open-source community
>> at large compared to one year ago.
>>
>> On the other hand, regarding our stated commitment to 64-bit ARM
>> hardware, in particular supporting the NXP i.MX8 SoC, there is a
>> strong sense of accomplishment, which makes me proud. The depth and
>> breadth of this line of work has been fantastic. I'm speaking of
>> 64-bit multi-core virtualization, HDMI, touch input, OLED,
>> networking, LTE, USB, clock and power management, VirtIO, up to
>> running Sculpt OS on this platform. It is a huge success story on a
>> technical account.
>>
>> Regarding our reach to a broader community, we are super excited
>> about the prospect of combining Genode with the MNT-Reform laptop
>> that is based on the i.MX8 SoC. When speaking of i.MX8 one year ago,
>> I also had the Librem5 in mind - envisioning Genode on a smart-phone
>> form factor. But that hope remained abstract as we did not succeed
>> to establish a correspondence with the makers of the Librem5. The
>> vision of a Genode-based smart phone, however, has become stronger
>> than ever (see below).
>>
>> While reading the paragraphs above, you may sense my ambiguous
>> feelings about the past year's road map. I think we missed the
>> stated goal. I also think that we excelled at technological
>> progress. For us developers, the road map serves primarily as
>> orientation for our technical work. But since the past year's goal
>> of increasing adoption hasn't been a technical one, no level of
>> technical excellence will magically bring us there. So the goal was
>> a bit delusionally to begin with. Let us lift this pressure for the
>> next year and concentrate on the technical level.
>>
>>
>> My personal ambitions for 2021
>> ------------------------------
>>
>> * By the end of the year, I want to use a Genode-based mobile phone,
>>   replacing my current Nokia 3720. I'll focus on the _Pinephone_.
>>   In fact, I have already taken the first baby steps and will
>>   continue to thoroughly document this line of work at
>>   https://genodians.org.
>>
>> * I see plenty of opportunities for optimization throughout Genode
>>   and would like to make _optimization_ the motto of the year.
>>   The following ideas are spontaneously crossing my mind:
>>
>>   - Profiling and tuning of Unix-like workloads, in particular
>>     by looking at file-system access patterns.
>>   - Fostering the batching of async I/O, e.g., increasing the
>>     chance for the batching of network packets.
>>   - Let our ARM tool chain use the hard-float calling convention.
>>   - Replace the allocator of our C runtime by jemalloc.
>>   - Reducing the overhead of our POSIX TLS mechanism.
>>   - Taking XML parsing off the critical path for the dynamic
>>     reconfiguration of init.
>>   - Removing indirections, in particular the old libc plugin interface.
>>   - Reducing the inflation of binaries by C++ templates.
>>   - Improving compilation times by reducing header interdependencies.
>>   - Merging core's CPU and PD service into one.
>>
>> * I'm convinced that we have to dramatically reduce the engineering
>>   effort needed to port device drivers from the Linux kernel to
>>   Genode. Backed by our practical DDE-Linux experience, a few ideas
>>   have formed in the back of my head. They want out. So I see my
>>   work with the Pinephone as a welcome opportunity for experimenting
>>   in this direction.
>>
>>
>> What's your perspective?
>> ------------------------
>>
>> For drafting the road map of next year, I'm eagerly interested in
>> the perspective of my fellow developers and of course users of
>> Genode.
>>
>> How do you perceive the outcome of the year?
>>
>> What areas would you wish to concentrate on?
>>
>> Where do you see untapped potential of Genode?
>>
>> How do you envision Genode in December 2021?
>>
>>
>> I would very much appreciate your input for forming a rough picture
>> of next year. Of course, not all ideas will make it to the road map.
>> Economic constraints and the willingness of pro-active participation
>> play a major role. Regarding the timeline, I plan to announce the
>> official road map for 2021 in mid of January.
>>
>> 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
>
> _______________________________________________
> Genode users mailing list
> users at lists.genode.org
> https://lists.genode.org/listinfo/users



More information about the users mailing list