ALT Mobile (Андрей Савченко, OSSDEVCONF-2024) — различия между версиями

Материал из 0x1.tv

(Новая страница: «;{{SpeakerInfo}}: {{Speaker|Андрей Савченко}} <blockquote> </blockquote> {{VideoSection}} {{vimeoembed||800|450}} {{youtubelink|}} {{SlidesSectio…»)
 
;{{SpeakerInfo}}: {{Speaker|Андрей Савченко}}
<blockquote>
В докладе делается обзор проекта ALT Mobile, позволяющего
использовать обычный Linux на мобильных устройствах. 

Обсуждается развитие проекта, поддержка и особенности использования на новых
типах устройств: планшетах и игровых консолях.
</blockquote>

{{VideoSection}}

{{vimeoembed||800|450}}
{{youtubelink|}}

{{SlidesSection}}
[[File:ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf|left|page=-|300px]]

{{----}}

== Thesis ==

=== Введение ===

В то время, как Linux покорил сервера и достойно представлен на
десктопах, ситуация на мобильных устройствах куда скромнее. Android
хоть и основан на ядре Linux, но ключевые компоненты системы
закрыты, либо не управляемы сообществом и обладают сомнительной
легальностью.

Поэтому всё большее развитие получают альтернативные проекты,
позволяющие использовать современный телефон без проприетарного ПО.
Команда ALT Linux Team является частью этого движения в рамках
проекта [https://altmobile.org ALT Mobile].

=== Аппаратная платформа ===

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

Это жёсткие ограничения, но именно они позволяют обеспечить свободу
и безопасность пользователей. На данный момент поддерживаются
устройства на базе СнК <tt>rk3399</tt>, <tt>rk3566</tt>, <tt>imx8mm</tt>, но ведётся работа и
над поддержкой других СнК.

В рамках проекта [http://beta.altlinux.org/mobile/latest/ доступны образы для телефонов],
планшетов и игорвых консолей, а так же для виртуальных машин
архитектур <tt>x86_64</tt>, <tt>aarch64</tt> и <tt>riscv</tt>.

=== Графический интерфейс ===

На текущем этапе развития проекта основным графическим окружением
выбрана оболочка Phosh (phone shell), основанная на библиотеках
Gnome, в частности, технологии адаптивного интерфейса
<tt>libadwaita</tt><ref name="adwaita">Построение адаптивных приложений в Gnome. URL: [https://gnome.pages.gitlab.gnome.org/libadwaita/]</ref>. 

В ходе портирования возникли нетривиальные проблемы, связанные
с использованием в Альте механизма <tt>tcb</tt><ref name="tcb">TCB authentification system [https://www.openwall.com/tcb/]</ref> вместо обычного
<tt>shadow</tt>, которые были успешно решены путём доработки<ref name="screenlock">Проблема разблокировки экрана в phosh. URL: [https://bugzilla.altlinux.org/46389]</ref>.
<tt>phosh</tt> и <tt>acountsservices</tt><ref name="as">Проблема разблокировки экрана в phosh. URL: [https://bugzilla.altlinux.org/47499]</ref> в Gnome.

Ведётся активная работа с апстримом по доработке оболочки и ряда
приложений. За год большая часть основных компонент была
адаптирована.

=== Прикладное ПО ===

Представлен широкий спектр прикладного ПО как для связи (<tt>gnome</tt>
<tt>calls</tt>, <tt>chatty</tt>, <tt>contacts</tt>, <tt>telegram</tt>), так и для повседневных задач:
карты, мультимедиа (<tt>livi</tt>, <tt>mpv</tt>, <tt>amberol</tt>, <tt>lollypop</tt>), работа с камерой
(<tt>megapixels</tt>, <tt>cheese</tt>), браузеры (<tt>chromium</tt>, <tt>firefox</tt>), почта (<tt>geary</tt>),
календари, калькулятор, погодный виджет и&nbsp;т.&nbsp;п.

При необходимости можно использовать механизм контейнерной изоляции
<tt>Waydroid</tt> для запуска Android приложений. Но этот механизм не
рекомендуется вследствие худшего контроля над ним и закрытости
типовых приложений. Грубо говоря, ситуация аналогична использованию
<tt>wine</tt> для запуска приложений Windows в Linux.

=== Доменная интергация ===

Реализована доменная интеграция, что является основой для MDM.
Устройствами можно удалённо управлять, при этом устройства на ALT
Mobile могут быть как управляемыми, так и управляющими.

=== Проблемы ===

Основной проблемой является нарушение GPLv2 ядра со стороны многих
вендоров, когда код ядра и всех его драйверов не публикуется. Это
ограничивает возможности по портированию, но прогресс в данном
вопросе наблюдается.

Есть системная проблема, когда системно значимые приложения
существуют только в закрытом виде, например, клиенты для работы
с Системой Быстрых Платежей, да и то лишь в виде Android приложений.
Здесь помогает переориентация многих производителей на
web-приложения. Ведь web для того и создавался, чтоб обеспечить
совместимую среду между совершенно разными системами.

=== Планы ===

Рассматривается возможность поддержки других оболочек в будущем
(<tt>hyprland</tt>, <tt>gnome shell mobile</tt>, <tt>swmo</tt>). 

Возможна поддержка устройств
на другом оборудовании. Требуется взаимодействие с индустрией по её
переориентации на создание свободных решений под Linux.

{{----}}
[[File:{{#setmainimage:ALT Mobile (Андрей Савченко, OSSDEVCONF-2024)!.jpg}}|center|640px]]
{{LinksSection}}
<!-- <blockquote>[©]</blockquote> -->

<references/>

[[Категория:OSSDEVCONF-2024]]
[[Категория:Open-source projects]]
[[Категория:Draft]]

Версия 16:59, 23 октября 2024

Докладчик
Андрей Савченко.jpg
Андрей Савченко

В докладе делается обзор проекта ALT Mobile, позволяющего использовать обычный Linux на мобильных устройствах.

Обсуждается развитие проекта, поддержка и особенности использования на новых типах устройств: планшетах и игровых консолях.

Видео

Презентация

ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf ALT Mobile (Андрей Савченко, OSSDEVCONF-2024).pdf

Thesis

Введение

В то время, как Linux покорил сервера и достойно представлен на десктопах, ситуация на мобильных устройствах куда скромнее. Android хоть и основан на ядре Linux, но ключевые компоненты системы закрыты, либо не управляемы сообществом и обладают сомнительной легальностью.

Поэтому всё большее развитие получают альтернативные проекты, позволяющие использовать современный телефон без проприетарного ПО. Команда ALT Linux Team является частью этого движения в рамках проекта ALT Mobile.

Аппаратная платформа

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

Это жёсткие ограничения, но именно они позволяют обеспечить свободу и безопасность пользователей. На данный момент поддерживаются устройства на базе СнК rk3399, rk3566, imx8mm, но ведётся работа и над поддержкой других СнК.

В рамках проекта доступны образы для телефонов, планшетов и игорвых консолей, а так же для виртуальных машин архитектур x86_64, aarch64 и riscv.

Графический интерфейс

На текущем этапе развития проекта основным графическим окружением выбрана оболочка Phosh (phone shell), основанная на библиотеках Gnome, в частности, технологии адаптивного интерфейса libadwaita[1].

В ходе портирования возникли нетривиальные проблемы, связанные с использованием в Альте механизма tcb[2] вместо обычного shadow, которые были успешно решены путём доработки[3]. phosh и acountsservices[4] в Gnome.

Ведётся активная работа с апстримом по доработке оболочки и ряда приложений. За год большая часть основных компонент была адаптирована.

Прикладное ПО

Представлен широкий спектр прикладного ПО как для связи (gnome calls, chatty, contacts, telegram), так и для повседневных задач: карты, мультимедиа (livi, mpv, amberol, lollypop), работа с камерой (megapixels, cheese), браузеры (chromium, firefox), почта (geary), календари, калькулятор, погодный виджет и т. п.

При необходимости можно использовать механизм контейнерной изоляции Waydroid для запуска Android приложений. Но этот механизм не рекомендуется вследствие худшего контроля над ним и закрытости типовых приложений. Грубо говоря, ситуация аналогична использованию wine для запуска приложений Windows в Linux.

Доменная интергация

Реализована доменная интеграция, что является основой для MDM. Устройствами можно удалённо управлять, при этом устройства на ALT Mobile могут быть как управляемыми, так и управляющими.

Проблемы

Основной проблемой является нарушение GPLv2 ядра со стороны многих вендоров, когда код ядра и всех его драйверов не публикуется. Это ограничивает возможности по портированию, но прогресс в данном вопросе наблюдается.

Есть системная проблема, когда системно значимые приложения существуют только в закрытом виде, например, клиенты для работы с Системой Быстрых Платежей, да и то лишь в виде Android приложений. Здесь помогает переориентация многих производителей на web-приложения. Ведь web для того и создавался, чтоб обеспечить совместимую среду между совершенно разными системами.

Планы

Рассматривается возможность поддержки других оболочек в будущем (hyprland, gnome shell mobile, swmo).

Возможна поддержка устройств на другом оборудовании. Требуется взаимодействие с индустрией по её переориентации на создание свободных решений под Linux.

ALT Mobile (Андрей Савченко, OSSDEVCONF-2024)!.jpg

Примечания и ссылки

  1. Построение адаптивных приложений в Gnome. URL: [1]
  2. TCB authentification system [2]
  3. Проблема разблокировки экрана в phosh. URL: [3]
  4. Проблема разблокировки экрана в phosh. URL: [4]