Microsoft ha iniziato a testare il supporto per l'esecuzione di applicazioni GUI Linux su Windows

Microsoft ha annunciato l'inizio del collaudo della possibilità di eseguire applicazioni Linux con interfaccia grafica negli ambienti basati sul sottosistema WSL2 (Windows Subsystem for Linux), progettato per eseguire file eseguibili Linux su Windows. Le applicazioni si integrano completamente con il desktop principale di Windows, includendo supporto per la creazione di collegamenti nel menu Start, riproduzione audio, registrazione tramite microfono, accelerazione hardware OpenGL, visualizzazione delle informazioni sui programmi nella barra delle applicazioni e commutazione tra programmi usando Alt-Tab, oltre alla possibilità di copiare dati tra programmi Windows e Linux tramite il clipboard.

Microsoft ha iniziato a testare il supporto per l'esecuzione di applicazioni GUI Linux su Windows

Per gestire l'output delle applicazioni Linux sul desktop principale di Windows, è stato utilizzato il compositore RAIL-Shell sviluppato da Microsoft, che impiega il protocollo Wayland e si basa sul codice di Weston. L'output avviene tramite il backend RDP-RAIL (RDP Remote Application Integrated Locally), il quale differisce dal precedente backend RDP disponibile in Weston in quanto il compositore non esegue il rendering del desktop, ma reindirizza le superfici separate (wl_surface) attraverso il canale RDP RAIL per essere visualizzate sul desktop principale di Windows. Per avviare le applicazioni X11 viene utilizzato XWayland.

Microsoft ha iniziato a testare il supporto per l'esecuzione di applicazioni GUI Linux su Windows

L'uscita audio è organizzata utilizzando server PulseAudio, che interagisce anche con Windows tramite il protocollo RDP (il plugin rdp-sink è usato per l'uscita audio, mentre per l'input si utilizza rdp-source). Un server composito, XWayland e PulseAudio sono pacchettizzati sotto forma di un mini-distribuzione universale WSLGd, contenente componenti per astrarre le sottosistemi grafici e audio, e si basa sulla distribuzione CBL-Mariner Linux, anch'essa usata nell'infrastruttura cloud di Microsoft. WSLGd viene avviato utilizzando meccanismi di virtualizzazione, e per la condivisione tra l'ambiente ospitante Linux e il sistema host Windows si utilizza virtio-fs.

Come server RDP, eseguito nell'ambiente Linux WSLGd, si utilizza FreeRDP, mentre sul lato Windows il client RDP è mstsc. Per identificare le applicazioni grafiche Linux disponibili e visualizzarle nel menu di Windows, è stato preparato un gestore WSLDVCPlugin. Con le distribuzioni Linux comuni installate nell'ambiente WSL2, come Ubuntu, Debian e CentOS, il set di componenti eseguito in WSLGd interagisce tramite socket, gestendo le richieste tramite i protocolli Wayland, X11 e PulseAudio. Le binding preparate per WSLGd sono distribuite sotto licenza MIT.

Per installare WSLGd è necessaria una versione di Windows 10 Insider Preview almeno la 21362. In futuro, l'installazione di WSLGd sarà disponibile anche per le versioni standard di Windows, senza la necessità di partecipare al programma Insider Preview. L'installazione di WSLGd avviene eseguendo il comando standard «wsl —install», ad esempio, per Ubuntu — «wsl —install -d Ubuntu». Per gli ambienti WSL2 esistenti, l'installazione di WSLGd si effettua tramite il comando «wsl —update» (solo gli ambienti WSL2 che utilizzano un kernel Linux sono supportati, non le traduzioni di chiamate). Le applicazioni grafiche vengono installate tramite il gestore di pacchetti standard della distribuzione.

WSLGd fornisce solo meccanismi per l'output della grafica 2D, mentre per accelerare la grafica 3D basata su OpenGL nelle distribuzioni installate in WSL2 si consiglia di utilizzare una GPU virtuale (vGPU). I driver vGPU per WSL sono disponibili per chip AMD, Intel e NVIDIA. L'accelerazione grafica è garantita attraverso la fornitura di un livello di implementazione di OpenGL sopra DirectX 12. Questo livello è realizzato come driver d3d12, incluso nella versione principale di Mesa 21.0, e sviluppato in collaborazione con Collabora.

Il funzionamento della GPU virtuale è realizzato in Linux tramite il dispositivo /dev/dxg con servizi che replicano il modello di driver WDDM (Windows Display Driver Model) D3DKMT del kernel di Windows. Il driver stabilisce una connessione con la GPU fisica tramite il bus VM. Le applicazioni Linux hanno lo stesso livello di accesso alla GPU delle applicazioni native di Windows, senza un'applicazione di separazione delle risorse tra Windows e Linux. I test delle prestazioni su un dispositivo Surface Book Gen3 con GPU Intel hanno mostrato che nel nativo ambiente Win32 il test Geeks3D GpuTest mostra 19 FPS, nell'ambiente Linux con vGPU — 18 FPS, e nella rasterizzazione software in Mesa — 1 FPS.

Riproduci video


Fonte: opennet.ru
Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster