Представлен выпуск проекта Sculpt 23.10, в рамках которого на базе технологий Genode OS Framework развивается операционная система общего назначения, которая сможет быть использована обычными пользователями для выполнения повседневных задач. Исходные тексты проекта распространяются под лицензией AGPLv3. Для загрузки предлагается LiveUSB-образ, размером 28 МБ. Поддерживается работа на системах с процессорами и графической подсистемой Intel с включёнными расширениями VT-d и VT-x, а также на системах ARM с расширениями VMM.
Основные новшества:
- Расширены средства управления параметрами CPU. В интерактивный интерфейс пользователя добавлены возможности для переключения между профилями энергопотребления (экономия энергии или производительность), просмотра температуры каждого ядра CPU, мониторинга за изменением частоты CPU и детализации информации об энергопотреблении.
- Улучшена поддержка работы на современных ноутбуках, например, на ноутбуке Framework Gen 12 реализовано отслеживание заряда аккумулятора, управление подсветкой клавиатуры и возможность подключения внешнего монитора.
- В сборке для смартфона PinePhone проведена оптимизация интерфейса, реализована поддержка аппаратных кнопок и добавлен новый хранитель экрана, снижающий энергопотребление до 40% за счёт выгрузки драйверов для экрана сенсорной панели.
- Обеспечена сборка при помощи GCC 12.3.
- Драйвер для сетевых карт заменён на вариант, портированный из ядра Linux 6.1.20.
- Переработан движок для шифрования блочных устройств.
- Расширены отладочные возможности.
- Разработка переведена на использование стандарта C++20 (ранее применялся C++17).
- Предоставлена возможность использования существующих SDK для разработки приложений для Genode, таких как Lomiri и Rust Cargo.
- Добавлен драйвер для USB-контроллеров, используемых в платах RaspberryPi и i.MX6.
- Улучшена работа драйверов для GPU Intel, звуковых карт и WiFi.
- Прослойка DDE (device-driver environment), позволяющая использования драйверы из Linux, обновлена до ядра Linux 6.1.20.
Система поставляется с графическим интерфейсом Leitzentrale, позволяющим выполнять типовые задачи по администрированию системы. В левом верхнем углу графического интерфейса отображается меню с инструментами для управления пользователями, подключения накопителей и настройки сетевого соединения. В центре присутствует конфигуратор для компоновки начинки системы, который предоставляет интерфейс в виде графа, определяющего взаимосвязь между системными компонентами. Пользователь может в интерактивном режиме произвольно удалять или добавлять компоненты, определяя состав системного окружения или виртуальных машин.
В любой момент пользователь может переключиться в консольный режим управления, который предоставляет большую гибкость в управлении. Традиционный рабочий стол может быть получен при помощи запуска дистрибутива TinyCore Linux в виртуальной машине с Linux. В данном окружении доступны браузеры Firefox и Aurora, текстовый редактор на базе Qt и различные приложения. Для запуска утилит командной строки предлагается окружение noux.
Genode предоставляет унифицированную инфраструктуру для создания пользовательских приложений, работающих поверх ядра Linux (32 и 64 бит) или микроядер NOVA (x86 с виртуализацией), seL4 (x86_32, x86_64, ARM), Muen (x86_64), Fiasco.OC (x86_32, x86_64, ARM), L4ka::Pistachio (IA32, PowerPC), OKL4, L4/Fiasco (IA32, AMD64, ARM) и выполняющегося напрямую ядра для платформ ARM и RISC-V. Входящее в состав паравиртуализированное Linux-ядро L4Linux, работающее поверх микроядра Fiasco.OC, позволяет выполнять в Genode обычные Linux программы. Ядро L4Linux не работает с оборудованием напрямую, а использует сервисы Genode через набор виртуальных драйверов.
Для Genode осуществлено портирование различных Linux и BSD компонентов, обеспечена поддержка Gallium3D, осуществлена интеграция Qt, GCC и WebKit, реализована возможность организации гибридных Linux/Genode программных окружений. Подготовлен порт VirtualBox, работающий поверх микроядра NOVA. Большое число приложений адаптировано для запуска напрямую поверх микроядра и окружения Noux, обеспечивающего виртуализацию на уровне ОС. Для запуска не портированных программ предусмотрена возможность задействования механизма создания виртуальных окружений уровня отдельных приложений, позволяющих запускать программы в виртуальном Linux-окружении с использованием паравиртуализации.