mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-05 02:19:24 +00:00
Road map for 2025
This commit is contained in:
parent
48f37b4a46
commit
e14fab0873
13
doc/news.txt
13
doc/news.txt
@ -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
|
||||
##############################################
|
||||
|
||||
|
249
doc/road_map.txt
249
doc/road_map.txt
@ -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.
|
||||
|
||||
|
||||
Review of 2023
|
||||
Review of 2024
|
||||
##############
|
||||
|
||||
The overarching theme of the road map in 2023 was the conquering of advanced
|
||||
platform aspects beyond mere functionality, speaking of temperature sensing,
|
||||
frequency control, battery monitoring, power management, and suspend/resume.
|
||||
We aimed at "Rocking the platforms we support!".
|
||||
The achievements made are best illustrated by the example of the Gen12
|
||||
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.
|
||||
At the beginning of 2024, we had collectively settled on "Sculpt OS usability"
|
||||
as the overarching theme for the past year.
|
||||
From the long wish list of usability-related topics raised during our public
|
||||
road-map discussion, suspend/resume and multi-monitor support was universally
|
||||
desired most.
|
||||
|
||||
Besides PC hardware, we put much emphasis on the PinePhone as a reference device
|
||||
for Genode on the phone. As one highlight of 2023, we got the
|
||||
[https://genodians.org/nfeske/2023-05-11-sculpt-os#Mobile_Sculpt_OS_on_the_PinePhone - mobile version of Sculpt OS]
|
||||
into the hands of a pilot group of users who provided instructive
|
||||
feedback to us. The system-update mechanism that Sculpt OS gained in April has
|
||||
been a game changer for such scenarios as it reduces the effort and risk of
|
||||
test-driving experimental versions to almost zero.
|
||||
Suspend/resume became a [https://genode.org/download/sculpt - Sculpt OS]
|
||||
feature in [https://genodians.org/nfeske/2024-04-26-sculpt-os - version 24.04]
|
||||
released in April.
|
||||
The work entailed the dynamic life-cycle management of all drivers that ought
|
||||
to be restarted on resume, enhancing the bus and storage drivers to become
|
||||
suspend/resume aware, adding kernel support for triggering suspend, and dealing
|
||||
with countless platform-specific peculiarities.
|
||||
|
||||
At the beginning of 2023, we declared our ambition to run Sculpt OS on
|
||||
Genode's custom (base-hw) microkernel as alternative to the time-tested NOVA
|
||||
kernel. At that time, two showstoppers remained, namely
|
||||
[https://genode.org/documentation/release-notes/23.11#Kernel-agnostic_DMA_protection - DMA protection] and
|
||||
[https://genode.org/documentation/release-notes/23.11#Modernized_virtualization_interface - virtualization]
|
||||
support. Both of these deeply technical topics got covered over
|
||||
the course of the year. Refinements, optimizations, and real-world testing
|
||||
notwithstanding, we are happy to be well on track towards our goal.
|
||||
Panoramic and mirrored multi-monitor setups were addressed in the subsequent
|
||||
Sculpt OS [https://genode.org/news/sculpt-os-release-24.10 - version 24.10]
|
||||
released on October. This
|
||||
[https://genode.org/documentation/release-notes/24.11#Multi-monitor_support - line of work]
|
||||
did not only deliver a solution as a singular feature but improved the entire
|
||||
GUI stack in a holistic way, addressing panel self-refresh, mechanisms needed
|
||||
to overcome tearing artifacts, up to the rigid resource partitioning between
|
||||
GUI applications.
|
||||
|
||||
Besides working on Genode's actual operating-system code, we fully embraced
|
||||
developer tooling as focus area. In 2023, the
|
||||
[https://genode.org/documentation/release-notes/23.08#Goa_tool_gets_usability_improvements_and_depot-index_publishing_support - Goa SDK]
|
||||
for streamlining the application development for Genode has reached the level
|
||||
of maturity and flexibility that allowed us to port software stacks as
|
||||
sophisticated as
|
||||
[https://genodians.org/jws/2023-11-16-sip-client-for-genode - Linphone]
|
||||
to Genode. Not only for porting but also for developing applications
|
||||
and libraries, the tool has become a go-to solution. As another noteworthy
|
||||
developer-tooling topic, we tirelessly followed our vision of on-target
|
||||
debugging on Sculpt OS. Specifically, we pursued the idea to implement a
|
||||
debugging instrument as a specialized version of init augmented with the GDB
|
||||
protocol. Sculpt OS 23.10 has this
|
||||
[https://genode.org/documentation/release-notes/23.08#Multi-component_debug_monitor - monitor component]
|
||||
already built-in, albeit it is not utilized yet.
|
||||
Besides these two highlights, Sculpt OS received plenty of nuanced usability
|
||||
improvements. The component graph became scrollable, a new options tab makes
|
||||
the interactive toggling of features a breeze, driver components became
|
||||
user-accessible in the component graph, the assignment of USB devices to
|
||||
components and virtual machines has become straight-forward, and touchpads of
|
||||
recent laptops became usable. Compared to one year ago, Sculpt OS has become
|
||||
much more pleasant to use. And thanks to seemingly minor details like added
|
||||
pointer-grabbing support,
|
||||
[https://genode.discourse.group/t/xmas-question-can-it-run-doom/127 - Doom3]
|
||||
on Sculpt OS can not only be admired as a technical achievement but has become
|
||||
actually playable!
|
||||
|
||||
That all said, several envisioned improvements concerning the
|
||||
beginner-friendliness remained unaddressed. Sculpt OS still does not feature
|
||||
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
|
||||
[https://genode.org/community/mailing-lists - mailing list], it became
|
||||
apparent that many of us developers long for harvesting user-visible rewards
|
||||
after concentrating so intensively on topics below the surface,
|
||||
eagerly rallying behind the theme "Sculpt OS usability" for 2024.
|
||||
During our annual turn-of-the-year road-map brain storming on our public
|
||||
[https://genode.org/community/mailing-lists - mailing list], two themes
|
||||
emerged. First, among the core developer team, there is much desire to
|
||||
realize long-standing consolidation and optimization opportunities that
|
||||
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
|
||||
discussion: multi-monitor support, desktop utilities (file management,
|
||||
configuration dialogs, drag'n'drop), improved discoverability (on-target docs),
|
||||
suspend/resume, and profound support for touchscreens and touchpads.
|
||||
Accommodating those topics will require us to rethink several parts of the GUI
|
||||
stack, from the drivers over the low-level GUI server, window management, up
|
||||
to the application and widget-toolkit level.
|
||||
The second theme is the urge for exploring territory beyond the beaten tracks.
|
||||
Among the ambitions are the exploration of a potential
|
||||
[https://genodians.org/nfeske/2024-12-20-moving-on-from-xml - alternative] to
|
||||
XML as Genode's configuration syntax, the potential of moving platform
|
||||
quirks and discovery (like ACPI) to a pre-boot phase to support modern
|
||||
platforms without inflating Genode's trusted computing base, the sensible
|
||||
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
|
||||
landscape towards fully pluggable drivers, the consistent use of drivers
|
||||
ported from up-to-date Linux kernels, and clear-cut ACPI support.
|
||||
|
||||
As continuations of 2023, the vision of Sculpt OS on Genode's custom kernel
|
||||
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).
|
||||
It goes without saying that topics originally envisioned yet unaddressed in
|
||||
2024 will remain on our plan for 2025. E.g., in the milestones below, one can
|
||||
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
|
||||
the annual update of our DDE-Linux-based drivers and protocol stacks.
|
||||
|
||||
|
||||
Milestones for 2024
|
||||
Milestones for 2025
|
||||
###################
|
||||
|
||||
February - Release 24.02
|
||||
February - Release 25.02
|
||||
========================
|
||||
|
||||
* Revised audio infrastructure
|
||||
(timing robustness, pluggable drivers, adaptive sample rates)
|
||||
* Suspend/resume awareness of GPU, AHCI, and NVMe drivers
|
||||
* Support for I2C based HID devices in Intel GEN12 (e.g., touchpad)
|
||||
* Fine-grained and dynamic assignment of USB devices/interfaces
|
||||
* 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
|
||||
* Multi-monitor window management
|
||||
* Multi-monitor virtual machines
|
||||
* Sculpt OS on Intel Meteor Lake
|
||||
* Port of Qemu via Goa
|
||||
* Web Engine updated to Chromium version 112
|
||||
|
||||
|
||||
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
|
||||
* Drivers
|
||||
* Revised PC platform discovery and ACPI sandboxing
|
||||
* i.MX drivers updated to DDE-Linux version 6.x
|
||||
* ALSA-based audio driver for PC platforms
|
||||
* Audio on MNT Reform
|
||||
* Alder Lake GPU support + updated Mesa library stack
|
||||
* 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
|
||||
* Tool-chain update
|
||||
* Monitor rotation
|
||||
* Hot-swappable display and GPU drivers
|
||||
* Base framework usable without C++ support library
|
||||
* Revised scheduling of Genode's custom base-hw kernel
|
||||
* Exploration of pre-boot ACPI discovery
|
||||
|
||||
|
||||
August - Release 24.08
|
||||
August - Release 25.08
|
||||
======================
|
||||
|
||||
* Sculpt OS
|
||||
* Low-complexity custom file manager
|
||||
* User profiles
|
||||
* On-target documentation view
|
||||
* Assignment of individual directories as file systems
|
||||
* 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
|
||||
* DDE-Linux update to latest LTS kernel version
|
||||
* Experimental variant of Sculpt OS with XML replaced
|
||||
* IPv6 for virtual machines
|
||||
* Desktop-integration features
|
||||
* Pluggable USB-host driver
|
||||
|
||||
|
||||
November - Release 24.11
|
||||
November - Release 25.11
|
||||
========================
|
||||
|
||||
* Genode-world migrated to Goa
|
||||
* IPv6 for native Genode components
|
||||
* Sculpt OS
|
||||
* Multi-monitor window management
|
||||
* Use of dev tools on target
|
||||
* "Genode applications" book focused on component development
|
||||
* Port of Qemu via Goa
|
||||
* Dynamic VFS configuration, VFS / file-system interface optimizations
|
||||
* Pluggable USB-Host driver
|
||||
* Show case of a multi-component e-mail user agent
|
||||
* Goa SDK as installable package
|
||||
* On-target documentation
|
||||
* Use of pre-boot ACPI discovery
|
||||
* Genodians.org deployable as a package
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user