A confession for 2023

2023-01-06 Thread Michael Grunditz
Hello Genodians!

I have something to confess, I am still in love with the traditional
desktop. Especially the one that can be found in RISC OS. RISC OS is a
*very* different system compared with Genode. It (RISC OS) is insecure
by design and the kernel is written in ARM assembly. It is a single
tasking os , but the WiMP system adds cooperative multitasking. The
system is driven around with SWI's (software interrupts). This might
sound archaic and to some extent it is. But it is probably the fastest
desktop system around. Most programs have the minimal RAM requirement
set to 4M, so a very low footprint. It is also tied to ARM32 cpus.
Acorn in England, which invented RISC OS also invented the ARM cpu. In
my opinion RISC OS is good as it is. When I say insecure, I mean that
there is no isolation between the components. I actually like that
because it gives me freedom as a coder to do whatever I like.

So.. Genode..

RISC OS will not work on future ARM cores because of end of line for
aarch32 compatible cores. It can't easily be ported because of its
design.

My vision is to make a hybrid system with Genode and RISC OS. In my
opinion both systems can gain from it. RISC OS gets modernised ways of
security and other things that probably never will work in a
traditional setup. Genode would gain a desktop as an alternative to
Sculpt.

This is a giant project that  involves just about  all aspects of an
operating system.

A little list of where I intend to begin:

* Make Genode running on a 64bit only core, Ihave chosen the Rockchip
RK3588 SoC because I have a board and that it features a lot of nice
things.
* Find a good way to run 32bit arm code. I am looking at the Unicorn
cpu emulator. I have done some tests with it and it seems to be ok.
The only drawback is the lack of *none* 1:1 mmu mappings. RISC OS
relies on mmu fully functional. I have no way of solving that at the
moment except to redevice it, a very difficult task.
* Establish ways of protocols for communication with the RISC OS layer
and core Genode.

I will start alone , but if the project takes off I will invite others.

I have no other coding projects planned for 2023, so this will be the one!

Happy Hacking!

Michael

(I am micken on irc , say hello if you want! )

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users


Re: Roadmap 2023

2023-01-06 Thread Norman Feske

Hi Martin,

thank you very much for sharing the super succinct list of topics you 
are taking into focus. Those items are perfectly consistent with the 
plans laid out so far. So they will appear almost verbatim at the road map.



These are my topics so far for the new year (roughly in order of priority):

* Base-hw multimedia performance
   * Optimizing the latency of prioritized threads on base-hw.
   * Adding support for tracing base-hw kernel threads via the TRACE
 session.
   * Re-structuring the base-hw scheduler in order to be easier to
 maintain and more performant with many priority levels.


These improvements are extremely valuable for anything multimedia on the 
PinePhone. I perceive the combination of the massively complex Chromium 
engine with low-latency real-time workload (audio streaming) on this 
resource-constrained platform as the ultimate reality test for Genode 
and the base-hw kernel in particular. So your interest in kernel 
scheduling and tracing is much appreciated.



* CBE block encryption
   * Cleaning up and consolidating the CBE-related VFS plugins.
   * Re-writing the CBE library in C++ in order to make it maintainable
 for the majority of Genode developers that are not into Ada/SPARK.
   * Fix known issues with the CBE resizing/rekeying mechanisms and
 making a plan for a self-resizing CBE.
   * Letting the File-Vault provide access to all features of the CBE.


After CBE has received little attention for some time, I'm happy you are 
going to pick it up to eventually unleash its full potential. I'm 
looking forward to see the file vault taking its place as integrated 
feature of the mobile version of Sculpt.



* Networking
   * Bringing WireGuard to PinePhone Sculpt and integrating it as mobile
 VPN network back end.
   * Keeping up with the introduction of IPv6 in Genode and applying it
 for the NIC router.
   * Cleaning up the socket FS VFS-plugin.


These points are all very much in line with Christian's ambitions.

Thanks again for the sensible plan. 2023 seems to become a fruitful 
year. ;-)


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


Re: Roadmap 2023

2023-01-06 Thread Norman Feske

Hi Samuel,


The reason I thought of using WebAssembly modules as a distribution method was 
that
Linux graphics drivers are seldom as independent of binary blobs as other Linux
drivers.  One NVidia card I had had become incompatible with the Linux kernel
during an upgrade despite having worked well for years.  Linux has an unstable
ABI so the binary blobs within the closed-source driver didn't have the correct
offsets for the kernel modules after the version 5 kernel update.

