In den Android Canary-Bereich, der die Android Developer Preview ersetzt und zur Testung von Funktionen für künftige Android-Versionen genutzt wird, wurde die Fähigkeit zur Ausführung von grafischen Anwendungen, die für Linux erstellt wurden, integriert. Dies geschieht über die Anwendung Linux Terminal, die es ermöglicht, eine virtuelle Maschine mit Debian GNU/Linux im Android-Umfeld zu starten, in der gängige Linux-Anwendungen ausgeführt werden können.
Um die grafische Umgebung zu starten, wurde im Linux Terminal eine Schaltfläche "Display" hinzugefügt, die die Umleitung der Grafik über Komponenten im Haupt-Android-Umfeld aktiviert. Nach der Aktivierung der Schaltfläche "Display" kann im Terminal der Kompositor-Server Weston gestartet werden, der eine minimalistische Fenstersitzung bereitstellt, die dann verwendet werden kann, um beliebige grafische Anwendungen zu starten, zum Beispiel die Ausführung des Texteditors Gedit.
Die Entwicklung der Linux Terminal-Anwendung erfolgt im AOSP (Android Open Source Project) im Hauptbestandteil der Android-Plattform. Die Funktionalität der Linux-VM wird im Rahmen des Projekts Ferrochrome weiterentwickelt. In der Gastumgebung wird Debian GNU/Linux 12 ausgeführt. Zur Virtualisierung wird das AVF (Android Virtualization Framework) genutzt, das auf einem Hypervisor basiert. KVM Das grafische Umfeld verwendet das Wayland-Protokoll und basiert auf dem kompositorischen Server Weston. Der Start von Anwendungen, die für X11 gebaut wurden, erfolgt mithilfe der DDX-Komponente XWayland.
Die erstellte Umgebung ermöglicht die Nutzung von Hardwarebeschleunigung für Grafik, was das Ausführen ressourcenintensiver grafischer Anwendungen, wie Spiele, erlaubt. Zur Grafikbeschleunigung wird VirGL — der virtuelle GPU Virgil3D für QEMU/KVM eingesetzt. Standardmäßig ist die Hardwarebeschleunigung deaktiviert. Um sie zu aktivieren, muss im Verzeichnis /sdcard/linux eine leere Datei mit dem Namen „virglrenderer“ erstellt werden, gefolgt von der Überprüfung, ob die Nachricht „VirGL enabled“ beim Öffnen des Terminals erscheint.
Quelle: opennet.ru
