Qemu — это решение для виртуализации оборудования для Linux, которое позволяет эмулировать всю ОС, установленную на виртуальном диске. VirGL — это средство визуализации OpenGL, добавленное в последние сборки QEMU, оно позволяет создавать виртуальную 3D-видеокарту внутри виртуальной машины QEMU.
Используя комбинацию технологий Android-x86, QEMU и VirGL, мы загрузит и установит полную ОС Android на виртуальной машине.
Примечание о совместимости: это руководство было протестировано с Ubuntu 19.04, и приведенные ниже инструкции будут работать с Ubuntu 19.04 или более новыми версиями. QEMU в более старых версиях Ubuntu не поддерживает VirGL. Вам также необходимо иметь в вашей системе процессор, совместимый с виртуальной машиной на основе ядра (KVM). Большинство современных процессоров поддерживают KVM, но вы можете проверить его наличие, выполнив команду ниже:
Любое число больше 0 подразумевает поддержку KVM. Тем не менее, вам все равно нужно убедиться, что виртуализация включена в BIOS. Более подробную информацию можно найти здесь.
Предварительные требования
Мы начнем с установки необходимых пакетов QEMU и добавления имени пользователя в группу KVM. Выполните следующие команды:
sudo adduser `id -un` kvm
Перезагрузите вашу систему. Загрузите ISO-образ Android-x86 отсюда. Выполните следующую команду, чтобы создать виртуальный жесткий диск:
Вы может заменить 10G на любое число, и будет создан виртуальный диск этого размера в ГБ.
Пошаговое руководство по установке QEMU для Android-x86
Для загрузки в живое изображение Android -x86 внутри виртуальной машины QEMU выполните команду:
-enable-kvm
-m 2048
-smp 2
-cpu host
-soundhw es1370
-device virtio-mouse-pci -device virtio-keyboard-pci
-serial mon: stdio
-boot menu = on
-net nic
-net user, hostfwd = tcp :: 5555-: 22
-device virtio-vga, virgl = on
-display gtk, gl = on
-hda androidx86_hda.img
-cdrom android-x86_64-8.1-r3 .iso
Обратите внимание на аргументы «hda» и «cdrom». Вы должны убедиться, что они соответствуют именам виртуального жесткого диска и загруженному ISO-образу Android-x86. Если вы правильно выполнили инструкции до этого момента, вы должны увидеть новое всплывающее окно:
Выберите запись «Установка» и дождитесь появления экрана разбиения на разделы..
Выберите «Создать/изменить разделы», а затем GPT. должно быть «Да».
Игнорировать предупреждение при следующем экрана, просто нажмите любую клавишу, чтобы продолжить. Вы увидите диспетчер разделов.
Выберите «Создать» а затем продолжайте нажимать клавишу для следующих четырех запросов. В подсказках ничего указывать не нужно. После этого вы увидите вновь созданную файловую систему в диспетчере разделов, как показано на снимке экрана ниже:
Нажмите «Написать», а затем введите «да» для подтверждения. Выберите опцию «Выйти», чтобы выйти из диспетчера разделов. На следующем экране выберите раздел «sda1».
Выбрать « ext4 », чтобы отформатировать раздел, и при появлении запроса выберите« Да ».
Выберите «Да» при появлении запроса о загрузчике GRUB.
На следующем экране вы можете увидеть предупреждение о преобразовании в «MBR». Выберите «Да».
Дождитесь завершения установки .
Не выбирайте никаких опций, просто закройте в следующем окне:
Android-x86 теперь полностью установлен на виртуальной машине QEMU. Чтобы загрузиться в недавно установленную ОС, мы будем использовать ту же длинную команду, что и выше, но без аргумента «cdrom».
-enable -kvm
-m 2048
-smp 2
-cpu host
-soundhw es1370
-device virtio-mouse- pci -device virtio-keyboard-pci
-serial mon: stdio
-boot menu = on
-net nic
-net пользователь, hostfwd = tcp :: 5555-: 22
-device virtio-vga, virgl = on
-display 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-доступ при появлении запроса):
mount/dev /block/sda1/mnt
vi/mnt/grub/menu.lst
Нажмите , когда увидите текстовый файл, чтобы перейти в режим редактирования. В первой записи добавьте желаемое разрешение в формате «video = widthxheight», как показано на скриншоте ниже:
Чтобы сохранить файл, сначала нажмите клавишу , затем введите«: wq »без кавычек и затем нажмите клавишу . Выполните команду ниже, чтобы безопасно отключить нашу точку монтирования.
Перезагрузите виртуальную машину Android. Теперь желаемое разрешение установлено. Вы можете увидеть некоторое обрезание в оконном режиме, если разрешение вашей виртуальной машины равно разрешению вашего монитора, поскольку строка заголовка окна и границы занимают некоторое пространство. Чтобы исправить это, вам нужно включить «Zoom To Fit», как показано на снимке экрана ниже:
Если вы переключите полноэкранный режим, нажав , отсечения не будет. Чтобы убедиться в правильности разрешения, перейдите в приложение «Инструменты разработчика» и выберите «Конфигурация». Высота будет немного меньше, так как высота панели навигации внизу вычитается из высоты разрешения.
Showcase
В этой статье утверждается, что в Linux запускаются 3D-игры для Android. Отсутствие отснятого материала было бы преступлением. Итак, вот некоторые кадры игрового процесса SuperTuxKart, работающего на полной скорости внутри виртуальной машины QEMU с Ubuntu 19.04 в качестве хоста. Я управляю игрой с помощью клавиш со стрелками на клавиатуре, но сама игра работает на виртуальной машине Android-x86. GIF ниже ускорен и потерял качество во время преобразования:
На этом длинный пост завершаю. Если вам нравится запускать приложения и игры Android на настольном ПК, этот метод намного лучше, чем использование сторонних эмуляторов с сумасшедшей политикой конфиденциальности, а также вам не нужно вмешиваться в системные разделы для двойной загрузки.