Hi Norman, Hi Genodians,
Reflections of 2023
Reflecting on the last year, I'm very pleased with the results. Even though, I had other plans in mind, I really enjoyed what eventually landed on my plate.
Taking over Goa's maintenance role sparked a plethora of ideas. It was fun implementing some of those like the index-project support and bash completion; I am thrilled to see the tool mature further. I appreciate all the contributions, especially Pirmin's shared-library support, which I regard as a game-changer w.r.t. Goa's autonomy.
I spent a great part of the year working on DMA protection. Initiated by my work on the Zynq-7000 SoC, for which I developed a custom DMA guard IP core, I integrated support for IOMMU-like devices into the platform driver. Later that year, I could build upon this to integrate Intel DMA remapping support into the platform driver, which bit off a big chunk of the kernel-agnostic IOMMU support.
Plans for 2024
I share Norman's ambitions for focusing on Sculpt OS usability. I think Goa can play an important role for the development of utility applications. I'm thinking of a USB passthrough GUI, a NIC router port-forwarding GUI, or a file launcher GUI. As mentioned in last year's roadmap, it would be great being able to download a PDF with Falkon and open it with mupdf. My plans are to pick one or two to further test Goa's practicality for app development and share the process on genodians.org. My ultimate goal would be to assemble a third Genode book that focuses on application development.
Besides these app-focused topics, I still have a few low-level topics on my plate. First, there is the kernel-agnostic IOMMU support that still lacks IRQ-remapping support to be complete. Second, I'm expecting new hardware devices on which I'd like to test-run Sculpt. One device is a ZimaBlade single-board server, which I'd like to use as a new VM host for my home server. I believe it could make an interesting use case for a headless Sculpt deployment. The other device is a StarLite tablet, which I will mainly use for browsing and which should serve for testing Sculpt's usability on tablet-like devices.
Another intriguing idea is to try running Goa natively on Genode. This would make a pretty cool demo, yet, I'd not like to schedule it on this year's roadmap but rather keep it in mind for the next year(s).
Best regards Johannes