# Установка WayDroid

# Какую проблему будем решать?

В какой-то момент мне понадобилось заиметь Android-хост в своей инфраструктуре. Да не простой, а с GooglePlay и, по возможности, не заставляющий ЦПУ биться в конвульсиях при запуске первого инстанса.

Основная загвоздка тут в том, что решение должно так или иначе вписываться в мои реалии - наличие хоста Proxmox и нескольких (десятков) ВМ. Вариант с LXC я отмел сразу, т.к. мне нужен был ванильный Android, а не его сборка. К тому же, я бы не хотел на одной ноде держать и LXC, и ВМ.

И я нашел решение этой проблемы - [WayDroid](https://waydro.id/).

[![image.png](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/scaled-1680-/image.png)](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/image.png)

# Как мы ее будем решать?

В первую очередь, определимся с вводными. Я буду:

1. Создавать ВМ на **Ubuntu Server 24.04** (это важно, т.к. на момент написания статьи это самый стабильный дистрибутивы под такие цели);
2. Устанавливать и настраивать систему как в GUI, так и в CLI (я почему отдельно что и где нужно сделать).

# Процесс установки

## Создание ВМ

В PVE:

1. Загружаем и импортируем образ Ubuntu Server 22.04 в PVE ([прямая ссылка на ISO-образ Ubuntu](https://releases.ubuntu.com/releases/22.04/ubuntu-22.04.5-live-server-amd64.iso))
2. Создаем ВМ с произвольным названием указываем наш ISO как загрузочный (установочный) образ
3. Перед ее запуском, сверяемся с параметрами: 
    1. Ресурсы (рекомендовано под 1 ВМ, можно и больше): 
        1. ЦПУ, ядер: <span style="color: rgb(45, 194, 107);"><span style="color: #2dc26b;">4 </span><span style="color: rgb(224, 62, 45);">(<span style="text-decoration: underline;">**важно**</span>: тип ЦПУ - "**<span style="color: rgb(45, 194, 107);">host</span>**"</span><span style="color: rgb(224, 62, 45);">)</span></span>
        2. ОЗУ, ГБ: <span style="color: rgb(45, 194, 107);">4</span>
        3. СХД, ГБ: <span style="color: rgb(45, 194, 107);">75 </span>(в моем случае, SSD)
    2. Machine: <span style="color: rgb(45, 194, 107);">q35</span>
    3. Display: <span style="color: rgb(45, 194, 107);">SPICE</span>
4. **(ВАЖНО!)** Устанавливаем сетевой адаптер - для установки нам понадобится интернет

Получается примерно так:

[![image.png](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/scaled-1680-/AWPimage.png)](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/AWPimage.png)

Дальше, устанавливаем ОС. Из важных моментов:

1. Ubuntu наверняка вам предложит обновить установочный скрипт на более новую версию. В моменте, **лучше согласиться с обновлением**. Если вы не согласились - ничего страшного, на работу системы это не влияет;
2. На моменте разметки, выделите LVM больше места (чтобы убрать свободное место, в установщике оно помечено как "<span style="color: rgb(53, 152, 219);">free space</span>");
3. Мы установили Display типа <span style="color: rgb(45, 194, 107);">SPICE (qxl)</span>. Это сыграет в плане производительности. Но с нюансом...

Важно понимать, что привычная Console в ВЕБ (сверху справа) через него не откроется - в моем случае, PVE 9 версии по этой кнопке начинает скачивать обрывки сертификата (и это не зависит от браузера). Не пугайтесь, установку вы можете продолжить из одноименной вкладки слева:

[![image.png](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/scaled-1680-/oJFimage.png)](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/oJFimage.png)

В крайнем случае, вы можете временно изменить значение параметра на <span style="color: rgb(45, 194, 107);">default</span>.

> ##### **TIP:** Переходите к следующему после того, как вы установите систему

## Установка WayDroid

#### Установка GUI

Важно понимать, что WayDroid работает исключительно в GUI. При том, **только на Wayland**.

Поэтому первым шагом его необходимо установить. Делается это 3 командами:

```bash
# Опционально: установка времени (в примере - Москва)
timedatectl set-timezone Europe/Moscow
# Синхронизация с репозиториями 
apt update
# Установка последних обновлений пакетов на ОС (может занять какое-то время)
apt upgrade -y
# Установка доп. ПО - оно будет полезно дальше
apt install -y curl wget nano
# Установка GUI на Wayland (может занять какое-то большое кол-во времени)
apt install -y ubuntu-desktop-minimal
```

После установки, нам нужно сделать еще 1 вещь: заставить ОС грузиться не в терминальную, а в **графическую оболочку**. Делается это двумя командами, включая перезагрузку.

```bash
sudo systemctl set-default graphical.target
reboot
```

Ждем, пока ВМ перезагрузится. Затем - первый вход.

<span style="background-color: rgb(186, 55, 42); color: rgb(236, 240, 241);"> **Важно!** </span>

1. Входим от обычного пользователя (не root);
2. При входе, после выбора пользователя, нажимаем на "шестеренку" (⚙️) и выбираем Ubuntu (без каких-либо приписок).

После первого входа в ОС, в терминале проверяем, что мы используем верный GUI-менеджер:

```bash
echo $XDG_SESSION_TYPE
# Ожидаем вывод:
# wayland
```

Если вывод совпадает (<span style="color: rgb(45, 194, 107);">wayland</span>) - переходим к дальнейшей установке. **В противном случае - гуглим**.

#### Установка эмулятора WayDroid

Здесь все просто. Все делается в 3 команды:

```bash
sudo apt install -y curl
curl https://repo.waydro.id | sudo bash
sudo apt install -y waydroid
```

После этого, у вас должна появиться команда "<span style="color: rgb(45, 194, 107);">waydroid</span>" в CLI.

#### Запуск первого приложения

##### Скачивание образов

Скачиваем образы Android:

```bash
# Без сервисов GooglePlay
sudo waydroid init
# С сервисами GooglePlay (не самый стабильный, но возможный вариант)
sudo waydroid init -s GAPPS
```

В случае, если вы получаете таймаут:

[![image.png](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/scaled-1680-/DBIimage.png)](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/DBIimage.png)

Вы можете попробовать временно отключить IPv6. Часто, это решает проблему:

```bash
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
```

**После чего повторите команды выше.**

##### Запуск приложения

<span style="background-color: rgb(186, 55, 42); color: rgb(255, 255, 255);"><span style="background-color: rgb(186, 55, 42); color: rgb(255, 255, 255);"><span style="background-color: rgb(186, 55, 42); color: rgb(255, 255, 255);"><span style="background-color: rgb(186, 55, 42); color: rgb(255, 255, 255);"> </span></span> </span><span style="background-color: rgb(186, 55, 42); color: rgb(255, 255, 255);"> </span>Если здесь будут использованы команды из CLI - **они выполняются в GUI-сессии**, а не через SSH! <span style="background-color: rgb(186, 55, 42); color: rgb(255, 255, 255);"> </span></span>

Теперь, мы можем попробовать запустить свой первый инстанс. В CLI кастуем **в разных терминалах**:

```bash
waydroid session start
waydroid show-full-ui
```

И ждем, пока Waydroid запустит сессию. Поздравляю! Вам удалось. Выглядеть оно будет примерно вот так:

<p class="callout info">Главный экран</p>

[![image.png](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/scaled-1680-/6nUimage.png)](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/6nUimage.png)

<p class="callout info">Браузер</p>

[![image.png](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/scaled-1680-/z1Wimage.png)](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/z1Wimage.png)

<p class="callout info">Сайд-бар (доступен по клику сверху)</p>

[![image.png](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/scaled-1680-/Im3image.png)](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/Im3image.png)

<p class="callout info">Настройки</p>

[![image.png](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/scaled-1680-/ilRimage.png)](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/ilRimage.png)

<p class="callout info">Галерея</p>

[![image.png](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/scaled-1680-/9bEimage.png)](https://info.elijahkamsky.ru/uploads/images/gallery/2026-01/9bEimage.png)