Qemu - это решение для виртуализации оборудования для Linux, которое позволяет эмулировать всю ОС, установленную на виртуальном диске. VirGL - это средство рендеринга OpenGL, добавленное в последние сборки QEMU, оно позволяет создавать виртуальную видеокарту с поддержкой 3D внутри виртуальной машины QEMU.
Используя комбинацию технологий Android-x86, QEMU и VirGL, мы загрузим и установим полную ОС Android на виртуальной машине.
Примечание о совместимости: это руководство было протестировано с Ubuntu 19.04 и приведенные ниже инструкции будут работать для Ubuntu 19.04 или новее. QEMU в более старых версиях Ubuntu не поддерживает VirGL. Вам также необходимо иметь в вашей системе процессор, совместимый с виртуальной машиной на основе ядра (KVM). Большинство современных процессоров поддерживают KVM, но вы можете проверить его наличие, выполнив команду ниже:
egrep -c '(vmx | svm)' / proc / cpuinfoЛюбое число больше 0 означает поддержку KVM. Вам все равно нужно убедиться, что виртуализация включена в BIOS, хотя. Более подробную информацию можно найти здесь.
Предпосылки
Мы начнем с установки необходимых пакетов QEMU и добавления имени пользователя в группу KVM. Выполните команды ниже:
sudo apt установить qemu qemu-kvmsudo adduser 'id -un' kvm
Перезагрузите вашу систему. Загрузите ISO-образ Android-x86 отсюда. Выполните следующую команду, чтобы создать виртуальный жесткий диск:
qemu-img создать -f qcow2 androidx86_hda.img 10GВы можете заменить 10G любым числом, и это создаст виртуальный диск этого размера в ГБ.
Пошаговое руководство по установке Android-x86 QEMU
Чтобы загрузиться в живой образ Android-x86 внутри виртуальной машины QEMU, выполните команду:
qemu-system-x86_64 \-включить-kvm \
-м 2048 \
-smp 2 \
-хост процессора \
-soundhw es1370 \
-устройство virtio-mouse-pci -device virtio-keyboard-pci \
-серийный мон: stdio \
-меню загрузки = вкл \
-чистая ник \
-сетевой пользователь, hostfwd = tcp :: 5555-: 22 \
-устройство virtio-vga, virgl = on \
-отобразить gtk, gl = on \
-hda androidx86_hda.img \
-компакт-диск android-x86_64-8.1-r3.iso
Обратите внимание на аргументы «hda» и «cdrom». Вы должны убедиться, что они соответствуют именам виртуального жесткого диска и загруженному ISO-образу Android-x86. Если вы правильно выполнили инструкции до сих пор, вы должны увидеть новое всплывающее окно:
Выберите запись «Установка» и дождитесь появления экрана разбиения на разделы.
Выберите «Создать / изменить разделы», а затем для GPT выберите «Да».
Игнорируйте предупреждение на следующем экране, просто нажмите любую клавишу, чтобы продолжить. Вы увидите менеджер разделов.
Выберите «Новый», а затем продолжайте нажимать
Нажмите «Написать», а затем введите «да» для подтверждения. Выберите опцию «Выйти», чтобы выйти из диспетчера разделов. На следующем экране выберите раздел «sda1».
Выберите «ext4», чтобы отформатировать раздел, и выберите «Да» при появлении запроса.
При появлении запроса о загрузчике GRUB выберите «Да».
На следующем экране вы можете увидеть предупреждение о преобразовании в MBR. Выберите «Да».
Дождитесь завершения установки.
Не выбирайте никаких опций, просто закройте окно при следующем запросе:
Android-x86 теперь полностью установлен на виртуальной машине QEMU. Чтобы загрузиться в недавно установленную ОС, мы будем использовать ту же длинную команду, что и выше, но без аргумента «cdrom».
qemu-system-x86_64 \-включить-kvm \
-м 2048 \
-smp 2 \
-хост процессора \
-soundhw es1370 \
-устройство virtio-mouse-pci -device virtio-keyboard-pci \
-серийный мон: stdio \
-меню загрузки = вкл \
-чистая ник \
-сетевой пользователь, hostfwd = tcp :: 5555-: 22 \
-устройство virtio-vga, virgl = on \
-отобразить gtk, gl = on \
-hda androidx86_hda.img
Вы увидите логотип загрузки Android, а затем сначала запустите экран настройки.
Дождитесь завершения установки.
Просто пройдите настройку, чтобы перейти на главный экран. Android-x86 имеет встроенную полную поддержку Play Store. Обратите внимание, что работающая виртуальная машина будет захватывать все нажатия клавиш и события мыши. Для выхода из удержания нужно будет нажать
Присутствует поддержка аппаратного ускорения 3D.
Важные вещи, которые вы должны знать
- Вы можете до некоторой степени настроить команду, которую мы использовали выше: переключатель «-m» предназначен для ОЗУ, переключатель «-smp» - для ядер ЦП. Если вы хотите изучить все варианты, в Gentoo Wiki есть довольно хорошее объяснение.
переключит захватывающий полноэкранный режим. - Вы можете активировать подключение к Интернету внутри Android-x86, нажав на опцию «VirtWifi» в настройках «Wi-Fi».
- Не все будет работать в виртуальной машине, например bluetooth.
- Совместимость с аппаратным ускорением и производительность будут зависеть от видеокарты вашего ПК, драйверов и мощности процессора.
- Последний выпуск Android-x86 поставляется с поддержкой окон произвольной формы. Вы можете сворачивать, разворачивать, восстанавливать окна и привязывать их к углам, как если бы вы это делали на настольной ОС.
- Android-x86 отстает от текущей версии Android на одну или две версии. Однако это не повлияет на вашу способность запускать приложения и игры.
- Android-x86 в виртуальной машине QEMU может быть не на 100% гладким. Вы можете ожидать случайных сбоев и принудительного закрытия время от времени.
Улучшение совместимости приложений в Android-x86
Некоторые приложения для Android могут отказываться работать с архитектурой x86. Android-x86 включает библиотеку совместимости, которая очень помогает, но вы все равно можете столкнуться с проблемами с некоторыми приложениями. Чтобы включить уровень совместимости, переключите «собственный мост» в настройках системы.
Наконец, у нас есть небольшая проблема, которую еще предстоит исправить. Разрешение виртуальной машины Android-x86. Если у вас низкое оборудование ПК, я бы посоветовал вам запускать Android в оконном режиме только с разрешением по умолчанию (отключите «Масштабирование по размеру» в меню «Просмотр»). Если у вас есть подходящее оборудование, вы можете увеличить разрешение, следуя приведенным ниже инструкциям.
Изменение разрешения установки Android-x86 в виртуальной машине (ВМ) QEMU
ВНИМАНИЕ: все команды, упомянутые ниже, предназначены для выполнения при установке виртуальной машины Android-x86 (гость). НЕ ПЫТАЙТЕСЬ запускать эти команды в вашей установке Ubuntu (хост).
Чтобы навсегда изменить разрешение виртуальной машины Android, нам нужно запустить некоторые команды в терминале, запущенном внутри нашего запущенного экземпляра виртуальной машины. Android-x86 поставляется с приложением эмулятора терминала, запустите его и выполните следующие команды одну за другой (разрешите root-доступ при появлении запроса):
всмонтировать / dev / block / sda1 / mnt
vi / mnt / grub / меню.lst
Нажмите как только вы увидите текстовый файл, чтобы перейти в режим редактирования. В первой записи добавьте желаемое разрешение в формате «video = widthxheight», как показано на скриншоте ниже:
Чтобы сохранить файл, сначала нажмите
Перезагрузите виртуальную машину Android. Ваше желаемое разрешение установлено сейчас. Вы можете увидеть некоторое обрезание в оконном режиме, если разрешение вашей виртуальной машины равно разрешению вашего монитора, поскольку строка заголовка окна и границы занимают некоторое пространство. Чтобы исправить это, вам нужно будет включить «Масштабирование по размеру», как показано на скриншоте ниже:
Если вы переключаете полноэкранный режим, нажимая
Витрина
Эта статья утверждает, что запускает 3D-игры для Android в Linux, было бы преступлением не включать какие-либо видеоматериалы. Итак, вот некоторые кадры игрового процесса SuperTuxKart, работающего на полной скорости внутри виртуальной машины QEMU с Ubuntu 19.04 как хозяин. Я управляю игрой с помощью клавиш со стрелками на клавиатуре, но сама игра работает на виртуальной машине Android-x86. GIF ниже ускорен и потерял качество во время преобразования:
На этом длинный пост завершается. Если вам нравится запускать приложения и игры Android на настольном ПК, этот метод намного лучше, чем использование сторонних эмуляторов с сумасшедшей политикой конфиденциальности, а также не требует вмешательства в системные разделы для двойной загрузки.