QEMU è una soluzione di virtualizzazione hardware per Linux che consente l'emulazione di un intero sistema operativo installato su un disco virtuale. Virgl è un rendering OpenGL aggiunto alle recenti build QEMU, ti consente di creare una scheda grafica in grado di 3D virtuale all'interno di QEMU Virtual Machine.
Utilizzando una combinazione di tecnologie Android-X86, QEMU e Virgl, avvio e installeremo il sistema operativo Android completo in una macchina virtuale.
Una nota di compatibilità: questa guida è stata testata con Ubuntu 19.04 e le istruzioni di seguito funzionano per Ubuntu 19.04 o versioni più recenti. QEMU nelle versioni precedenti di Ubuntu manca di supporto virgle. È inoltre necessario disporre di una CPU compatibile con macchina virtuale a base di kernel (KVM) sul sistema. I CPU più moderni hanno supporto per KVM ma puoi verificarne la presenza eseguendo il comando di seguito:
egrep -c '(vmx | svm)' /proc /cpuinfo
Qualsiasi numero maggiore di 0 implica il supporto KVM. Tuttavia, è ancora necessario assicurarsi che la virtualizzazione sia abilitata nel BIOS. Ulteriori informazioni possono essere trovate qui.
Prerequisiti
Inizieremo installando i pacchetti QEMU richiesti e aggiungendo nome utente al gruppo KVM. Esegui comandi di seguito:
SUDO APT Installa QEMU QEMU-KVM
sudo adduser 'id -un' kvm
Riavvia il tuo sistema. Scarica l'immagine ISO Android-x86 da qui. Esegui il seguente comando per creare un disco rigido virtuale:
QEMU -IMG Crea -f QCOW2 Androidx86_HDA.IMG 10G
È possibile sostituire 10G con qualsiasi numero e creerà un disco virtuale di quella dimensione in GB.
Walkthrough di installazione QEMU Android-x86
Per avviare l'immagine in diretta di Android-X86 all'interno di una macchina virtuale QEMU, eseguire il comando:
QEMU-System-X86_64 \
-abilita-kvm \
-M 2048 \
-SMP 2 \
-Host CPU \
-SoundHW ES1370 \
-dispositivo virtio-mouse-pci -device virtio-tastiera-pci \
-Serial Mon: stdio \
-menu di avvio = su \
-net nic \
-Utente netto, hostfwd = tcp :: 5555-: 22 \
-dispositivo virtio-vga, virgl = on \
-Visualizza gtk, gl = on \
-HDA Androidx86_HDA.img \
-cdrom Android-X86_64-8.1-R3.iso
Notare gli argomenti "HDA" e "CDROM". Devi assicurarti che abbinino i nomi del disco rigido virtuale e scaricato Immagine ISO Android-X86. Se hai seguito le istruzioni correttamente fino a qui, dovresti vedere un nuovo popup della finestra:
Seleziona la voce "Installazione" e attendi che venga visualizzato la schermata di partizionamento.
Scegli "Crea/modifica le partizioni", quindi GPT per essere "Sì".
Ignora l'avvertimento nella schermata successiva, basta premere qualsiasi tasto per continuare. Vedrai un gestore delle partizioni.
Seleziona "Nuovo" e quindi continua a colpire la chiave per i successivi quattro suggerimenti. Non è necessario specificare nulla nelle prompt. Una volta fatto, vedrai il file system di nuova creazione in Partition Manager, come mostrato nello screenshot seguente:
Premi l'opzione "Scrivi" e quindi digita "sì" per confermare. Seleziona l'opzione "ESCIPA" per uscire dal gestore delle partizioni. Scegli la partizione "SDA1" nella schermata successiva.
Selezionare "Ext4" per formattare la partizione e selezionare l'opzione "Sì" quando viene richiesto.
Scegli "Sì" quando viene richiesto di Grub Boot Loader.
Nella schermata successiva, potresti vedere un avvertimento sulla conversione in "MBR". Seleziona "Sì".
Attendi che l'installazione finisca.
Non selezionare alcuna opzione, basta chiudere la finestra sul prompt seguente:
Android-x86 è ora completamente installato in una macchina virtuale QEMU. Per avviare il sistema operativo appena installato, useremo lo stesso lungo comando dall'alto mentre ometteremo l'argomento "cdrom".
QEMU-System-X86_64 \
-abilita-kvm \
-M 2048 \
-SMP 2 \
-Host CPU \
-SoundHW ES1370 \
-dispositivo virtio-mouse-pci -device virtio-tastiera-pci \
-Serial Mon: stdio \
-menu di avvio = su \
-net nic \
-Utente netto, hostfwd = tcp :: 5555-: 22 \
-dispositivo virtio-vga, virgl = on \
-Visualizza gtk, gl = on \
-HDA Androidx86_HDA.img
Vedrai il logo di avvio Android e quindi esegui prima la schermata di configurazione.
Attendi che l'installazione finisca.
Basta passare attraverso l'installazione per arrivare alla schermata principale. Android-X86 ha un supporto per il negozio di giocatore completo integrato. Si noti che la macchina virtuale in esecuzione prenderà tutti i tasti ed eventi del mouse. Per rilasciare la sospensione, dovrai premere la combinazione dei tasti.
Il supporto di accelerazione hardware 3D è presente.
Cose importanti che dovresti sapere
Miglioramento della compatibilità delle app in Android-X86
Alcune app Android possono rifiutare di lavorare con l'architettura X86. Android-x86 include una libreria di compatibilità che aiuta molto, ma potresti ancora trovare problemi con determinate app. Per abilitare il livello di compatibilità, alternare il "ponte nativo" nelle impostazioni del sistema.
Infine, abbiamo un piccolo problema ancora da risolvere. Risoluzione della macchina virtuale Android-X86. Se hai hardware per PC di fascia bassa, ti suggerirei di eseguire Android in modalità finestra solo alla risoluzione predefinita (Disabilita "Zoom To Fit" nel menu "Visualizza"). Se hai l'hardware capace, puoi aumentare la risoluzione seguendo le istruzioni di seguito.
Modifica della risoluzione dell'installazione Android-X86 nella macchina virtuale QEMU (VM)
ATTENZIONE: tutto il comando menzionato di seguito è destinato a essere eseguito nell'installazione VM Android-X86 (GUEST). Non tentare di eseguire questi comandi nell'installazione di Ubuntu (host).
Per modificare in modo permanente la risoluzione di Android VM, dobbiamo eseguire alcuni comandi in un terminale lanciato all'interno della nostra istanza VM in esecuzione. Android-X86 viene fornito con un'app per emulatore terminale, avvia e esegui i seguenti comandi uno per uno (consentire l'accesso al root quando richiesto):
Su
Mount /Dev /Block /SDA1 /MNT
vi/mnt/grub/menu.LST
Premere Una volta visualizzato il file di testo per avviare la modalità di modifica. Nella prima voce, aggiungi la risoluzione desiderata nel formato "Video = widthxheight", come mostrato nello screenshot seguente:
Per salvare il file, prima tieni il tasto, quindi digita ": wq" senza quotazioni e quindi premere il tasto. Esegui il comando in basso per sconvolgere in modo sicuro il nostro punto di montaggio.
umount /mnt
Riavvia la VM Android. La tua risoluzione desiderata è ora impostata. Potresti vedere un po 'di ritaglio in modalità finestra se la risoluzione della tua VM è uguale alla risoluzione del monitor come barra del titolo di finestra e i bordi assumono un po' di spazio. Per risolvere questo problema, dovrai abilitare "Zoom di adattarsi", come mostrato nello screenshot seguente:
Se alterni a commutazione intera premendo, non ci sarà alcun clipping. Per confermare la corretta risoluzione, visitare l'app "Dev Strumenti" e quindi selezionare l'opzione "Configurazione". L'altezza sarà leggermente inferiore all'altezza della barra di navigazione nella parte inferiore viene detratta dall'altezza della risoluzione.
Questo articolo afferma di eseguire giochi Android 3D in Linux, sarebbe un crimine non includere alcun filmato. Quindi ecco alcuni filmati di gameplay di Supertuxkart che corre a tutta velocità all'interno di Qemu Virtual Machine con Ubuntu 19.04 come host. Sto controllando il gioco con tasti freccia della tastiera, ma il gioco stesso è in esecuzione in VM Android-X86. GIF sotto è accelerato e ha perso la qualità durante la conversione:
Questo conclude il lungo post. Se ti piace eseguire app e giochi Android su PC desktop, questo metodo è molto meglio rispetto all'uso di emulatori di terze parti che hanno folli politiche sulla privacy, inoltre non richiede di intromettersi con partizioni di sistema per un doppio avvio.