A confession for 2023
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
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
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
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
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
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
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
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
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