Road map for 2025

This commit is contained in:
Norman Feske 2025-01-22 14:40:58 +01:00
parent 48f37b4a46
commit e14fab0873
2 changed files with 123 additions and 139 deletions

View File

@ -4,6 +4,19 @@
=========== ===========
Road Map for 2025 | 2025-01-22
##############################
| We dedicate the year 2025 to Genode's rigidity, clarity, and performance.
At the turn of each year, the Genode community and core developers reflect
on the past year's achievements and make up their minds about the year ahead.
The updated road map for 2025 condenses the recent brain-storming on our
public mailing list and presents a rough feature schedule for the releases
planned for 2025. Get a glimpse at Genode's foreseeable future by visiting our
updated [https:/about/road-map - official road-map...].
Genode OS Framework release 24.11 | 2024-11-22 Genode OS Framework release 24.11 | 2024-11-22
############################################## ##############################################

View File

@ -14,173 +14,144 @@ The road map is not fixed. If there is commercial interest of pushing the
Genode technology to a certain direction, we are willing to revisit our plans. Genode technology to a certain direction, we are willing to revisit our plans.
Review of 2023 Review of 2024
############## ##############
The overarching theme of the road map in 2023 was the conquering of advanced At the beginning of 2024, we had collectively settled on "Sculpt OS usability"
platform aspects beyond mere functionality, speaking of temperature sensing, as the overarching theme for the past year.
frequency control, battery monitoring, power management, and suspend/resume. From the long wish list of usability-related topics raised during our public
We aimed at "Rocking the platforms we support!". road-map discussion, suspend/resume and multi-monitor support was universally
The achievements made are best illustrated by the example of the Gen12 desired most.
Framework laptop. At the beginning of 2023, Sculpt OS was in principle working
on this hardware, but with compromises that spoiled the user experience: fan
noise, an erratic touchpad (using the firmware's PS/2 emulation), Fn key
having no effect, strange issues when re-plugging an external display, and no
indication of the battery state. By the end of 2023, not only were all these
[https://genodians.org/nfeske/2023-11-03-sculpt-os#Framework_laptop - rough edges gone]
but we even gained the ability to exercise
[https://genode.org/documentation/release-notes/23.11#PC_power__frequency__temperature_sensing_and_control - precise control]
over the machine's performance/frequency/temperature/power characteristics
using an interactive GUI. It is fair to say that Genode advanced beyond the
state of "working" and has entered the territory of "rocking". That said, not
all lines of platform work such as suspend/resume are wrapped up yet.
Besides PC hardware, we put much emphasis on the PinePhone as a reference device Suspend/resume became a [https://genode.org/download/sculpt - Sculpt OS]
for Genode on the phone. As one highlight of 2023, we got the feature in [https://genodians.org/nfeske/2024-04-26-sculpt-os - version 24.04]
[https://genodians.org/nfeske/2023-05-11-sculpt-os#Mobile_Sculpt_OS_on_the_PinePhone - mobile version of Sculpt OS] released in April.
into the hands of a pilot group of users who provided instructive The work entailed the dynamic life-cycle management of all drivers that ought
feedback to us. The system-update mechanism that Sculpt OS gained in April has to be restarted on resume, enhancing the bus and storage drivers to become
been a game changer for such scenarios as it reduces the effort and risk of suspend/resume aware, adding kernel support for triggering suspend, and dealing
test-driving experimental versions to almost zero. with countless platform-specific peculiarities.
At the beginning of 2023, we declared our ambition to run Sculpt OS on Panoramic and mirrored multi-monitor setups were addressed in the subsequent
Genode's custom (base-hw) microkernel as alternative to the time-tested NOVA Sculpt OS [https://genode.org/news/sculpt-os-release-24.10 - version 24.10]
kernel. At that time, two showstoppers remained, namely released on October. This
[https://genode.org/documentation/release-notes/23.11#Kernel-agnostic_DMA_protection - DMA protection] and [https://genode.org/documentation/release-notes/24.11#Multi-monitor_support - line of work]
[https://genode.org/documentation/release-notes/23.11#Modernized_virtualization_interface - virtualization] did not only deliver a solution as a singular feature but improved the entire
support. Both of these deeply technical topics got covered over GUI stack in a holistic way, addressing panel self-refresh, mechanisms needed
the course of the year. Refinements, optimizations, and real-world testing to overcome tearing artifacts, up to the rigid resource partitioning between
notwithstanding, we are happy to be well on track towards our goal. GUI applications.
Besides working on Genode's actual operating-system code, we fully embraced Besides these two highlights, Sculpt OS received plenty of nuanced usability
developer tooling as focus area. In 2023, the improvements. The component graph became scrollable, a new options tab makes
[https://genode.org/documentation/release-notes/23.08#Goa_tool_gets_usability_improvements_and_depot-index_publishing_support - Goa SDK] the interactive toggling of features a breeze, driver components became
for streamlining the application development for Genode has reached the level user-accessible in the component graph, the assignment of USB devices to
of maturity and flexibility that allowed us to port software stacks as components and virtual machines has become straight-forward, and touchpads of
sophisticated as recent laptops became usable. Compared to one year ago, Sculpt OS has become
[https://genodians.org/jws/2023-11-16-sip-client-for-genode - Linphone] much more pleasant to use. And thanks to seemingly minor details like added
to Genode. Not only for porting but also for developing applications pointer-grabbing support,
and libraries, the tool has become a go-to solution. As another noteworthy [https://genode.discourse.group/t/xmas-question-can-it-run-doom/127 - Doom3]
developer-tooling topic, we tirelessly followed our vision of on-target on Sculpt OS can not only be admired as a technical achievement but has become
debugging on Sculpt OS. Specifically, we pursued the idea to implement a actually playable!
debugging instrument as a specialized version of init augmented with the GDB
protocol. Sculpt OS 23.10 has this That all said, several envisioned improvements concerning the
[https://genode.org/documentation/release-notes/23.08#Multi-component_debug_monitor - monitor component] beginner-friendliness remained unaddressed. Sculpt OS still does not feature
already built-in, albeit it is not utilized yet. an on-target manual, a convenient file manager, or the ability to conveniently
save settings by merely using the GUI. This is not out of neglect or laziness,
but because several unglamorous yet important topics demanded our attention.
To foster the compatibility of Genode with new hardware platforms, we updated
all DDE-Linux-based drivers to kernel version 6.6. The struggle with vendor
kernels for ARM-based boards is real!
One gratifying outcome is the new ability to run Sculpt OS on the
[https://genode.org/documentation/release-notes/24.11#MNT_Pocket_Reform - MNT Pocket].
When speaking of usability, we are not only thinking of sole users but also of
developers. On that account, the past year gives us multiple reasons to celebrate.
First, our long-year vision of
[https://genode.org/documentation/release-notes/24.05#On-target_debugging_using_the_GNU_debugger__GDB_ - on-target debugging]
on Sculpt OS using GDB came to fruition. This feature of Sculpt OS 24.04 got later
complemented by new debugging
[https://genodians.org/jschlatow/2024-07-31-goa-gdb - facilities] of the Goa SDK
and the casual use of Sculpt OS as a
[https://genodians.org/jschlatow/2024-01-29-goa-sculpt - remote target] when using Goa.
The icing on the cake has been the new
[https://genode.org/documentation/release-notes/24.11#New__Genode_Applications__book - "Genode Applications"]
book, published in November, which provides a smooth introduction to the
development and porting of software that can be readily distributed and
deployed for Sculpt OS.
2024 - Sculpt OS usability 2025 - Rigidity, clarity, performance
########################## #####################################
During our annual road-map discussion on Genode's During our annual turn-of-the-year road-map brain storming on our public
[https://genode.org/community/mailing-lists - mailing list], it became [https://genode.org/community/mailing-lists - mailing list], two themes
apparent that many of us developers long for harvesting user-visible rewards emerged. First, among the core developer team, there is much desire to
after concentrating so intensively on topics below the surface, realize long-standing consolidation and optimization opportunities that
eagerly rallying behind the theme "Sculpt OS usability" for 2024. shall give raise to increasingly sophisticated dynamic workloads. E.g.,
the Chromium-based web engine or the process-creation-heavy tool chain
would be obvious beneficiaries of these efforts. Our ultimate vision is
the enjoyable use of the Goa SDK directly on Sculpt OS without using a
guest OS by the end of the year.
Of the many aspects of usability, the following stood out during the The second theme is the urge for exploring territory beyond the beaten tracks.
discussion: multi-monitor support, desktop utilities (file management, Among the ambitions are the exploration of a potential
configuration dialogs, drag'n'drop), improved discoverability (on-target docs), [https://genodians.org/nfeske/2024-12-20-moving-on-from-xml - alternative] to
suspend/resume, and profound support for touchscreens and touchpads. XML as Genode's configuration syntax, the potential of moving platform
Accommodating those topics will require us to rethink several parts of the GUI quirks and discovery (like ACPI) to a pre-boot phase to support modern
stack, from the drivers over the low-level GUI server, window management, up platforms without inflating Genode's trusted computing base, the sensible
to the application and widget-toolkit level. integration of IPv6, and pursuing ideas of a truly capability-based desktop
environment. So we foresee 2025 becoming a little bit more playful compared to
the past year.
A second recurring interest is the further consolidation of Genode's driver It goes without saying that topics originally envisioned yet unaddressed in
landscape towards fully pluggable drivers, the consistent use of drivers 2024 will remain on our plan for 2025. E.g., in the milestones below, one can
ported from up-to-date Linux kernels, and clear-cut ACPI support. see the reappearance of familiar USB, scheduling, and Sculpt usability topics.
Additionally, the plan foresees the bi-annual update of Genode's tool-chain and
As continuations of 2023, the vision of Sculpt OS on Genode's custom kernel the annual update of our DDE-Linux-based drivers and protocol stacks.
will come to fruition, and we will bring our goal of easy-to-use on-target
debugging to completion.
Since we added
[https://genodians.org/atopia/2023-10-26-a-first-complex-rust-package - Rust support]
to the Goa tool mid of 2023, we have been looking for natural synergies
between Rust-based projects and Genode. During the road-map discussion, we
identified the use of Rust-based components as building blocks for a
multi-component e-mail client a tempting opportunity. Throughout the year, we
plan to take an (open-ended) e-mail scenario as motivator for combining our
interests in Sculpt usability, Goa-based development work flows, and Rust.
Device-wise, we will continue our engagement with the PinePhone, look forward
to the upcoming MNT PocketReform, and take on the latest Intel-based PC
platforms. We also want to explore the use of Sculpt OS on form factors like
the ZimaBlade single-board server (headless operation) or the StarLite tablet
(touch-based UI).
Milestones for 2024 Milestones for 2025
################### ###################
February - Release 24.02 February - Release 25.02
======================== ========================
* Revised audio infrastructure * Multi-monitor window management
(timing robustness, pluggable drivers, adaptive sample rates) * Multi-monitor virtual machines
* Suspend/resume awareness of GPU, AHCI, and NVMe drivers * Sculpt OS on Intel Meteor Lake
* Support for I2C based HID devices in Intel GEN12 (e.g., touchpad) * Port of Qemu via Goa
* Fine-grained and dynamic assignment of USB devices/interfaces * Web Engine updated to Chromium version 112
* Use of Sculpt OS as a remote test target for Goa
* TCP/IP stack based of DDE-Linux version 6.x
* PinePhone support for receiving and sending SMS messages
May - Release 24.05 May - Release 25.05
=================== ===================
* Sculpt OS on the PC
* Suspend/resume
* Scalability to large monitors
* On-target debugging
* Scrollable component graph
* Controls for saving the current deployment and settings
* Updated "Genode Foundations" book * Updated "Genode Foundations" book
* Drivers * Tool-chain update
* Revised PC platform discovery and ACPI sandboxing * Monitor rotation
* i.MX drivers updated to DDE-Linux version 6.x * Hot-swappable display and GPU drivers
* ALSA-based audio driver for PC platforms * Base framework usable without C++ support library
* Audio on MNT Reform * Revised scheduling of Genode's custom base-hw kernel
* Alder Lake GPU support + updated Mesa library stack * Exploration of pre-boot ACPI discovery
* Audio components converted to new APIs introduced in 24.02
* Optimized base-hw multimedia support
(kernel scheduling, latency, cache attributes)
* First Sculpt PC variant on the base-hw kernel
(integration of the kernel-agnostic IOMMU support, virtualization)
* Consolidation of the Tresor block encryptor and file vault
* Application-level compositing using Genode's dialog API
August - Release 24.08 August - Release 25.08
====================== ======================
* Sculpt OS * DDE-Linux update to latest LTS kernel version
* Low-complexity custom file manager * Experimental variant of Sculpt OS with XML replaced
* User profiles * IPv6 for virtual machines
* On-target documentation view * Desktop-integration features
* Assignment of individual directories as file systems * Pluggable USB-host driver
* DDE-Linux update to kernel version 6.6 LTS
* Updating Qt and QtWebEngine to Qt6
* GUI stack
* Multi-monitor support
* Tearing-free graphics
* Touch aware GUI server and window manager
* Drag'n'drop between applications
* Mouse grabbing
* Convenience UI tools showcasing the use of the Goa SDK
(e.g., NIC-router config, USB-passthrough config, file launcher)
* User-friendly bootstrapping/installation of Linux VMs on ARM
November - Release 24.11 November - Release 25.11
======================== ========================
* Genode-world migrated to Goa
* IPv6 for native Genode components
* Sculpt OS * Sculpt OS
* Multi-monitor window management * Goa SDK as installable package
* Use of dev tools on target * On-target documentation
* "Genode applications" book focused on component development * Use of pre-boot ACPI discovery
* Port of Qemu via Goa * Genodians.org deployable as a package
* Dynamic VFS configuration, VFS / file-system interface optimizations
* Pluggable USB-Host driver
* Show case of a multi-component e-mail user agent