Recently, NVidia started embedding RISC-V controllers into their cards so that 
the
drivers can be implemented as a simple message passing driver instead of the
elaborate driver designs of the past.  This makes their pledges of making closed
source drivers on Linux a thing of the past, a reasonable thing to expect.

I hope that other drivers can become pure open-source as well.  With network
adapters, I'm not so hopeful.  That's why I think that the binary blobs used by
the network adapter companies are WebAssembly outside the browser.  It might not
happen overnight but as WebAssembly compilers become better, perhaps binary 
blobs
will become a thing of the past or at least use a common bytecode like 
WebAssembly.

Maybe next year the backlash against binary blobs will become sufficient to 
adopt
new standards.  Until then, I'm looking forward to a Genode PinePhone.


thank you for having taken the time to present the broader picture. Your 
motivation becomes much more clear now.


When it comes to the road map for 2023 - covering a time horizon of one 
year - these consideration may still remain far out of our view. When 
prioritizing how we spend our next 12 months, I think that anticipating 
strategic moves of hardware vendors is a risky bet.


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


Re: PP GUI

2023-01-06 Thread ttcoder
Hi Norman,

> [1] https://genodians.org/nfeske/2023-01-05-mobile-user-interface
> 
> The "left" side relies on Genode's native widget renderer (menu_view). 
> The "right" side offers complete freedom. One user may host a single Qt 
> app at a time, another user may host an SDL game, or even host a custom 
> UI mimicking a commodity smartphone experience (launcher + switching 
> between apps). So we can explore different directions without the need 
> to agree on the one best way.

Looking good, both for the existing state and for the future prospects : 
looking forward to the pre-built
image. Thanks for expanding on this topic, which I recall had been touched in 
some of the 22.x release notes.

In the coming months I might get some ideas maturing in my head for the "right 
hand side UI' ;
in order to get on the keyboard and code said ideas myself I would normally 
have to install
Linux and the Genode ARM toolchain, but now that I say it out loud, maybe 
there's an easier
way : prototyping GUI ideas directly on x86_64 with my existing setup (and 
probably in Qemu).
That's what I was doing during my brief contract stint on LVGL, I was using the 
SDL-based 'device simulator'
makefile most of the time, before building/uploading an actual target binary 
build to the device to test 'for real'
and refine my code, We'll see what my future holds in terms of spare time, and 
whether or not I can think of UI
designs that improve on the existing in significant ways. Thanks for all you do 
!

Cedric





___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users


Re: Roadmap 2023

2023-01-06 Thread Michael Grunditz
On Fri, 6 Jan 2023 at 11:58, Norman Feske  wrote:
>
> Hi Michael,
>
Hi Norman,

> On 1/4/23 23:25, Michael Grunditz wrote:
> > The year 2023 will probably be the most Genode intensive year for me
> > since forever. I have already shared my plans for doing 32bit
> > emulation. Apart from this I would like to bring in a lot of features
> > for my ,yet  humble, RK3588 port. I have no other coding projects
> > going on.
> >
> > I will probably start with graphics and usb. The vendor uboot pokes
> > both , so it should be quite easy to get something up based on what is
> > setup in uboot.
>
> am I dreaming? Just one day after I wrote about my hope that developers
> outside the Genode core team may take on platform-porting work, you are
> sharing your plan. I am stoked! :)
>
Well that's my trade :) Rockchip is nice if you want for example
PinePhone Pro. (rk3399).
I am motivated because I need Genode on a core that can't do aarch32 (
except maybe at EL0).

> I feel that the advertising of RK3588 support on the project roadmap
> might be a little bit inappropriate though. It may taint Genode hacking
> fun with a sense of pressure. How do you think?
>
It should definitely not be in the project roadmap! I am not working for money.
You can read about that here:
http://mickens.blogspot.com/2016/11/it-is-time-to-throw-in-towel.html

Thanks,
Michael

___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users


Re: Roadmap 2023

2023-01-06 Thread Norman Feske

Hi Michael,

On 1/4/23 23:25, Michael Grunditz wrote:

The year 2023 will probably be the most Genode intensive year for me
since forever. I have already shared my plans for doing 32bit
emulation. Apart from this I would like to bring in a lot of features
for my ,yet  humble, RK3588 port. I have no other coding projects
going on.

I will probably start with graphics and usb. The vendor uboot pokes
both , so it should be quite easy to get something up based on what is
setup in uboot.


am I dreaming? Just one day after I wrote about my hope that developers 
outside the Genode core team may take on platform-porting work, you are 
sharing your plan. I am stoked! :)


I feel that the advertising of RK3588 support on the project roadmap 
might be a little bit inappropriate though. It may taint Genode hacking 
fun with a sense of pressure. How do you think?


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


