Android verfügt über eine eingebaute Möglichkeit, grafische Linux-Anwendungen auszuführen.

Im Android-Cross-Testzweig, der das Android Developer Preview ersetzt und zur Testung von Funktionen für künftige Android-Versionen verwendet wird, wurde die Möglichkeit hinzugefügt, grafische Anwendungen, die für Linux entwickelt wurden, auszuführen. Die Ausführung erfolgt über die Anwendung Linux Terminal, die es ermöglicht, eine virtuelle Maschine mit Debian GNU/Linux in der Android-Umgebung zu starten, in der man gewöhnliche Linux-Anwendungen ausführen kann.

Um die grafische Umgebung im Linux Terminal zu starten, wurde der Knopf «Display» hinzugefügt, der die Umleitung der Grafik über Komponenten in der Haupt-Android-Umgebung einschaltet. Nach Aktivierung des Knopfs «Display» kann im Terminal der Komposit-Server Weston gestartet werden, der eine minimalistische Fenstersitzung bereitstellt, und dann kann dieser verwendet werden, um beliebige grafische Anwendungen zu starten, zum Beispiel wurde der Start des Texteditors Gedit demonstriert.

Die Entwicklung der Linux Terminal-Anwendung erfolgt im AOSP (Android Open Source Project) -Repository, das Teil der Android-Plattform ist. Die Funktionalität der virtuellen Maschine mit Linux wird im Rahmen des Projekts Ferrochrome weiterentwickelt. In der Gastumgebung wird Debian GNU/Linux 12 gestartet. Für die Virtualisierung wird das AVF (Android Virtualization Framework) verwendet, das auf einem Hypervisor basiert. KVM und dem crosvm-Toolkit. Die grafische Umgebung verwendet das Wayland-Protokoll und basiert auf dem Kompositsystem. Server Die Ausführung von Anwendungen, die für X11 kompiliert wurden, erfolgt unter Verwendung der DDX-Komponente XWayland.

In der geschaffenen Umgebung wurde die Möglichkeit implementiert, grafische Hardwarebeschleunigung zu nutzen, was das Ausführen von ressourcenintensiven grafischen Anwendungen wie Spielen ermöglicht. Für die Grafikbeschleunigung wird VirGL - die virtuelle GPU Virgil3D für QEMU/KVM - verwendet. Standardmäßig ist die Hardwarebeschleunigung deaktiviert, um sie zu aktivieren, ist es notwendig, im Verzeichnis /sdcard/linux eine leere Datei mit dem Namen «virglrenderer» zu erstellen, und dann auf die Anzeige der Nachricht «VirGL aktiviert» beim Öffnen des Terminals zu achten.

Quelle: opennet.ru

60GB SSD 8Gb DDR4