Linux на смартфоне — PostmarketOS

от автора

Один из немногих способов пользоваться чистым Linux на смартфоне — установка операционной системы PostmarketOS.

В данной статье я расскажу об этой системе, о том, как она ставится, о её возможностях и опыте использования.

Что такое PostmarketOS

Это дистрибутив Linux на базе Alpine Linux, который адаптировали для работы на различных смартфонах, планшетах и ноутбуках на архитектуре ARM. PostmarketOS содержит драйверы для различных мобильных устройств, интерфейс рабочего стола, адаптированный для экрана смартфона, и сервисы для работы с периферией: мобильная связь, сенсорный экран, кнопки громкости, питания, фонарик…

В качестве интерфейса рабочего стола в PostmarketOS можно выбрать один из четырёх вариантов: GNOME Mobile, Plasma Mobile, Phosh и SXMO (de Sway).

Поддерживаемые смартфоны

PostmarketOS поддерживает несколько десятков устройств. Среди них в основном достаточно старые модели смартфонов. На сайте дистрибутива представлен полный список устройств и таблица со статусом поддержки периферии для каждого конкретного устройства. Практически ни один смартфон не поддерживается на 100%, но для работы нужен необходимый минимум: поддержка экрана, тачскрина, Wi-Fi, USB, зарядка аккумулятора.

Я тестировал систему на смартфоне Wileyfox Swift. Он хорошо поддерживается, но сам смартфон старый и не особо мощный: 2 ГБ ОЗУ, Quad-core Cortex-A53 1.2 ГГц, экран 5 дюймов, 1280×720.

Установка

Процесс установки на разных моделях смартфонов выполняется по-разному, но в целом он сводится к следующим двум действиям:

  1. Нужно разблокировать загрузчик смартфона.

  2. Записать образ системы в смартфон.

С сайта системы можно скачать уже готовый образ под ваше устройство с четырьмя вариантами оболочки рабочего стола. Либо нужную конфигурацию можно собрать самому, но это возможно только из Linux. Загрузка образа в смартфон происходит через консольную утилиту fastboot, которая входит в пакет разработчика для Android.

С моим телефоном не возникало каких-то проблем. Единственный сложный момент возник с драйвером: он достаточно старый и без цифровой подписи.

Работоспособность

Я попробовал все четыре образа. Они отличаются интерфейсом рабочего стола и, возможно, чем-то ещё, т. к. у них сильно разный размер (1-2,6 ГБ), но в чём ещё отличия — я не понял: каких-то предустановленных приложений в образах нет.

Образ SXMO de Sway самый лёгкий. В нём реализован простейший интерфейс, навигация по которому происходит клавишами громкости либо через сенсорный экран. Интерфейс позволяет запускать приложения и взаимодействовать с периферией смартфона (включить Wi-Fi, подключиться к сети). Также присутствует сенсорная клавиатура.

В принципе, этого интерфейса достаточно для полноценной работы в системе, но у него есть ряд недостатков. Он открывается долго (несколько секунд), переход между страницами также медленный. На некоторых страницах навигация осуществляется клавишами громкости, на других нужны стрелки на клавиатуре. В целом навигация по интерфейсу неочевидна, и из-за его заторможенности в начале было сложно им пользоваться: непонятно, какая реакция следовала на конкретные действия.

Интерфейс Plasma Mobile гораздо более симпатичный, он пытается быть похожим на интерфейс Android. Но на моём телефоне данный интерфейс глючил: текст мерцал и пропадал, также интерфейс работал не плавно, моментами притормаживал и подлагивал. Несмотря на серьёзные отличия во внешнем виде, по функционалу интерфейс Plasma близок к первому.

Образы с GNOME и Phosh у меня запустить не удалось. В GNOME был сбой при прошивке образа в смартфон, а Phosh зависал при загрузке.

В целом система вела себя адекватно. При подключении смартфона по USB к ПК появлялось подключение по локальной сети, через которое можно было подключиться к смартфону по SSH. Однако сервер SSH нужно было сначала установить, вводя команды на самом смартфоне.

Я попробовал установить LibreOffice. Он работал корректно, интерфейс не тормозил и отображался правильно. В системе Plasma был баг: не получилось вывести экранную клавиатуру для ввода текста в поля приложения LibreOffice.

Тестировать подключение внешней клавиатуры по USB я не стал. Нужен был нестандартный на данный момент разъём Micro-USB OTG, и к тому же надо было обеспечить на нём внешнее питание 5 В, поскольку мой телефон не умеет сам выдавать его на разъём.

Были баги, связанные с графикой. Я попробовал пару игр: GZDoom и Xonotic. Doom в режиме OpenGL не выдал картинку, Xonotic (на движке Quake III) корректно запустился и выдавал 5–20 FPS в зависимости от наполнения кадра. Также баги были в интерфейсе Plasma.

Приложения

С приложениями в данной системе оказалась самая большая проблема. PostmarketOS — это полноценный Linux без каких-то ограничений, но он выполнен на базе Alpine Linux, который достаточно сильно отличается от привычных Ubuntu/Debian.

В Alpine Linux используется свой репозиторий и менеджер пакетов apk; в нём достаточно мало приложений, есть только самые основные. При этом не получается поставить приложение вручную, т. к. Alpine Linux использует библиотеку musl вместо стандартной glibc. Как результат, стандартные приложения не запускаются. Можно настроить эмуляцию glibc, но при этом всё равно отсутствуют важные зависимости и компоненты, связанные с glibc. Перекомпилировать под эту систему тоже просто так не получится. У меня не получилось запустить VS Code и FreeCAD, а именно ими я хотел бы пользоваться.

В результате непонятно, в каком сценарии использовать данную систему из-за отсутствия приложений.

Единственное, я смог установить среду .NET, она официально поддерживается. Соответственно, клиентские и серверные приложения на C# будут корректно работать. Возможно, с другими подобными фреймворками будет похожая ситуация.

Питание и потребление

Я измерил потребление смартфона через USB-адаптер, когда аккумулятор был полностью заряжен. В простое при выключенном экране частота процессора снижается до 200 МГц, и потребление составляет 0,75 Вт. В активном режиме частота и потребление подскакивают: до 900 МГц и 3,5 Вт соответственно. Это стандартное потребление для подобных процессоров; у одноплатников на базе Armbian я видел схожие цифры, что говорит о том, что процессор работает корректно в PostmarketOS.

Если отключиться от телефона, то при выключении экрана он переходит в сон. Полноценно этот режим изучить не получилось. В нём заряд всё-таки тратится (~2% в час). Но аккумулятор уже старый, его ёмкость неизвестна, и точность отображения заряда также под вопросом. Замерить точное потребление в этом режиме я не смог.

Вывод

Разработчики PostmarketOS проделали колоссальную работу по воссозданию драйверов для множества устройств. Но я не вижу для себя применения данной системы в таком виде, в каком она есть сейчас. Для установки какого-нибудь сервиса или сервера Android подойдёт лучше, а в повседневном сценарии использовать PostmarketOS без приложений не получится.

Возможно, стоит попробовать взять «драйверы» из PostmarketOS и собрать с ними образ Armbian. В таком варианте уже получится более универсальное устройство.

ссылка на оригинал статьи https://habr.com/ru/articles/1041208/