Re: Roadmap 2023

2023-01-06 Thread Norman Feske

Hi Stefan,


I would like to finalize the platform support for the MNT Reform 2.
Now, I can drive most devices, and the virtualization solution on ARM
has evolved too. Anyway, WIFI and audio support is still missing.
Moreover, the virtualization solution will probably show some issues
in daily life usage. Shared folder support is an open issue here. And
I have to decide how to deal whith scenarios where I've used
Virtualbox with USB device passthrough in the past (USB UART terminal,
etc.)


thank you for adding these two topics to the discussion. Personally, I'm 
eager to use Wifi and Audio on the MNT Reform for my Atari-related 
cross-development leisure activities.


The second point touches the broader issue of current usability 
limitations of Sculpt OS. Even though Sculpt works reliably, some work 
flows remain a bit clunky, especially the dynamic assignment of files 
and directories to components, which was mentioned by Johannes already. 
I sense that we can nicely improve the convenience of the Leitzentrale 
UI with a few non-disruptive changes. So for the road map, we should 
consider Sculpt OS usability as a worthwhile theme.



Personally I wouldn't like to loose sight of the changes in
progress that did not finished yet. For instance, we have already
changed a number of driver ports to use the new porting approach and a
recent original code base. But few drivers and protocol stacks are
still missing, first and foremost the Linux IP/Stack (4.4.3), the USB
client driver ports like HID and NIC, the IPXE NIC drivers with known
restarting issues, USB host driver relicts for RPI1 and
i.MX6, etc.. I feel responsible at least to take part in releasing from old
burdens.


I wholeheartedly agree. The sooner we get over these hurdles, the better 
for all of us. The mentioned update of lxIP may be related to the IPv6 
interest expressed by Christian. That said, the maintenance nature of 
those topics makes them probably too technical to advertise them on the 
official road map.


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


Re: Roadmap 2023 - DnD, PP GUI

2023-01-06 Thread Norman Feske

Hi Cedrik,


Regarding community contributions, after someone mentionned LVGL on the 
PinePhone that got me
thinking a bit, trying to guess in what direction the PP GUI will go. (I make 
no guarantee
express or implied that my below ramblings will be relevant to the Genode 
project, caveat emptor :^)


your question prompted me to summarize the thoughts that went into the 
mobile UI for the PinePhone [1].


[1] https://genodians.org/nfeske/2023-01-05-mobile-user-interface

The "left" side relies on Genode's native widget renderer (menu_view). 
The "right" side offers complete freedom. One user may host a single Qt 
app at a time, another user may host an SDL game, or even host a custom 
UI mimicking a commodity smartphone experience (launcher + switching 
between apps). So we can explore different directions without the need 
to agree on the one best way.


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


Re: Roadmap 2023

2023-01-06 Thread Josef Söntgen
Hello Norman,

> This also makes me hopeful for the next round of an update of the
> DDE-Linux PC drivers, which should be definite part of our road map.

We could also think about replacing iPXE with an DDE Linux-based driver
component.

> Given your invaluable contribution to the PinePhone topic - speaking of
> camera, GPU, and audio - your further engagement in these areas would be
> very welcome as well.

That is what I summarized under “project work” ☺.

Of course I have some basic ideas concering the PinePhone (like having
an eBook reader component - an updated MuPDF would fit the bill, or having
an audio player where I already tinkered with LVGL as an interface for
the 'audio_player' component) but hopefully I will manage to work an these
a long the line.

> The other two topics mentioned (NVMe and AMD) leave me a bit uncertain
> regarding the road map. I already expressed my weariness regarding AMD
> in my reply to Alex, and I must confess my lack the expertise about
> NVMe.

AMD support is more on the personal side of things, so I do not expect
it to appear on the roadmap.

> How would you describe the practical benefits of the mentioned NVMe
> features for Genode users at large, for advertising them on the road
> map?

Again, it focuses on my personal use-case where I use multiple VMs that
directly access the NVMe device (via 'part_block' of course) as storage
backend (as such devices are able to make use of serveral I/O submission
and completion queues and naturally feature MSI(-X) support one could
exploit that for perfomance optimizations like minimizing cross-core
IPC, handling clients in a disjunct fashion etc). Of course changing
the driver component is only (arguebly) a small part as there are more
parties involved (libc, VFS, kernel).

Maybe the over all theme could be “Optimized I/O for ” as
that would probably fall in line with the VFS renovations.


Regards
Josef

-- 
Josef Söntgen
Genode Labs

http://www.genode-labs.com/ · http://genode.org/


signature.asc
Description: PGP signature
___
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users