mirror of
https://github.com/genodelabs/genode.git
synced 2025-03-15 00:36:34 +00:00
158 lines
6.9 KiB
Plaintext
158 lines
6.9 KiB
Plaintext
|
|
========
|
|
Road Map
|
|
========
|
|
|
|
|
|
Herein, we lay out our plans for evolving Genode. Progress in addition to this
|
|
planning will very much depend on the degree of community support the project
|
|
will receive. The
|
|
[https://genode.org/about/challenges - Challenges] page collects some of our
|
|
ideas to advance Genode in various further directions.
|
|
|
|
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 2024
|
|
##############
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
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 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.
|
|
|
|
|
|
2025 - Rigidity, clarity, performance
|
|
#####################################
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
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 2025
|
|
###################
|
|
|
|
February - Release 25.02
|
|
========================
|
|
|
|
* 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 25.05
|
|
===================
|
|
|
|
* Updated "Genode Foundations" book
|
|
* 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 25.08
|
|
======================
|
|
|
|
* 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 25.11
|
|
========================
|
|
|
|
* Genode-world migrated to Goa
|
|
* IPv6 for native Genode components
|
|
* Sculpt OS
|
|
* Goa SDK as installable package
|
|
* On-target documentation
|
|
* Use of pre-boot ACPI discovery
|
|
* Genodians.org deployable as a package
|
|
|