В рамках юбилейной ХХ Конференции разработчиков свободного программного обеспечения, проведенной компанией «Базальт СПО» в Переславле-Залесском, прозвучали доклады разработчиков о мобильной платформе ALT Mobile. Были обозначены основные особенности платформы, ее текущий статус и сценарии применения (доменная инфраструктура, игровые консоли). Об особенностях создания и перспективах мобильной операционной системы ALT Mobile рассказал разработчик ОС «Альт» Андрей Савченко.
Разработчик ОС «Альт» Андрей Савченко.
Источник: трансляция конференции на канале «Базальт СПО»
Главной задачей разработчиков было создание основной системы, построенной полностью на свободном ПО. Для этого были взяты уже имеющиеся пакеты из независимого российского репозитория «Сизиф», на которых строятся все решения «Базаль СПО» для различных устройств – от серверов до телефонов.
Разработчиками рассматривались и альтернативные варианты: AOSP (Android Open Source Project) и BSP (Board Support Package). Однако они были отклонены по ряду причин.
Так, главная проблема AOSP – это тот факт, что прошивка управляется и принадлежит Google, а это юрлицо относится к недружественной юрисдикции. Кроме того, разработчики не могут влиять на развитие операционной системы, поскольку, согласно SLA (Service Level Agreement), имущественные права на каждый патч переходят к компании Google: если права не переданы, патч не будет принят.
BSP Android содержит элементарные опции от разработчиков: загрузчик программ, ядро, определенные системные компоненты для камер. Однако здесь также имеется проблема: после того, как вендор выпускает «железо» и BSP к нему, они уходят в так называемое «свободное плавание», лишаясь длительной поддержки, а это означает низкую степень безопасности. Наибольшее количество отказов ПО демонстрирует сразу же после выпуска, а также на завершающей стадии, когда ПО устаревает и перестает поддерживаться разработчиком. Учитывая, что ядро BSP содержит примерно 35 миллионов строк кода, говорить о поддержке старых ядер невозможно. Кроме того, номера CVE (Common Vulnerabilities and Exposures, база данных общеизвестных уязвимостей информационной безопасности) присваиваются здесь с задержкой, а иногда и вовсе не присваиваются. Помимо этого имеются и лицензионные проблемы с GPL (General Public License).
Существует более 20 аналогичных дистрибутивов, среди которых Arch (DanctNIX), Fedora Mobility, Manjaro (PinePhone), Mobian, PostMarketOS, Ubuntu Touch, но их общей отличительной чертой является то, что они все представляют собой параллельно идущую ветку, дополнительную к основному репозиторию. На фоне этих альтернатив ALT Mobile выглядит более выгодно, поскольку базируется непосредственно на независимом репозитории «Сизиф».
Эксперты отметили, что при создании ALT Mobile они руководствовались несколькими принципами. Первый – «важно, чтобы пользователь управлял системой, а не система пользователем». Это означает, что для управления не требуется получения root-доступа. Единственное исключение – в случае использования домена контроль передается контроллеру домена. В остальных случаях «бразды правления» сохраняются за пользователем.
Основные принципы ALT Mobile.
Источник: презентация доклада Андрея Савченко на конференции
Следующий принцип – вся базовая операционная система должна быть построена на свободном программном обеспечении, кроме отдельных прошивок периферийных устройств. Это дает единую инфраструктуру сборки, что важно для сохранения единообразия системы. Процесс разработки является полностью открытым, код публикуется, также публикуются все профили сборки образов.
Пакетная база строится на основе собственного общего репозитория, объединяющего ПО для различных устройств. Кроме того, собственный репозиторий дает неоспоримый технологический суверенитет.
В качестве пользовательского интерфейса был выбран Phosh: несмотря на бурное развитие оболочек в последние годы, было решено в данном проекте сосредоточиться на одной оболочке, поскольку ошибки имеются везде, и распыление существенно затормозит процесс.
В пользу выбора данного интерфейса сыграли его производительность (оболочка легкая и хорошо ведет себя на оперативных системах), функциональность (изначальная заточенность под мобильные платформы), конвергентность интерфейса (имеется целая экосистема конвергентных приложений, выстроенная на основе Gnome Circle + Core: читалки, почта, календари, будильник и другие удобные утилиты). Основой конвергентности служит libadwaita, технологии GNOME/GTK, Vala||Rust|Python||C.
Приложения работают на любых экранах, автоматически подстраиваясь под окружение.
Источник: презентация доклада Андрея Савченко на конференции
На платформе ALT Mobile есть возможность «вживую» перетаскивать приложения на маленький или на большой экран, также к мобильному устройству можно подключить посредством док-станции монитор, клавиатуру и мышку, и приложения автоматически будут подстраиваться под имеющееся окружение.
Что касается приложений – в Phosh имеются звонки, SMS, контакты, протоколы передачи данных SIP и Matrix, позволяющие начинать и завершать сеансы связи, а также поддерживающие передачу голоса и видеосвязи. Есть и Telegram-клиент, пока это десктопная версия, тем не менее, пользоваться ей уже можно. В направлении мультимедиа – достаточно много приложений для работы с камерами, музыкой, видео.
Для выхода в интернет можно использовать такие браузеры как Epiphany (нынешний Web), Chromium и Firefox.
Отдельно спикер остановился на преодоленных вызовах разработчиков. Оказалось, что в системе достаточно сложно подключить будильники, так как система телефона может «уснуть», после чего ее необходимо «разбудить», прописав в аналог BIOS время, в которое надо проснуться. Но, чтобы эта опция работала, необходима целая цепочка компонентов: специальная прошивка crust, поддержка в ядре, а также отдельный маленький «демон» (Disk And Execution MONitor, программа, работающая в фоновом режиме и запускаемая самой системой) под названием waked. Сейчас разработчиками запущен процесс апстрима поддержки waked в gnome-clocks.
С точки зрения адаптация интерфейса решены такие вопросы, как динамическая прокрутка длинных меню, а также внутренняя прокрутка больших окон, не помещающихся в экране мобильного телефона, при помощи свайпа.
Решены вопросы взаимодействия с модемом. Оно обеспечивается одним из менеджеров, которых на сегодняшний день два: oFono и ModemManager. В последнее время предпочтение отдается ModemManager – он дает лучшую поддержку сетей и лучшее бесшовное переключение c 4G на 2G.
Возникающие организационные проблемы ALT Mobile.
Источник: презентация доклада Андрея Савченко на конференции
Есть также проблемы с отдельными приложениями, например онлайн-банкингом, поскольку разработчики таких программ делают преимущественно две версии – для Android и iOS. В этом плане спасают web-сервисы (браузерные версии приложений) как переходный вариант.
К сожалению, спектр оборудования, которое сегодня гарантированно поддерживает ALT Mobile, не велик: смартфон PinePhone Pro, консоль Anbernic RG552, планшеты Pinetab2, MIG LT11i, система на кристалле «Скиф» от компании «Элвис». Планируется расширение модельного ряда. Имеются и сборки на стандартных ядрах – x86_64, AArch64 и RISC-V.
На чем можно протестировать Alt Mobile.
Источник: презентации доклада Андрея Савченко на конференции
Главным недостатком перечисленного оборудования является его стоимость. Когда пользователи или разработчики интересуются возможностью протестировать новую систему, они сталкиваются с тем, что оборудования мало, а то, которое есть, стоит очень дорого. Те же самые Pinephone Pro и PineTab 2, изначально стоившие около 56 тыс. руб. и 25 тыс. руб. соответственно, сейчас стоят даже на AliExpress почти 100 тысяч рублей.
Поэтому основной альтернативой являются портативные игровые устройства, например, Anbernic RG555, имеющие аппаратное ускорение графики, тачскрин и доступные пользователям не только по цене, но и по возможности приобретения.
В планах разработчиков ALT Mobile – завершение полнодискового шифрования, добавление возможности группировки приложений по папкам, новые оболочки (hyprland, gnome shell, swmo), а также дальнейшее развитие сообщества.