Qemu ist eine Hardware-Virtualisierungslösung für Linux, die die Emulation eines gesamten Betriebssystems ermöglicht, das auf einer virtuellen Festplatte installiert ist. VirGL ist ein OpenGL-Renderer, der zu den neuesten QEMU-Builds hinzugefügt wurde und es Ihnen ermöglicht, eine virtuelle 3D-fähige Grafikkarte in einer virtuellen QEMU-Maschine zu erstellen.
Mit einer Kombination aus Android-x86-, QEMU- und VirGL-Technologien booten und installieren wir das komplette Android-Betriebssystem in einer virtuellen Maschine.
Ein Kompatibilitätshinweis: Dieses Handbuch wurde mit Ubuntu 19 . getestet.04 und Anweisungen unten funktionieren für Ubuntu 19.04 oder neuere Versionen. QEMU in älteren Versionen von Ubuntu fehlt VirGL-Unterstützung. Sie benötigen außerdem eine Kernel-based Virtual Machine (KVM)-kompatible CPU auf Ihrem System. Die meisten modernen CPUs unterstützen KVM, aber Sie können seine Anwesenheit überprüfen, indem Sie den folgenden Befehl ausführen:
egrep -c '(vmx|svm)' /proc/cpuinfoJede Zahl größer als 0 bedeutet KVM-Unterstützung. Sie müssen jedoch weiterhin sicherstellen, dass die Virtualisierung im BIOS aktiviert ist. Weitere Informationen finden Sie hier.
Voraussetzungen
Wir beginnen mit der Installation der erforderlichen QEMU-Pakete und dem Hinzufügen des Benutzernamens zur KVM-Gruppe. Führen Sie die folgenden Befehle aus:
sudo apt installieren qemu qemu-kvmsudo adduser 'id -un' kvm
Starten Sie Ihr System neu. Laden Sie das Android-x86-ISO-Image von hier herunter. Führen Sie den folgenden Befehl aus, um eine virtuelle Festplatte zu erstellen:
qemu-img create -f qcow2 androidx86_hda.img 10GSie können 10G durch eine beliebige Zahl ersetzen und es wird eine virtuelle Festplatte dieser Größe in GB erstellt.
Anleitung zur Android-x86-QEMU-Installation
Führen Sie den folgenden Befehl aus, um das Live-Image von Android-x86 in einer virtuellen QEMU-Maschine zu starten:
qemu-system-x86_64 \-enable-kvm \
-m 2048 \
-smp 2 \
-CPU-Host \
-soundhw es1370 \
-device virtio-mouse-pci -device virtio-keyboard-pci \
-Serienmon:stdio \
-bootmenü=ein\
-netto \
-net user,hostfwd=tcp::5555-:22 \
-Gerät virtio-vga,virgl=on \
-gtk,gl=on anzeigen \
-hda androidx86_hda.img \
-CD-ROM android-x86_64-8.1-r3.iso
Beachten Sie die Argumente „hda“ und „cdrom“. Sie müssen sicherstellen, dass sie mit den Namen der virtuellen Festplatte und des heruntergeladenen Android-x86-ISO-Image übereinstimmen. Wenn Sie die Anweisungen bis hierher richtig befolgt haben, sollten Sie ein neues Popup-Fenster sehen:
Wählen Sie den Eintrag „Installation“ und warten Sie, bis der Partitionierungsbildschirm angezeigt wird.
Wählen Sie „Partitionen erstellen/ändern“ und dann GPT auf „Ja“.
Ignorieren Sie die Warnung auf dem nächsten Bildschirm, drücken Sie einfach eine beliebige Taste, um fortzufahren. Sie sehen einen Partitionsmanager.
Wählen Sie „Neu“ und drücken Sie dann weiter auf
Klicken Sie auf die Option "Schreiben" und geben Sie dann "ja" ein, um zu bestätigen. Wählen Sie die Option „Beenden“, um den Partitionsmanager zu beenden. Wählen Sie auf dem nächsten Bildschirm die Partition "sda1".
Wählen Sie „ext4“, um die Partition zu formatieren, und wählen Sie die Option „Ja“, wenn Sie dazu aufgefordert werden.
Wählen Sie „Ja“, wenn Sie zum GRUB-Bootloader aufgefordert werden.
Auf dem nächsten Bildschirm wird möglicherweise eine Warnung zur Konvertierung in "MBR" angezeigt. Wählen Sie „Ja“.
Warten Sie, bis die Installation abgeschlossen ist.
Wählen Sie keine Option aus, schließen Sie einfach das Fenster bei der folgenden Eingabeaufforderung:
Android-x86 ist jetzt vollständig in einer virtuellen QEMU-Maschine installiert. Um in das neu installierte Betriebssystem zu booten, verwenden wir den gleichen langen Befehl von oben, während das Argument "cdrom" weggelassen wird.
qemu-system-x86_64 \-enable-kvm \
-m 2048 \
-smp 2 \
-CPU-Host \
-soundhw es1370 \
-device virtio-mouse-pci -device virtio-keyboard-pci \
-Serienmon:stdio \
-bootmenü=ein\
-netto \
-net user,hostfwd=tcp::5555-:22 \
-Gerät virtio-vga,virgl=on \
-gtk,gl=on anzeigen \
-hda androidx86_hda.img
Sie sehen das Android-Boot-Logo und führen dann zuerst den Setup-Bildschirm aus.
Warten Sie, bis die Installation abgeschlossen ist.
Gehen Sie einfach durch die Einrichtung, um zum Startbildschirm zu gelangen. Android-x86 hat volle Play Store-Unterstützung integriert. Beachten Sie, dass die laufende virtuelle Maschine alle Tastenanschläge und Mausereignisse erfasst. Um das Halten aufzuheben, müssen Sie drücken
Unterstützung für 3D-Hardwarebeschleunigung ist vorhanden.
Wichtige Dinge, die Sie wissen sollten
- Sie können den Befehl, den wir oben verwendet haben, bis zu einem gewissen Grad anpassen: Der Schalter „-m“ ist für RAM, der Schalter „-smp“ ist für CPU-Kerne. Wenn Sie alle Optionen erkunden möchten, hat Gentoo Wiki eine ziemlich gute Erklärung.
schaltet das immersive Vollbild-Erlebnis um. - Sie können die Internetverbindung in Android-x86 aktivieren, indem Sie in den "Wi-Fi" -Einstellungen auf die Option "VirtWifi" tippen.
- Nicht alles funktioniert in virtuellen Maschinen, zum Beispiel Bluetooth.
- Die Kompatibilität und Leistung der Hardwarebeschleunigung hängt von der Grafikkarte, den Treibern und der CPU-Leistung Ihres PCs ab.
- Die neueste Version von Android-x86 bietet Unterstützung für Freiformfenster. Sie können Fenster minimieren, maximieren, wiederherstellen und an Ecken ausrichten, genau wie bei einem Desktop-Betriebssystem.
- Android-x86 hinkt der aktuellen Android-Version um ein oder zwei Versionen hinterher. Es hat jedoch keinen Einfluss auf Ihre Fähigkeit, Apps und Spiele auszuführen.
- Android-x86 in der virtuellen QEMU-Maschine ist möglicherweise kein 100% reibungsloses Segel. Sie können ab und zu mit einigen zufälligen Abstürzen und erzwungenen Schließungen rechnen.
Verbesserung der App-Kompatibilität in Android-x86
Einige Android-Apps verweigern möglicherweise die Arbeit mit der x86-Architektur. Android-x86 enthält eine Kompatibilitätsbibliothek, die sehr hilfreich ist, aber Sie können immer noch Probleme mit bestimmten Apps finden. Um die Kompatibilitätsschicht zu aktivieren, schalten Sie in den Systemeinstellungen „native Bridge“ um.
Zu guter Letzt haben wir noch ein kleines Problem, das noch behoben werden muss. Auflösung der virtuellen Android-x86-Maschine. Wenn Sie eine Low-End-PC-Hardware haben, würde ich Ihnen empfehlen, Android im Fenstermodus nur mit der Standardauflösung auszuführen (deaktivieren Sie „Zoom To Fit“ im Menü „View“). Wenn Sie über leistungsfähige Hardware verfügen, können Sie die Auflösung erhöhen, indem Sie die folgenden Anweisungen befolgen.
Ändern der Auflösung der Android-x86-Installation in der QEMU Virtual Machine (VM)
WARNUNG: Alle unten genannten Befehle sollen in der Android-x86-VM-Installation (Gast) ausgeführt werden. Versuchen Sie NICHT, diese Befehle in Ihrer Ubuntu-Installation (Host) auszuführen.
Um die Auflösung der Android-VM dauerhaft zu ändern, müssen wir einige Befehle in einem Terminal ausführen, das in unserer laufenden VM-Instanz gestartet wird. Android-x86 wird mit einer Terminal-Emulator-App geliefert, starten Sie sie und führen Sie die folgenden Befehle nacheinander aus (erlauben Sie den Root-Zugriff, wenn Sie dazu aufgefordert werden):
sumount /dev/block/sda1 /mnt
vi /mnt/grub/menu.lst
Drücken Sie Sobald Sie die Textdatei sehen, um den Bearbeitungsmodus zu starten. Fügen Sie im ersten Eintrag Ihre gewünschte Auflösung im Format „video=widthxheight“ hinzu, wie im Screenshot unten gezeigt:
Um die Datei zu speichern, drücken Sie zuerst
Starten Sie die Android-VM neu. Ihre gewünschte Auflösung ist jetzt eingestellt. Im Fenstermodus kann es zu Clipping kommen, wenn die Auflösung Ihrer VM der Auflösung Ihres Monitors entspricht, da die Fenstertitelleiste und die Ränder etwas Platz beanspruchen. Um dies zu beheben, müssen Sie „Zoom To Fit“ aktivieren, wie im folgenden Screenshot gezeigt:
Wenn Sie zum Vollbildmodus wechseln, indem Sie . drücken
Vitrine
In diesem Artikel wird behauptet, 3D-Android-Spiele unter Linux auszuführen. Es wäre ein Verbrechen, kein Filmmaterial aufzunehmen. Hier ist also einiges Gameplay-Material von SuperTuxKart, das mit voller Geschwindigkeit in der virtuellen QEMU-Maschine mit Ubuntu 19 . läuft.04 als Gastgeber. Ich steuere das Spiel mit den Pfeiltasten der Tastatur, aber das Spiel selbst läuft in Android-x86 VM. Das folgende GIF wird beschleunigt und hat während der Konvertierung an Qualität verloren:
Damit ist der lange Beitrag abgeschlossen. Wenn Sie Android-Apps und -Spiele auf einem Desktop-PC ausführen möchten, ist diese Methode viel besser als die Verwendung von Emulatoren von Drittanbietern mit verrückten Datenschutzrichtlinien, und Sie müssen sich nicht in Systempartitionen für einen Dual-Boot einmischen.