Qemu é uma solução de virtualização de hardware para Linux que permite a emulação de um sistema operacional inteiro instalado em um disco virtual. VirGL é um renderizador OpenGL adicionado a compilações QEMU recentes, ele permite que você crie uma placa de vídeo virtual capaz de 3D dentro da máquina virtual QEMU.
Usando uma combinação das tecnologias Android-x86, QEMU e VirGL, inicializaremos e instalaremos o sistema operacional Android completo em uma máquina virtual.
Uma nota de compatibilidade: este guia foi testado com o Ubuntu 19.04 e as instruções abaixo funcionarão no Ubuntu 19.04 ou versões mais recentes. QEMU em versões mais antigas do Ubuntu não tem suporte para VirGL. Você também precisa ter uma CPU compatível com máquina virtual baseada em kernel (KVM) em seu sistema. A maioria das CPUs modernas tem suporte para KVM, mas você pode verificar sua presença executando o comando abaixo:
egrep -c '(vmx | svm)' / proc / cpuinfoQualquer número maior que 0 implica suporte KVM. Você ainda precisa se certificar de que a virtualização está habilitada no BIOS. Mais informações podem ser encontradas aqui.
Pré-requisitos
Começaremos instalando os pacotes QEMU necessários e adicionando o nome de usuário ao grupo KVM. Execute os comandos abaixo:
sudo apt install qemu qemu-kvmsudo adduser 'id -un' kvm
Reinicialize seu sistema. Baixe a imagem ISO do Android-x86 aqui. Execute o seguinte comando para criar um disco rígido virtual:
qemu-img create -f qcow2 androidx86_hda.img 10GVocê pode substituir 10G por qualquer número e criará um disco virtual desse tamanho em GB.
Passo a passo de instalação do Android-x86 QEMU
Para inicializar na imagem ao vivo do Android-x86 dentro de uma máquina virtual QEMU, execute o comando:
qemu-system-x86_64 \-enable-kvm \
-m 2048 \
-smp 2 \
-host cpu \
-soundhw es1370 \
-dispositivo virtio-mouse-pci -device virtio-teclado-pci \
-serial mon: stdio \
-menu de inicialização = ligado \
-net nic \
-usuário da rede, hostfwd = tcp :: 5555-: 22 \
-dispositivo virtio-vga, virgl = on \
-exibir gtk, gl = on \
-hda androidx86_hda.img \
-cdrom android-x86_64-8.1-r3.iso
Observe os argumentos "hda" e "cdrom". Você deve se certificar de que eles correspondem aos nomes do disco rígido virtual e à imagem iso do Android-x86 baixada. Se você seguiu as instruções corretamente até aqui, deverá ver uma nova janela pop-up:
Selecione a entrada “Instalação” e aguarde a tela de particionamento aparecer.
Escolha “Criar / Modificar partições” e, em seguida, GPT para ser “Sim”.
Ignore o aviso na próxima tela, basta pressionar qualquer tecla para continuar. Você verá um gerenciador de partição.
Selecione “Novo” e continue a atingir o
Clique na opção “Gravar” e digite “sim” para confirmar. Selecione a opção “Sair” para sair do gerenciador de partição. Escolha a partição “sda1” na próxima tela.
Selecione “ext4” para formatar a partição e selecione a opção “Sim” quando solicitado.
Escolha “Sim” quando questionado sobre o carregador de boot GRUB.
Na próxima tela, você pode ver um aviso sobre a conversão para “MBR”. Selecione “Sim”.
Espere que a instalação termine.
Não selecione nenhuma opção, apenas feche a janela no seguinte prompt:
Android-x86 agora está completamente instalado em uma máquina virtual QEMU. Para inicializar no sistema operacional recém-instalado, usaremos o mesmo comando extenso acima, enquanto omitimos o argumento “cdrom”.
qemu-system-x86_64 \-enable-kvm \
-m 2048 \
-smp 2 \
-host cpu \
-soundhw es1370 \
-dispositivo virtio-mouse-pci -device virtio-teclado-pci \
-serial mon: stdio \
-menu de inicialização = ligado \
-net nic \
-usuário da rede, hostfwd = tcp :: 5555-: 22 \
-dispositivo virtio-vga, virgl = on \
-exibir gtk, gl = on \
-hda androidx86_hda.img
Você verá o logotipo de inicialização do Android e, em seguida, primeiro execute a tela de configuração.
Espere que a instalação termine.
Basta passar pela configuração para chegar à tela inicial. Android-x86 tem suporte completo para Play Store integrado. Observe que a máquina virtual em execução irá capturar todos os pressionamentos de tecla e eventos do mouse. Para liberar a retenção, você terá que pressionar
Suporte de aceleração de hardware 3D está presente.
Coisas importantes que você deve saber
- Você pode personalizar o comando que usamos acima até certo ponto: a opção “-m” é para RAM, a opção “-smp” é para núcleos de CPU. Se você quiser explorar todas as opções, o Gentoo Wiki tem uma explicação muito boa.
irá alternar a experiência imersiva em tela cheia. - Você pode ativar a conectividade com a Internet dentro do Android-x86 tocando na opção “VirtWifi” nas configurações de “Wi-Fi”.
- Nem tudo vai funcionar na máquina virtual, bluetooth por exemplo.
- A compatibilidade e o desempenho da aceleração de hardware dependerão da placa gráfica, dos drivers e da potência da CPU do seu PC.
- A versão mais recente do Android-x86 vem com suporte para janelas de formato livre. Você pode minimizar, maximizar, restaurar janelas e ajustá-las aos cantos, assim como faria em um sistema operacional de desktop.
- Android-x86 está atrasado em relação à versão atual do Android em uma ou duas versões. No entanto, não afetará sua capacidade de executar aplicativos e jogos.
- O Android-x86 na máquina virtual QEMU pode não ser 100% suave. Você pode esperar algumas falhas aleatórias e fechamentos forçados de vez em quando.
Melhorar a compatibilidade de aplicativos no Android-x86
Alguns aplicativos Android podem se recusar a funcionar com arquitetura x86. Android-x86 inclui uma biblioteca de compatibilidade que ajuda muito, mas você ainda pode encontrar problemas com certos aplicativos. Para habilitar a camada de compatibilidade, alterne “ponte nativa” nas configurações do sistema.
Por último, temos um pequeno problema que ainda não foi corrigido. Resolução da máquina virtual Android-x86. Se você tiver hardware de PC de baixo custo, sugiro que execute o Android no modo de janela apenas na resolução padrão (desative “Zoom para ajustar” no menu “Exibir”). Se você tiver hardware compatível, poderá aumentar a resolução seguindo as instruções abaixo.
Alteração da resolução da instalação do Android-x86 na máquina virtual QEMU (VM)
AVISO: Todos os comandos mencionados abaixo devem ser executados na instalação da VM Android-x86 (convidado). NÃO tente executar esses comandos na instalação do Ubuntu (host).
Para alterar permanentemente a resolução da VM Android, precisamos executar alguns comandos em um terminal iniciado dentro de nossa instância VM em execução. Android-x86 vem com um aplicativo emulador de terminal, inicie-o e execute os seguintes comandos um por um (permita o acesso root quando solicitado):
sumontar / dev / block / sda1 / mnt
vi / mnt / grub / menu.lst
Aperte depois de ver o arquivo de texto para iniciar o modo de edição. Na primeira entrada, adicione a resolução desejada no formato “video = widthxheight”, conforme mostrado na captura de tela abaixo:
Para salvar o arquivo, primeiro clique
Reinicialize a VM Android. A resolução desejada está definida agora. Você pode ver alguns cortes no modo de janela se a resolução da sua VM for igual à resolução do seu monitor, já que a barra de título da janela e as bordas ocupam algum espaço. Para corrigir isso, você terá que habilitar “Zoom para ajustar”, conforme mostrado na imagem abaixo:
Se você alternar para tela inteira pressionando
Mostruário
Este artigo afirma executar jogos 3D Android no Linux, seria um crime não incluir nenhuma filmagem. Então, aqui estão algumas imagens de jogo do SuperTuxKart rodando em velocidade total dentro da máquina virtual QEMU com Ubuntu 19.04 como hospedeiro. Estou controlando o jogo com as teclas de seta do teclado, mas o jogo em si está rodando no Android-x86 VM. O GIF abaixo foi acelerado e perdeu qualidade durante a conversão:
Isso conclui a longa postagem. Se você gosta de executar aplicativos e jogos Android no PC desktop, este método é muito melhor do que usar emuladores de terceiros com políticas de privacidade malucas, além de não exigir que você se intrometa com as partições do sistema para um dual boot.