diff --git a/doc/news.txt b/doc/news.txt index b18513a440..1aee8da1ab 100644 --- a/doc/news.txt +++ b/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 ############################################## diff --git a/doc/road_map.txt b/doc/road_map.txt index 3d2aba2c30..1444d2f4bd 100644 --- a/doc/road_map.txt +++ b/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