Hello Genodians,

a year is almost over and here are my two cents to the roadmap review and wish 
list. First, I want to say that I'm really proud about the accomplished 
technical work by Genode over the whole year. Getting Sculpt OS to the i.MX8 
board with all the device drivers running is not given nor easy.

Before starting with the ideas for next year, I will review the input of me [0] 
and see how it was tackled:

The screen-casting topic developed a bit differently then I aspired, but it 
occupied me over the whole year over and over. On the one hand, in the 
beginning of the year, I was faced by streaming somehow Android to Genode, 
which resulted in the Scrcpy work eventually. It was really alien to me in the 
beginning, required to leave my comfort zone. Reading/understanding/extending 
an Android app and using Java I had done years back at University. On the other 
hand, this work also reinforced to me the motivation, not solely the pandemic, 
to record our demos and new features whenever possible. The Scrcpy work also 
strongly strengthen the believe that the CPU migration work, done in the second 
part of the year, is required for ported software. All in all, now I even do 
video editing, which was alien to me, and I already could support my fellow 
developers with that :-). Of course, the quality needs improvements but also 
requires more time. Let's see. Nevertheless, I see it as success - probably, we 
never uploaded more Genode related videos within one year ever [1][2][3][4].

Even so my envisioned [0] improved AMD support did not make it to the official 
roadmap, I invested some of my private spare time. The base is the base, and 
upholding isolation of mad going devices/drivers from the rest of the Genode OS 
components is crucial. This lead to the work of adding IO-MMU support for AMD 
machines to get to the same isolation level for device drivers as for the Intel 
machines. Testing this feature on all of the modern AMD machines of my friends 
and family took a while to get it done and straight. With an extended Sculpt 
20.08 image at hand, I discovered and addressed several other issues, e.g. 
network and USB. Finally, I started to improve the VBox5 AMD support in my 
private spare time, which still needs some tweaks. My hope is, that with the 
next Sculpt OS release more AMD machines are usable actually.

Of course, also several smaller topics and clean up work through the whole 
Genode framework (e.g. replacing Genode lock with mutex/blockade) were part of 
the year.

For the next year, I would like to see progress in the following topics and I'm 
willing to work on them and/or contribute to:

* Extended desktop support using multiple monitors (so, not just mirroring as 
today) with Sculpt OS.

* Update of our Intel GPU work (done some years ago) and integrate with Sculpt 
OS, e.g. make it usable in a daily fashion.

* I really would like to move my daily developer load (edit/compile/link/run) 
out of a VM. This is possible since long time, but requires better integration 
with Sculpt and performance improvements on various edges.

* Extend easiness of writing multithreaded service/multiplexer components. In 
principle this is possible, but requires some love and extensions to minimize 
unnecessary cross CPU load.

* SMMU (read: I/O-MMU by ARM) in our own base-hw kernel.

Cheers,

Alex.

[0] https://lists.genode.org/pipermail/users/2020-January/007003.html
[1] https://www.youtube.com/channel/UCondpn1UQ_TTNMVq3sbZLlg
[2] https://www.youtube.com/channel/UCp32vvUpjfAh6D7yHJyGpAQ
[3] https://www.youtube.com/user/Hyronimo1
[4] https://www.youtube.com/user/zero2nowhere

On 18.12.20 14:58, Norman Feske 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
> 

-- 
Alexander Boettcher
Genode Labs

https://www.genode-labs.com - https://www.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@lists.genode.org
https://lists.genode.org/listinfo/users

Reply via email to