Waydroid — основанный на контейнерах и готов к загрузке полной системы Android в обычной системе GNU/Linux.
Waydroid работает только в диспетчере сеансов Wayland, поэтому убедитесь, что вы находитесь в сеансе Wayland.
Установка
Первым делом нам требуется установить модули ядра:
В Arch Linux достаточно использовать ядро ZEN в нем уже присутствуют все модули для работы.
Если вы все же хотите использовать последнее ванильное ядро, то требуется установить следующий пакет:
yay -S binder_linux-dkms
Если вы сидите на ядре меньше 6‑го, например на LTS, то следует установить другой пакет с модулями:
yay -S anbox-modules-dkms
В 6 и выше ядре, а так же Waydroid 1.2.1 уже не требуется использовать ashmem вместо него используется memfd.
Установка waydroid:
yay -S waydroid
Так же требуется установить образ Android, есть 2 варианта, с GApps или без.
Рассмотрим установку образа из AUR или при помощи средств Waydroid
При помощи Waydroid:
После установки Waydroid запускаем контейнер:
sudo systemctl enable --now waydroid-container.service
В терминале набираем:
waydroid first-launch
В появившемся окне можно указать ссылки образов, выбрать ревизию с GApps или Vanilla(чистый LineageOS)
Нажать на кнопку загрузки и ожидать её завершения.
При данном способе будут доступны OTA обновления.
Установка из AUR:
Образ без GApps:
yay -S waydroid-image
Образ с GApps:
yay -S waydroid-image-gapps
Произведем инициализацию:
sudo waydroid init
Для инициализации с поддержкой GApps:
sudo waydroid init -s GAPPS -f
Использование
Запустим контейнер и добавим его в автозагрузку с системой.
sudo systemctl enable --now waydroid-container.service
Запустим сессию:
waydroid session start
Либо при запуске Android приложения сессия поднимается автоматически
Полезные команды
Запустить графический интерфейс:
waydroid show-full-ui
Запустить Shell:
sudo waydroid shell
Установить приложение:
waydroid app install name.apk
Список установленных приложений:
waydroid app list
Запуск определенного приложения:
waydroid app launch имя.пакета.а.не.название
Устранение неисправностей
Не удалось запустить службу диспетчера буфера обмена
Установить пакет python-pyclip
yay -S python-pyclip
Иногда физическая клавиатура не работает
Нажмите левую клавишу Alt.
WARNING: Service manager /dev/binder has died
Добавить в параметры ядра psi=1
Включает/отключает постоянный режим окна произвольной формы
waydroid prop set persist.waydroid.multi_windows true или false
Решение проблемы с отображением мышки на некоторых композитных менеджерах
waydroid prop set persist.waydroid.cursor_on_subsurface true или false
Контейнер не запускается: dnsmasq не удается открыть файл pid
Отредактируйте /etc/apparmor.d/usr.sbin.dnsmasq добавив в него след. строки
@{run}/waydroid-lxc/ r, @{run}/waydroid-lxc/* rw,