Qemu är en hårdvaruvirtualiseringslösning för Linux som möjliggör emulering av ett helt operativsystem installerat på en virtuell disk. VirGL är en OpenGL-renderare som läggs till i de senaste QEMU-byggnaderna, det låter dig skapa ett virtuellt 3D-kompatibelt grafikkort inuti QEMU virtuell maskin.
Med en kombination av Android-x86-, QEMU- och VirGL-teknologier kommer vi att starta och installera komplett Android OS i en virtuell maskin.
En kompatibilitetsanmärkning: Den här guiden har testats med Ubuntu 19.04 och instruktionerna nedan fungerar för Ubuntu 19.04 eller nyare versioner. QEMU i äldre versioner av Ubuntu saknar VirGL-stöd. Du måste också ha en KVM-kompatibel processor (Kernel-based Virtual Machine) på ditt system. De flesta moderna processorer har stöd för KVM men du kan kontrollera dess närvaro genom att köra kommandot nedan:
egrep -c '(vmx | svm)' / proc / cpuinfoVarje nummer som är större än 0 innebär KVM-stöd. Du måste ändå se till att virtualisering är aktiverad i BIOS. Mer information finns här.
Förutsättningar
Vi börjar med att installera nödvändiga QEMU-paket och lägga till användarnamn i KVM-gruppen. Kör kommandon nedan:
sudo apt installera qemu qemu-kvmsudo adduser 'id -un' kvm
Starta om ditt system. Hämta Android-x86 ISO-bild härifrån. Kör följande kommando för att skapa en virtuell hårddisk:
qemu-img skapa -f qcow2 androidx86_hda.bild 10GDu kan ersätta 10G med valfritt nummer och det skapar en virtuell disk av den storleken i GB.
Android-x86 QEMU Installation Walkthrough
För att starta upp en livebild av Android-x86 inuti en virtuell QEMU-maskin, kör kommandot:
qemu-system-x86_64 \-aktivera-kvm \
-m 2048 \
-smp 2 \
-cpu-värd \
-soundhw es1370 \
-enhet virtio-mus-pci-enhet virtio-tangentbord-pci \
-seriell mon: stdio \
-startmeny = på \
-netto nic \
-nätanvändare, hostfwd = tcp :: 5555-: 22 \
-enhet virtio-vga, virgl = on \
-visa gtk, gl = on \
-hda androidx86_hda.img \
-cdrom android-x86_64-8.1-r3.iso
Lägg märke till argumenten “hda” och “cdrom”. Du måste se till att de matchar namnen på den virtuella hårddisken och nedladdade Android-x86 iso-avbildningen. Om du har följt instruktionerna korrekt upp till här bör du se ett nytt fönster popup:
Välj posten “Installation” och vänta tills partitioneringsskärmen kommer upp.
Välj "Skapa / modifiera partitioner" och sedan GPT för att vara "Ja".
Ignorera varningen på nästa skärm, tryck bara på valfri knapp för att fortsätta. Du kommer att se en partitionshanterare.
Välj "Ny" och fortsätt sedan med att trycka på
Tryck på "Skriv" -alternativet och skriv sedan "ja" för att bekräfta. Välj alternativet ”Avsluta” för att avsluta partitionshanteraren. Välj "sda1" -partition på nästa skärm.
Välj "ext4" för att formatera partitionen och välj "Ja" när du uppmanas till det.
Välj “Ja” när du uppmanas till GRUB-startladdaren.
På nästa skärm kan du se en varning om konvertering till “MBR”. Välj "Ja".
Vänta tills installationen är klar.
Välj inte något alternativ, stäng bara fönstret med följande uppmaning:
Android-x86 är nu helt installerat i en virtuell QEMU-maskin. För att starta i nyinstallerat operativsystem använder vi samma långa kommando ovanifrån medan vi utelämnar “cdrom” -argumentet.
qemu-system-x86_64 \-aktivera-kvm \
-m 2048 \
-smp 2 \
-cpu-värd \
-soundhw es1370 \
-enhet virtio-mus-pci-enhet virtio-tangentbord-pci \
-seriell mon: stdio \
-startmeny = på \
-netto nic \
-nätanvändare, hostfwd = tcp :: 5555-: 22 \
-enhet virtio-vga, virgl = on \
-visa gtk, gl = on \
-hda androidx86_hda.img
Du ser Android-startlogotypen och kör sedan först installationsskärmen.
Vänta tills installationen är klar.
Gå bara igenom installationen för att komma till startskärmen. Android-x86 har fullt inbyggt stöd för Play Store. Observera att den virtuella maskinen som körs kommer att ta alla tangenttryckningar och mushändelser. För att frigöra spärren måste du trycka på
Stöd för 3D-hårdvaruacceleration är närvarande.
Viktiga saker du borde veta
- Du kan anpassa kommandot vi har använt ovan till viss del: "-m" -omkopplaren är för RAM, "-smp" -omkopplaren är för CPU-kärnor. Om du vill utforska alla alternativ har Gentoo Wiki en ganska bra förklaring.
kommer att växla uppslukande helskärmsupplevelse. - Du kan aktivera internetanslutning i Android-x86 genom att trycka på alternativet "VirtWifi" i "Wi-Fi" -inställningar.
- Inte allt fungerar i virtuell maskin, bluetooth till exempel.
- Kompatibilitet och prestanda för hårdvaruacceleration beror på datorns grafikkort, drivrutiner och CPU-hästkrafter.
- Senaste versionen av Android-x86 levereras med stöd för friformsfönster. Du kan minimera, maximera, återställa fönster och fästa dem i hörn, precis som du skulle göra på ett stationärt operativsystem.
- Android-x86 släpar efter nuvarande Android-utgåva med en version eller två. Det påverkar dock inte din förmåga att köra appar och spel.
- Android-x86 i QEMU virtuell maskin kanske inte är ett 100% smidigt segel. Du kan förvänta dig några slumpmässiga kraschar och kraft stängs då och då.
Förbättra appkompatibilitet i Android-x86
Vissa Android-appar kan vägra att arbeta med x86-arkitektur. Android-x86 innehåller ett kompatibilitetsbibliotek som hjälper mycket men du kan fortfarande hitta problem med vissa appar. För att aktivera kompatibilitetslagret, växla "native bridge" i systeminställningarna.
Slutligen har vi ett litet problem som ännu inte har fixats. Upplösning av den virtuella Android-x86-maskinen. Om du har PC-maskinvara av låg kvalitet, föreslår jag att du kör Android i fönsterläge endast med standardupplösningen (inaktivera "Zoom To Fit" i "View" -menyn). Om du har kapabel hårdvara kan du öka upplösningen genom att följa instruktionerna nedan.
Ändra upplösningen på Android-x86-installationen i QEMU Virtual Machine (VM)
VARNING: Alla kommandon som nämns nedan är avsedda att köras i Android-x86 VM-installation (gäst). Försök INTE att köra dessa kommandon i din Ubuntu-installation (värd).
För att permanent ändra upplösningen på Android VM måste vi köra några kommandon i en terminal som startas i vår körande VM-instans. Android-x86 levereras med en terminalemulator-app, starta den och kör följande kommandon en efter en (tillåt root-åtkomst när du blir ombedd):
sumontera / dev / blockera / sda1 / mnt
vi / mnt / grub / menu.första
Tryck när du ser textfilen för att starta redigeringsläget. I den första posten, lägg till önskad upplösning i formatet “video = widthxheight”, som visas på skärmdumpen nedan:
För att spara filen, tryck först
Starta om Android-VM. Din önskade upplösning är nu inställd. Du kan se en del klippning i fönsterläge om din virtuella dators upplösning är lika med din bildskärms upplösning, eftersom fönstrets titelfält och gränser tar lite utrymme. För att åtgärda detta måste du aktivera “Zoom To Fit”, som visas på skärmdumpen nedan:
Om du växlar till helskärm genom att trycka på
Monter
Den här artikeln påstår sig köra 3D-Android-spel i Linux, det skulle vara ett brott att inte ta med några bilder. Så här är några spelfilmer av SuperTuxKart som körs i full hastighet i QEMU virtuella maskin med Ubuntu 19.04 som värd. Jag kontrollerar spelet med piltangenterna på tangentbordet, men själva spelet körs i Android-x86 VM. GIF nedan är snabbare och har tappat kvalitet under konvertering:
Detta avslutar det långa inlägget. Om du gillar att köra Android-appar och spel på stationär PC är den här metoden mycket bättre än att använda tredjepartsemulatorer som har galna sekretesspolicyer, plus att du inte behöver blanda dig med systempartitioner för en dubbel start.