Qemu est une solution de virtualisation matérielle pour Linux qui permet l'émulation d'un système d'exploitation complet installé sur un disque virtuel. VirGL est un moteur de rendu OpenGL ajouté aux versions récentes de QEMU, il vous permet de créer une carte graphique virtuelle capable de 3D dans la machine virtuelle QEMU.
En utilisant une combinaison des technologies Android-x86, QEMU et VirGL, nous allons démarrer et installer le système d'exploitation Android complet dans une machine virtuelle.
Une note de compatibilité : ce guide a été testé avec Ubuntu 19.04 et les instructions ci-dessous fonctionneront pour Ubuntu 19.04 ou versions plus récentes. QEMU dans les anciennes versions d'Ubuntu ne prend pas en charge VirGL. Vous devez également disposer d'un processeur compatible avec la machine virtuelle basée sur le noyau (KVM) sur votre système. La plupart des processeurs modernes prennent en charge KVM, mais vous pouvez vérifier sa présence en exécutant la commande ci-dessous :
egrep -c '(vmx|svm)' /proc/cpuinfoTout nombre supérieur à 0 implique la prise en charge de KVM. Vous devez toujours vous assurer que la virtualisation est activée dans le BIOS. Plus d'informations peuvent être trouvées ici.
Conditions préalables
Nous allons commencer par installer les packages QEMU requis et ajouter le nom d'utilisateur au groupe KVM. Exécutez les commandes ci-dessous :
sudo apt installer qemu qemu-kvmsudo adduser 'id -un' kvm
Redémarrez votre système. Téléchargez l'image ISO Android-x86 à partir d'ici. Exécutez la commande suivante pour créer un disque dur virtuel :
qemu-img créer -f qcow2 androidx86_hda.img 10GVous pouvez remplacer 10G par n'importe quel nombre et cela créera un disque virtuel de cette taille en Go.
Procédure pas à pas pour l'installation d'Android-x86 QEMU
Pour démarrer dans l'image en direct d'Android-x86 dans une machine virtuelle QEMU, exécutez la commande :
qemu-system-x86_64 \-activer-kvm \
-m 2048 \
-smp 2 \
-hôte du processeur \
-soundhw es1370 \
-périphérique virtio-souris-pci -périphérique virtio-clavier-pci \
-série lun:stdio \
-menu de démarrage = activé \
-réseau réseau \
-net user,hostfwd=tcp::5555-:22 \
-périphérique virtio-vga,virgl=on \
-afficher gtk,gl=on \
-hda androidx86_hda.img \
-cdrom android-x86_64-8.1-r3.iso
Remarquez les arguments « hda » et « cdrom ». Vous devez vous assurer qu'ils correspondent aux noms du disque dur virtuel et à l'image iso Android-x86 téléchargée. Si vous avez correctement suivi les instructions jusqu'ici, vous devriez voir une nouvelle fenêtre contextuelle :
Sélectionnez l'entrée "Installation" et attendez que l'écran de partitionnement apparaisse.
Choisissez "Créer/Modifier des partitions", puis GPT pour être "Oui".
Ignorez l'avertissement sur l'écran suivant, appuyez simplement sur n'importe quelle touche pour continuer. Vous verrez un gestionnaire de partition.
Sélectionnez « Nouveau », puis continuez à appuyer sur le
Appuyez sur l'option « Écrire » puis tapez « oui » pour confirmer. Sélectionnez l'option "Quitter" pour quitter le gestionnaire de partition. Choisissez la partition "sda1" sur l'écran suivant.
Sélectionnez "ext4" pour formater la partition et sélectionnez l'option "Oui" lorsque vous y êtes invité.
Choisissez "Oui" lorsque vous êtes invité à propos du chargeur de démarrage GRUB.
Sur l'écran suivant, vous pouvez voir un avertissement concernant la conversion en « MBR ». Sélectionnez "Oui".
Attendez la fin de l'installation.
Ne sélectionnez aucune option, fermez simplement la fenêtre à l'invite suivante :
Android-x86 est maintenant complètement installé dans une machine virtuelle QEMU. Pour démarrer dans le système d'exploitation nouvellement installé, nous utiliserons la même longue commande ci-dessus en omettant l'argument "cdrom".
qemu-system-x86_64 \-activer-kvm \
-m 2048 \
-smp 2 \
-hôte du processeur \
-soundhw es1370 \
-périphérique virtio-souris-pci -périphérique virtio-clavier-pci \
-série lun:stdio \
-menu de démarrage = activé \
-réseau réseau \
-net user,hostfwd=tcp::5555-:22 \
-périphérique virtio-vga,virgl=on \
-afficher gtk,gl=on \
-hda androidx86_hda.img
Vous verrez le logo de démarrage Android, puis exécutez d'abord l'écran de configuration.
Attendez la fin de l'installation.
Il suffit de parcourir la configuration pour arriver à l'écran d'accueil. Android-x86 a une prise en charge complète du Play Store intégrée. Notez que la machine virtuelle en cours d'exécution récupérera toutes les frappes et les événements de souris. Pour relâcher la prise, vous devrez appuyer sur
La prise en charge de l'accélération matérielle 3D est présente.
Choses importantes que vous devez savoir
- Vous pouvez personnaliser la commande que nous avons utilisée ci-dessus dans une certaine mesure : le commutateur "-m" est pour la RAM, le commutateur "-smp" est pour les cœurs de processeur. Si vous voulez explorer toutes les options, Gentoo Wiki a une assez bonne explication.
basculera l'expérience immersive en plein écran. - Vous pouvez activer la connectivité Internet dans Android-x86 en appuyant sur l'option "VirtWifi" dans les paramètres "Wi-Fi".
- Tout ne fonctionnera pas en machine virtuelle, bluetooth par exemple.
- La compatibilité et les performances de l'accélération matérielle dépendront de la carte graphique, des pilotes et de la puissance du processeur de votre PC.
- La dernière version d'Android-x86 est livrée avec la prise en charge de Windows sous forme libre. Vous pouvez minimiser, maximiser, restaurer les fenêtres et les accrocher aux coins, comme vous le feriez sur un système d'exploitation de bureau.
- Android-x86 est en retard d'une version ou deux sur la version actuelle d'Android. Cela n'affectera cependant pas votre capacité à exécuter des applications et des jeux.
- Android-x86 dans la machine virtuelle QEMU peut ne pas être une voile 100% fluide. Vous pouvez vous attendre à des plantages aléatoires et à des fermetures forcées de temps en temps.
Amélioration de la compatibilité des applications dans Android-x86
Certaines applications Android peuvent refuser de fonctionner avec l'architecture x86. Android-x86 inclut une bibliothèque de compatibilité qui aide grandement, mais vous pouvez toujours rencontrer des problèmes avec certaines applications. Pour activer la couche de compatibilité, basculez « pont natif » dans les paramètres système.
Enfin, nous avons un petit problème à régler. Résolution de la machine virtuelle Android-x86. Si vous avez du matériel PC bas de gamme, je vous suggère d'exécuter Android en mode fenêtré uniquement à la résolution par défaut (désactivez "Zoom To Fit" dans le menu "View"). Si vous disposez d'un matériel performant, vous pouvez augmenter la résolution en suivant les instructions ci-dessous.
Modification de la résolution de l'installation d'Android-x86 dans la machine virtuelle (VM) QEMU
AVERTISSEMENT : toutes les commandes mentionnées ci-dessous sont destinées à être exécutées dans l'installation de la machine virtuelle Android-x86 (invité). N'essayez PAS d'exécuter ces commandes dans votre installation Ubuntu (hôte).
Pour modifier définitivement la résolution de la machine virtuelle Android, nous devons exécuter certaines commandes dans un terminal lancé dans notre instance de machine virtuelle en cours d'exécution. Android-x86 est livré avec une application d'émulation de terminal, lancez-la et exécutez les commandes suivantes une par une (autorisez l'accès root lorsque vous y êtes invité) :
sumonter /dev/block/sda1 /mnt
vi /mnt/grub/menu.ler
presse une fois que vous voyez le fichier texte pour démarrer le mode d'édition. Dans la première entrée, ajoutez la résolution souhaitée au format « vidéo = largeur x hauteur », comme indiqué dans la capture d'écran ci-dessous :
Pour enregistrer le fichier, appuyez d'abord sur
Redémarrez la machine virtuelle Android. Votre résolution souhaitée est définie maintenant. Vous pouvez voir un certain écrêtage en mode fenêtré si la résolution de votre machine virtuelle est égale à la résolution de votre moniteur car la barre de titre de la fenêtre et les bordures prennent de l'espace. Pour résoudre ce problème, vous devrez activer « Zoom To Fit », comme indiqué dans la capture d'écran ci-dessous :
Si vous basculez en plein écran en appuyant sur
Vitrine
Cet article prétend exécuter des jeux Android 3D sous Linux, ce serait un crime de ne pas inclure de séquences. Voici donc quelques séquences de gameplay de SuperTuxKart fonctionnant à pleine vitesse dans la machine virtuelle QEMU avec Ubuntu 19.04 en tant qu'hôte. Je contrôle le jeu avec les touches fléchées du clavier, mais le jeu lui-même fonctionne sous Android-x86 VM. Le GIF ci-dessous est accéléré et a perdu de la qualité lors de la conversion :
Ceci conclut le long post. Si vous aimez exécuter des applications et des jeux Android sur un ordinateur de bureau, cette méthode est bien meilleure que d'utiliser des émulateurs tiers ayant des politiques de confidentialité folles, et elle ne vous oblige pas à vous mêler des partitions système pour un double démarrage.