Jonas Dressler di GNOME, che sviluppa la versione di GNOME Shell per dispositivi mobili, ha pubblicato i lavori in corso che consentono di avviare l'ambiente Aliendalvik (AppSupport) su normali distribuzioni Linux. Aliendalvik è uno strato per la piattaforma mobile Sailfish, che consente di eseguire applicazioni scritte per la piattaforma Android. Durante il reverse engineering di Aliendalvik sono stati preparati patch per il server composito Mutter, script e binding per il server audio e il sistema di input, necessari per l'avvio di Aliendalvik al di fuori dell'ambiente della piattaforma Sailfish.
Il lancio di Aliendalvik è stato dimostrato sugli smartphone Pinephone Pro e Oneplus 6, su cui è stato installato Arch Linux con interfaccia GNOME Mobile. Si osserva che per l'interazione di Aliendalvik con l'ambiente utente Sailfish vengono utilizzate le API standard di Freedesktop; ad esempio, le notifiche vengono trasmesse tramite l'interfaccia DBus org.freedesktop.Notification, e per il controllo dei lettori musicali viene utilizzato il protocollo MPRIS. Ogni app Android in esecuzione viene visualizzata utilizzando una superficie Wayland separata nella propria finestra, mentre per l'organizzazione dell'input è stato impiegato il protocollo Wayland "text-input."
L'ambiente Aliendalvik viene avviato utilizzando strumenti di isolamento dei contenitori LXC, e i componenti per l'integrazione con il sistema host sono stati compilati per l'architettura ARM64 e scritti utilizzando Qt. A differenza del progetto simile Waydroid, che esegue anch'esso un ambiente Android in un contenitore, in Aliendalvik è stata fornita una integrazione più stretta con il sistema host, ad esempio, le applicazioni Android si aprono in normali finestre, supporta la sincronizzazione della rubrica e utilizza la tastiera a schermo di Sailfish.
L'ambiente di sistema Sailfish è basato sul progetto Mer (sviluppato come parte di Sailfish da aprile 2019) e sui pacchetti della distribuzione Mer Nemo. Nell'ambiente vengono utilizzati systemd, DBus, RPM, PackageKit, PulseAudio, BlueZ, Wayland e Qt. Il compositore lipstick è basato su QtCompositor. Per l'isolamento delle applicazioni viene utilizzato Firejail. Per la gestione delle connessioni di rete è impiegato ConnMan, mentre il stack telefonico è oFono. un server lipstick è costruito su QtCompositor. Per l'isolamento delle applicazioni si utilizza Firejail. Per la gestione delle connessioni di rete è impiegato ConnMan, mentre come stack telefonico è utilizzato oFono.
Fonte: opennet.ru
