QEMU es una solución de virtualización de hardware para Linux que permite la emulación de un sistema operativo completo instalado en un disco virtual. VIRGL es un renderizador de OpenGL agregado a las compilaciones recientes de QEMU, le permite crear una tarjeta gráfica virtual 3D capaz dentro de QEMU Virtual Machine.
Usando una combinación de tecnologías Android-X86, QEMU y VIRGL, iniciaremos e instalaremos un sistema operativo Android completo en una máquina virtual.
Una nota de compatibilidad: esta guía ha sido probada con Ubuntu 19.04 y las instrucciones a continuación funcionarán para Ubuntu 19.04 o versiones más nuevas. QEMU en versiones anteriores de Ubuntu carece de soporte de Virgl. También debe tener una CPU compatible con una máquina virtual basada en kernel (KVM) en su sistema. La mayoría de las CPU modernas tienen soporte para KVM, pero puede verificar su presencia ejecutando el comando a continuación:
egrep -c '(vmx | svm)' /proc /cpuinfo
Cualquier número mayor que 0 implica soporte de KVM. Sin embargo, aún debe asegurarse de que la virtualización esté habilitada en el BIOS. Se puede encontrar más información aquí.
Requisitos previos
Comenzaremos instalando los paquetes QEMU requeridos y agregando nombre de usuario al grupo KVM. Ejecutar comandos a continuación:
sudo apt install qemu qemu-kvm
sudo adduser 'id -un' kvm
Reinicie su sistema. Descargue la imagen ISO de Android-X86 desde aquí. Ejecute el siguiente comando para crear un disco duro virtual:
QEMU -IMG CREATE -F QCOW2 AndroidX86_HDA.IMG 10G
Puede reemplazar 10G con cualquier número y creará un disco virtual de ese tamaño en GB.
Tutorial de instalación de Android-X86 QEMU
Para iniciar en una imagen en vivo de Android-X86 dentro de una máquina virtual QEMU, ejecute el comando:
qemu-system-x86_64 \
-habilitar-kvm \
-m 2048 \
-SMP 2 \
-Host de CPU \
-Soundhw es1370 \
-Dispositivo virtio-mouse-pci -device virtio-keyboard-pci \
-Serial Mon: stdio \
-Menú de arranque = en \
-net nic \
-Usuario neto, hostfwd = tcp :: 5555-: 22 \
-Dispositivo virtio-vga, virgL = on \
-Mostrar gtk, gl = en \
-HDA AndroidX86_HDA.img \
-CDROM Android-X86_64-8.1-R3.Yo asi
Observe los argumentos "HDA" y "CDROM". Debe asegurarse de que coincidan con los nombres del disco duro virtual y la imagen ISO de Android-X86 descargada. Si ha seguido las instrucciones correctamente hasta aquí, debería ver una nueva ventana emergente:
Seleccione la entrada de "Instalación" y espere a que surja la pantalla de partición.
Elija "Crear/modificar particiones", y luego GPT para ser "sí".
Ignore la advertencia en la siguiente pantalla, simplemente presione cualquier tecla para continuar. Verá un gerente de partición.
Seleccione "nuevo" y luego continúe presionando la clave para las siguientes cuatro indicaciones. No tiene que especificar nada en las indicaciones. Una vez hecho esto, verá el sistema de archivos recién creado en Partition Manager, como se muestra en la captura de pantalla a continuación:
Presione la opción "Escribir" y luego escriba "Sí" para confirmar. Seleccione la opción "Salir" para salir del Administrador de particiones. Elija la partición "SDA1" en la siguiente pantalla.
Seleccione "Ext4" para formatear la partición y seleccione la opción "Sí" cuando se le solicite.
Elija "Sí" cuando se le solicite el cargador de arranque de grub.
En la siguiente pantalla, puede ver una advertencia sobre la conversión a "MBR". Seleccione "Sí".
Espere a que finalice la instalación.
No seleccione ninguna opción, simplemente cierre la ventana en el siguiente mensaje:
Android-X86 ahora está completamente instalado en una máquina virtual QEMU. Para iniciar el sistema operativo recién instalado, usaremos el mismo comando largo desde arriba al omitir el argumento "CDROM".
qemu-system-x86_64 \
-habilitar-kvm \
-m 2048 \
-SMP 2 \
-Host de CPU \
-Soundhw es1370 \
-Dispositivo virtio-mouse-pci -device virtio-keyboard-pci \
-Serial Mon: stdio \
-Menú de arranque = en \
-net nic \
-Usuario neto, hostfwd = tcp :: 5555-: 22 \
-Dispositivo virtio-vga, virgL = on \
-Mostrar gtk, gl = en \
-HDA AndroidX86_HDA.img
Verá el logotipo de Android Boot y luego se ejecuta la pantalla de configuración.
Espere a que finalice la instalación.
Simplemente pase por la configuración para llegar a la pantalla de inicio. Android-X86 tiene soporte completo de la tienda de juego incorporado. Tenga en cuenta que la máquina virtual en ejecución obtendrá todas las pulsaciones de teclas y eventos del mouse. Para liberar la retención, tendrá que presionar la combinación de teclas.
El soporte de aceleración de hardware 3D está presente.
Cosas importantes que debes saber
Mejora de la compatibilidad de la aplicación en Android-X86
Algunas aplicaciones de Android pueden negarse a trabajar con la arquitectura x86. Android-X86 incluye una biblioteca de compatibilidad que ayuda mucho, pero aún puede encontrar problemas con ciertas aplicaciones. Para habilitar la capa de compatibilidad, altere el "puente nativo" en la configuración del sistema.
Por último, tenemos un pequeño problema que aún no se ha solucionado. Resolución de la máquina virtual Android-X86. Si tiene hardware de PC de extremo bajo, le sugiero que ejecute Android en modo ventana solo en la resolución predeterminada (deshabilite "Zoom para ajustar" en el menú "Ver"). Si tiene hardware capaz, puede aumentar la resolución siguiendo las instrucciones a continuación.
Cambio de resolución de la instalación de Android-X86 en QEMU Virtual Machine (VM)
ADVERTENCIA: Todos los comando mencionados a continuación están destinados a ser ejecutados en la instalación de Android-X86 VM (invitado). No intente ejecutar estos comandos en su instalación de Ubuntu (host).
Para cambiar permanentemente la resolución de Android VM, necesitamos ejecutar algunos comandos en un terminal lanzado dentro de nuestra instancia de VM en ejecución. Android-X86 viene con una aplicación de emulador terminal, iniciala y ejecuta los siguientes comandos uno por uno (permita el acceso raíz cuando se le solicite):
SU
montura /dev /block /sda1 /mnt
vi/mnt/grub/menú.LST
Prensa Una vez que vea el archivo de texto para comenzar a editar el modo. En la primera entrada, agregue su resolución deseada en el formato "Video = WidthXHeight", como se muestra en la captura de pantalla a continuación:
Para guardar el archivo, primero presione la tecla, luego escriba ": WQ" sin cotizaciones y luego presione la tecla. Ejecute el comando a continuación para desmontar con seguridad nuestro punto de montaje.
Umount /Mnt
Reiniciar la VM Android. Tu resolución deseada está configurada ahora. Puede ver algunos recortes en el modo de ventana si la resolución de su VM es igual a la resolución de su monitor a medida que la barra de título de la ventana y las fronteras toman algo de espacio. Para solucionar esto, tendrá que habilitar "Zoom para ajustar", como se muestra en la captura de pantalla a continuación:
Si alojas pantalla completa presionando, no habrá ningún recorte. Para confirmar la resolución correcta, vaya a la aplicación "Herramientas de desarrollo" y luego seleccione la opción "Configuración". La altura será ligeramente menor ya que la altura de la barra de navegación en la parte inferior se deduce desde la altura de la resolución.
Este artículo afirma ejecutar juegos 3D de Android en Linux, sería un delito no incluir ninguna imagen. Así que aquí hay algunas imágenes de juego de Supertuxkart que se ejecutan a toda velocidad dentro de la máquina virtual QEMU con Ubuntu 19.04 como anfitrión. Estoy controlando el juego con teclas de flecha del teclado, pero el juego en sí se ejecuta en Android-X86 VM. GIF a continuación se acelera y ha perdido calidad durante la conversión:
Esto concluye la larga publicación. Si le gusta ejecutar aplicaciones y juegos de Android en la PC de escritorio, este método es mucho mejor que usar emuladores de terceros que tienen políticas de privacidad locas, además no requiere que se entrometa con particiones del sistema para un arranque dual.