Запуск Android игр (Honkai: Star Rail и не только) с помощью Waydroid


Когда-то игры 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:


image

Примечание: установка происходит фоновым процессом, поэтому она никак не отобразится в waydroid!

Список проверенных мною игр

Honkai: Star Rail

Soul Knight

Vampire Survivors

Arknights

Таблица совместимости Android игр под Waydroid

https://docs.google.com/spreadsheets/d/1pyqQw2XKJZBtGYBV0i7C510dyjVSU2YndhaTOEDavdU/edit?gid=0#gid=0

Отдельный гайд на Github для Steam Deck пользователей (на английском языке) + видео

https://github.com/ryanrudolfoba/SteamOS-Waydroid-Installer

4 Likes