Когда-то игры Android под Linux считались лишь былиной, но эти дни уже, к счастью, минули и для их запуска нам поможет Waydroid.
Примечание: если у Вас видеокарта Nvidia или Intel, то тут могут возникнуть проблемы (плохая производительность/неработоспособность). Автор данной статьи проводил тесты на видеокарте AMD RX 6600 XT (драйвер radv).
Также данная программа работает только на Wayland! Сервер X11 не поддерживается!
(1) Первоначальная установка
Устанавливаем пакет lzip
для своего дистрибутива.
Далее нам нужно установить 2 пакета (для Arch Linux дистрибутивов они имеются в aur):
waydroid
waydroid-image
Примечание: waydroid-image может также именоваться как LineageOS-based Android images for Waydroid
.
В терминале прописываем команду (если нужна поддержка Google Play):
waydroid init -s GAPPS
Или без поддержки Google Play:
waydroid init
Скачиваем дополнительные скрипты, которые помогут быстро настроить Waydroid для запуска игр. В терминале снова прописываем:
git clone https://github.com/casualsnek/waydroid_script
cd waydroid_script
python3 -m venv venv
venv/bin/pip install -r requirements.txt
Для поддержки геймпадов отдельно прописываем:
waydroid prop set persist.waydroid.udev true
waydroid prop set persist.waydroid.uevent true
На этом первоначальная настройка завершена.
(2) Установка моста для трансляции архитектуры ARM в X86_64
Для процессоров AMD
Переходим в место, куда были установлены дополнительные скрипты, и прописываем команду:
sudo venv/bin/python3 main.py install libndk
Для процессоров Intel или AMD
Переходим в место, куда были установлены дополнительные скрипты, и прописываем команду:
sudo venv/bin/python3 main.py install libhoudini
Примечание к мостам
Для AMD процессоров подходят оба моста. Как правило, libndk производительнее, но иногда некоторые игры могут не работать на этом мосте, тогда можно проверить совместимость с мостом libhoudini. У Intel процессоров такой привилегии нет и их выбор заканчивается на мосту libhoudini.
(3) Установка Magisk для временной выдачи полных разрешений
Переходим в место, куда были установлены дополнительные скрипты, и прописываем команду:
sudo venv/bin/python3 main.py install magisk
(4 Необязательно) Установка Google Play (GAPPS)
Переходим в место, куда были установлены дополнительные скрипты, и прописываем команду:
sudo venv/bin/python3 main.py install gapps
Запускаем waydroid, прописав в терминале (или открыв с помощью ярлыка):
waydroid show-full-ui
Ждем полную загрузку рабочего стола и возвращаемся в терминал, чтобы прописать следующую команду:
sudo venv/bin/python3 main.py certified
Вам будет выдан эксклюзивный ID, его нужно куда-нибудь сохранить, например в текстовый файл. Снова переходим в waydroid, открываем браузер, в нем необходимо открыть сайт регистрации Google — https://www.google.com/android/uncertified/
Введите здесь полученный ранее ID (регистрация устройства занимает около получаса, возможно и меньше, после получасового ожидания нужно перезапустить waydroid):
waydroid session stop
waydroid session start
waydroid show-full-ui
После запуска waydroid, перейти в приложения и сбросить кэш Google Play и попытаться войти.
(5 Необязательно) Установка стороннего магазина Aurora Store
Переходим в место, куда были установлены дополнительные скрипты, и прописываем команду:
sudo python main.py install microg
(6 Рекомендуется) Настройка программы Mantis Gamepad Pro для эмуляции нажатий сенсорного экрана с помощью геймпадов
Скачиваем для Waydroid программу Mantis Gamepad Pro и открываем. Программа спросит нас выбрать раскладку, я для себя выбираю раскладку Sony.
Если геймпад не нашелся в программе (убедитесь, что ввели команду в первоначальной установке для исправления геймпадов), заново подключите его или измените протокол, если это поддерживается геймпадом (DInput / XInput).
Также убедитесь, что к компьютеру подключено не более одного геймпада, иначе программа может странно себя вести.
Также учтите, что некоторые игры нативно (из-под коробки) поддерживают геймпады и в этом случае настраивать ничего не придется.
Добавляем игру (ADD+
) и нажимаем на значок только что добавленной игры.
Нажимаем на зеленую кнопку Start
.
Жмем на зеленый фон Android to Android
и даем разрешение программе (Grant
) и запускаем игру с помощью кнопки Launch game
.
В самой игре настраиваем управление как угодно. Нажимаем на зеленый значок Mantis в левом верхнем углу:
Появится меню с настройкой кнопок и стиков.
Для примера я зажимаю левый стик и кладу на виртуальный стик движения персонажа слева.
Нажимаем на кнопку Key
и на геймпаде нажимаем нужную клавишу. Для бега я выбрал левый бампер L1
и размещаю на кнопке бега в игре.
То же самое проделываем с правым стиком, размещая его на свободном пространстве для поворота камеры, и выставляем другие кнопки. Полная раскладка у меня выглядит примерно так:
Дополнительная информация
Waydroid не запускается
Попробовать запустить waydroid с cage:
waydroid session stop
waydroid session start
cage waydroid show-full-ui
Установка приложений Google Play (исправление ошибки, из-за которой приложения могут не установиться)
Если Google Play не позволяет установить игру с большим объемом (где-то 500 мб и больше), то делаем следующее. В терминале прописываем команду и вводим пароль:
sudo waydroid shell
После копируем команду и вставляем здесь же:
chmod 777 -R /sdcard/Android
chmod 777 -R /data/media/0/Android
chmod 777 -R /sdcard/Android/data
chmod 777 -R /data/media/0/Android/obb
chmod 777 -R /mnt/*/*/*/*/Android/data
chmod 777 -R /mnt/*/*/*/*/Android/obb
Вводим и снова пытаемся скачать игру.
Установка APK файлов извне
Скачиваем любой APK файл, нажимаем правой кнопкой мыши по файлу и устанавливаем с помощью waydroid:
Примечание: установка происходит фоновым процессом, поэтому она никак не отобразится в waydroid!
Таблица совместимости Android игр под Waydroid
https://docs.google.com/spreadsheets/d/1pyqQw2XKJZBtGYBV0i7C510dyjVSU2YndhaTOEDavdU/edit?gid=0#gid=0