Marathon OS – мобильная ОС в стиле BlackBerry 10 на базе Linux, Qt и Wayland

Представлен проект Marathon OS, развивающий дистрибутив Linux для мобильных устройств, сочетающий наработки из дистрибутива PostmarketOS с графической оболочкой Marathon Shell. Пользовательское окружение написано с использованием Qt и QML, и базируется на собственном композитном сервере, использующем протокол Wayland и воссоздающем модель управления жестами в стиле операционной системы BlackBerry 10. Код проекта написан на языках C++ и QML, и распространяется под лицензией MIT.
Возможна установка на устройства, поддерживаемые в PostmarketOS, но в качестве полностью протестированной эталонной платформы заявлен смартофон OnePlus 6 (Snapdragon 845).

Системное окружение основано на пакетной базе PostmarketOS и Alpine Linux. Ядро Linux собрано с опцией PREEMPT_RT, обеспечивающей работу в режиме реального времени. Корневой раздел монтируется в режиме только для чтения. Для работы на устройствах, поддерживаемых в платформе Android, применяется прослойка libhybris, позволяющая использовать драйверы Android, работающие в пространстве пользователя.

Для защиты данных применяется полнодисковое шифрование, а для изоляции приложений механизм Landlock. В системе также применяется механизм разделения полномочий (Permission portal), позволяющий ограничивать возможности каждого приложения, например, можно запрещать или выборочно разрешать доступ к сети, сервису определения местоположения, камере, микрофону, адресной книге, хранилищу, bluetooth и телефонному стеку.

Marathon OS поддерживает как запуск программ, написанных с использованием собственного инструментария на базе Qt/QML, так и выполнение любых Linux-приложений, способных работать в окружении на базе Wayland. В ближайшее время также обещают задействовать пакет Waydroid для запуска Android-приложений. Для распространения и организации установки программ развивается каталог приложений Marathon Store.

В базовый набор программ включены менеджер приложений, web-браузер, календарь, калькулятор, программа для работы с камерой, галерея фотографий, карты, мессенджер, заметки, мультимедийный проигрыватель, конфигуратор и эмулятор терминала. Также для установки доступны типовые программы, такие как Firefox, GIMP и LibreOffice. Для поставки программ применяется свой формат пакетов (zip-архив + метаданные + цифровая подпись), но также поддерживается и установка пакетов в форматах Flatpak и Snap. Имеется прослойка для обеспечения совместимости с программами на базе GTK и технологий GNOME.

Для навигации в Marathon Shell применяется система экранных жестов в стиле BlackBerry 10 без использования навигационной панели. Например, для вывода списка приложений применяется сдвиг снизу вверх, для показа панели с быстрыми настройками – сдвиг сверху вниз, для показа списка уведомлений и сообщений – скольжение вправо от края. Заявлена сенсорная отзывчивость интерфейса на уровне 10-15 мс.

Предлагается унифицированный интерфейс для просмотра уведомлений и сообщений, позволяющий просматривать содержимое в хронологическом порядке, выполнять полнотекстовый поиск по всем сообщениям и быстро запускать типовые действия. В интерфейсе переключения между приложениями эскизы отображаются в live-режиме и отражают текущее состояние каждой запущенной программы. Отрисовка осуществляется с задействованием GPU для ускорения.

Управление и настройка сетевых и аппаратных возможностей осуществляется при помощи cистемных сервисов:
NetworkManager (WiFi и сетевой доступ), ModemManager (телефония и SMS), UPower (управление питанием и аккумуляторами, профили энергопотребления) и BlueZ (Bluetooth, сопряжение устройств). Также имеются сервисы для управления выводом, звуком и уведомлениями.

На текущем этапе развития уже работают базовые возможности, в процессе доведения до финальной готовности средства для работы с камерой и мультимедиа. Обеспечен вывод видео с частотой 60 кадров в секунду на смартфоне OnePlus 6. В планах отмечено начало производства собственного смартфона Marathon EV 1, оформленного в форм-факторе, близком к устройству BlackBerry Passport с выдвижной клавиатурой и размером, близким к размеру паспорта. Также из планов отмечается поддержка тем оформления GTK и KDE, обеспечение 10-летнего цикла сопровождения и формирование сборок для устройств OnePlus 6T и Poco F1.





Release. Ссылка here.