Durante la giornata del 28 ottobre, a Wroclaw, in Polandia, si è tenuto un evento molto importante: la WineConf 2017. Si tratta di una conferenza dove i creatori del sistema informativo Wine si aprono col pubblico spiegando le loro ambizioni e la loro Roadmap precisa.
Cos’è Wine?
Prima di procedere oltre con quest’articolo, è bene conoscere di cosa si sta parlando. Wine è un software scritto in C nato originariamente per sistemi operativi GNU/Linux, poi esteso ad altri sistemi operativi, con lo scopo di permettere il funzionamento dei programmi sviluppati per il sistema operativo Microsoft Windows. In poche parole, questo software ha reso possibile per anni l’esecuzione di software Windows, come il pacchetto Office o Skype (prima del suo arrivo) sulle tante distribuzioni Linux.
Attenzione! E’ un forte errore dire che Wine è un emulatore dei Software Windows su Linux. Infatti (proprio come dice l’acronimo WINE, Wine is not emulator) questo invece che agire come un emulatore completo, Wine implementa un layer di compatibilità, offrendo implementazioni alternative e open source delle DLL, chiamate per i programmi di Windows e processi per sostituire il kernel di Windows NT, fornendo il collegamento alle API necessarie per il loro funzionamento. Potete leggere maggiori informazioni a riguardo sulla pagina di Wikipedia.
Wine 3.0
Durante la presentazione della loro RoadMap nel WineConf 2017, il team di sviluppo ha specificato interessanti dettagli ed evoluzioni che subirà il software con la sua versione 3.0. Questa, che vedrà la luce verso la fine di questo anno, renderà possibili i seguenti punti:
- Direct3d 11
- Direct3d commandstream
- Android driver
- Message Mode Pipes
- Versione di interesse software passa a Windows 7.
Fra queste novità, la prima – quella di maggiore rilevamente per me – è l’aver deciso di abbandonare Windows XP dopo ben 8 anni, e di passare a Windows 7. Il cambio di sistema operativo di riferimento porterà ad avere software più performanti su Linux e con una UI al passo con i tempi. Il team ha provato anche un possibile passaggio a Windows 10, ma con pessimi risultati. L’impegno di Wine c’è, ma ci vuole molto tempo prima che tutto possa stabilizzarsi.
Inoltre, lo speaker annuncia che Wine diventerà disponibile anche sui computer con sistema operativo MacOS, ma non sarà lo stesso presente attualmente sulla piattaforma Linux.
Windows incontra Android
Altro punto importante, sarà la possibilità di eseguire software Windows quasi “nativamente” sul sistema operativo Android. La logica utilizzata sarà simile a quella che avviene su Linux, dato che Android con esso condivide lo stesso Kernel. Formalizzando il loro scopo, Wine 3.0 vuole eseguire i software binari x86_64 Windows su Arm64, con un overhead minimo. Il ciò avverrà scrivendo una porta QEMU windows-user-land e agganciandola sul livello API di Windows, mappando le chiamate e spedendole a arm64 Wine:
Il codice di mappatura è costituito da 1000 thunks API autogenerati, per ogni API è presente una funzione thunk sul lato ospite e una funzione proxy sul lato host. Quindi si utilizza un sacco di codice autogenerato, che si adatta manualmente.
Q&A su Wine 3.0
Volendo tralasciare tutti questi dati tecnici presenti sul riassunto della conferenza su Wiki, questa loro idea permetterà a tutti di installare le app Windows su Android. Adesso c’è da porsi alcune domande:
- Non lo avevano già fatto altre aziende? Si, ma non nello stesso modo. Altri software, quale VMWare Horizon, permettono di far partire i software binari Windows su Android, ma solo mediante la loro esecuzione lato server. L’idea di Wine, invece, è di farlo partire semi nativamente, utilizzando API già presenti o nel sistema o nel file e autogenerando altre istruzioni. Quest’operazione renderà i software fluidi e prestanti anche sull’OS del Robottino.
- Qual è l’utilità di ciò? Beh…l’utilità è un po’ soggettiva. Utilizzare software Windows, quindi ottimizzati per display grandi, su un display da 6 pollici è sicuramente molto scomodo. Adesso sarà da vedere se il team di Wine deciderà di abbracciare le idee di Huawei (Easy Projection) e di Samsung (DeX) per rendere disponibili i software sui grandi monitor.
- Potrò installare le applicazioni del Windows Store su Android? No. Il sistema è limitato all’installazione di software a x86_64 su ARM da 64 bit. Inoltre, i software compatibili saranno quelli presenti su Windows 7. In base a questo test pubblicato dagli sviluppatori, la percentuale di successo per software Windows 10 e Windows 8 è troppo bassa.
- Qual è la situazione attuale dello sviluppo? Un po’ acerba. Per il momento, sappiamo solo che i software che funzionano per bene sono Notepad++ e degli esempi 3D che riescono a raggiungere i 122 fps. Gli sviluppatori non hanno rilasciato altre informazioni in merito.
Finita l’argomentazione in mio possesso, vi invito a leggere il riassunto completo dell’evento sulla pagina Wiki di WineHQ oppure il video della conferenza caricato su Youtube e presente qui sotto: