Η Microsoft άρχισε να δοκιμάζει υποστήριξη για την εκτέλεση εφαρμογών Linux GUI στα Windows

Η Microsoft ανακοίνωσε ότι έχει αρχίσει να δοκιμάζει τη δυνατότητα εκτέλεσης εφαρμογών Linux με γραφική διεπαφή σε περιβάλλοντα που βασίζονται στο υποσύστημα WSL2 (Windows Subsystem for Linux), σχεδιασμένο για την εκτέλεση εκτελέσιμων αρχείων Linux σε Windows. Οι εφαρμογές είναι πλήρως ενσωματωμένες στην κύρια επιφάνεια εργασίας των Windows, συμπεριλαμβανομένης της υποστήριξης για τοποθέτηση συντομεύσεων στο μενού Έναρξη, αναπαραγωγή ήχου, εγγραφή μικροφώνου, επιτάχυνση υλικού OpenGL, εμφάνιση πληροφοριών σχετικά με προγράμματα στη γραμμή εργασιών, εναλλαγή μεταξύ προγραμμάτων με χρήση Alt-Tab, αντιγραφή δεδομένων μεταξύ των Windows - και προγράμματα Linux μέσω του πρόχειρου.

Η Microsoft άρχισε να δοκιμάζει υποστήριξη για την εκτέλεση εφαρμογών Linux GUI στα Windows

Για να οργανωθεί η έξοδος της διεπαφής εφαρμογής Linux στην κύρια επιφάνεια εργασίας των Windows, χρησιμοποιείται ο σύνθετος διαχειριστής RAIL-Shell που αναπτύχθηκε από τη Microsoft, χρησιμοποιώντας το πρωτόκολλο Wayland και βασίζεται στη βάση κώδικα Weston. Η έξοδος πραγματοποιείται χρησιμοποιώντας το backend RDP-RAIL (RDP Remote Application Integrated Locally), το οποίο διαφέρει από το backend RDP που ήταν προηγουμένως διαθέσιμο στο Weston στο ότι ο composite manager δεν αποδίδει την ίδια την επιφάνεια εργασίας, αλλά ανακατευθύνει μεμονωμένες επιφάνειες (wl_surface) πάνω από το RDP Κανάλι RAIL για εμφάνιση στην κύρια επιφάνεια εργασίας των Windows. Το XWayland χρησιμοποιείται για την εκτέλεση εφαρμογών X11.

Η Microsoft άρχισε να δοκιμάζει υποστήριξη για την εκτέλεση εφαρμογών Linux GUI στα Windows

Η έξοδος ήχου οργανώνεται χρησιμοποιώντας τον διακομιστή PulseAudio, ο οποίος επίσης αλληλεπιδρά με τα Windows χρησιμοποιώντας το πρωτόκολλο RDP (η προσθήκη rdp-sink χρησιμοποιείται για έξοδο ήχου και η προσθήκη rdp-source χρησιμοποιείται για είσοδο). Ο σύνθετος διακομιστής, XWayland και PulseAudio συσκευάζονται με τη μορφή μιας καθολικής μίνι διανομής που ονομάζεται WSLGd, η οποία περιλαμβάνει στοιχεία για την αφαίρεση των υποσυστημάτων γραφικών και ήχου και βασίζεται στη διανομή CBL-Mariner Linux, που χρησιμοποιείται επίσης στην υποδομή cloud της Microsoft . Το WSLGd εκτελείται χρησιμοποιώντας μηχανισμούς εικονικοποίησης και το virtio-fs χρησιμοποιείται για την κοινή χρήση πρόσβασης μεταξύ του περιβάλλοντος επισκέπτη Linux και του συστήματος κεντρικού υπολογιστή των Windows.

Το FreeRDP χρησιμοποιείται ως διακομιστής RDP που εκκινείται στο περιβάλλον WSLGd Linux και το mstsc λειτουργεί ως πελάτης RDP στην πλευρά των Windows. Για τον εντοπισμό υπαρχουσών γραφικών εφαρμογών Linux και την εμφάνισή τους στο μενού των Windows, έχει προετοιμαστεί ένας χειριστής WSLDVCPlugin. Με κανονικές διανομές Linux όπως το Ubuntu, το Debian και το CenOS που είναι εγκατεστημένα σε περιβάλλον WSL2, το σύνολο των στοιχείων που εκτελούνται στο WSLGd αλληλεπιδρά παρέχοντας υποδοχές που χειρίζονται αιτήματα χρησιμοποιώντας τα πρωτόκολλα Wayland, X11 και PulseAudio. Οι δεσμεύσεις που προετοιμάζονται για το WSLGd διανέμονται υπό την άδεια MIT.

Η εγκατάσταση του WSLGd απαιτεί Windows 10 Insider Preview τουλάχιστον την έκδοση 21362. Στο εξής, το WSLGd θα είναι διαθέσιμο για κανονικές εκδόσεις των Windows χωρίς να χρειάζεται να συμμετέχετε στο πρόγραμμα Insider Preview. Η εγκατάσταση του WSLGd πραγματοποιείται με την εκτέλεση της τυπικής εντολής «wsl —install», για παράδειγμα, για το Ubuntu - «wsl —install -d Ubuntu». Για υπάρχοντα περιβάλλοντα WSL2, η εγκατάσταση του WSLGd πραγματοποιείται χρησιμοποιώντας την εντολή "wsl --update" (υποστηρίζονται μόνο περιβάλλοντα WSL2 που χρησιμοποιούν τον πυρήνα του Linux και όχι τη μετάφραση κλήσεων). Οι γραφικές εφαρμογές εγκαθίστανται μέσω του τυπικού διαχειριστή πακέτων της διανομής.

Το WSLGd παρέχει μόνο μηχανές για έξοδο γραφικών 2D και για την επιτάχυνση των τρισδιάστατων γραφικών με βάση το OpenGL, οι διανομές που είναι εγκατεστημένες στο WSL3 προσφέρουν τη χρήση μιας εικονικής GPU (vGPU). Τα προγράμματα οδήγησης vGPU για WSL παρέχονται για τσιπ AMD, Intel και NVIDIA. Η επιτάχυνση γραφικών παρέχεται μέσω της παροχής ενός επιπέδου με την υλοποίηση του OpenGL μέσω του DirectX 2. Το επίπεδο έχει σχεδιαστεί με τη μορφή του προγράμματος οδήγησης d12d3, το οποίο περιλαμβάνεται στο κύριο μέρος του Mesa 12 και αναπτύσσεται από κοινού με την Collabora.

Η εικονική GPU υλοποιείται στο Linux χρησιμοποιώντας τη συσκευή /dev/dxg με υπηρεσίες που αντιγράφουν το WDDM (Windows Display Driver Model) D3DKMT του πυρήνα των Windows. Το πρόγραμμα οδήγησης δημιουργεί μια σύνδεση με τη φυσική GPU χρησιμοποιώντας το δίαυλο VM. Οι εφαρμογές Linux έχουν το ίδιο επίπεδο πρόσβασης GPU με τις εγγενείς εφαρμογές των Windows, χωρίς την ανάγκη κοινής χρήσης πόρων μεταξύ Windows και Linux. Η δοκιμή απόδοσης σε μια συσκευή Surface Book Gen3 με GPU Intel έδειξε ότι στο εγγενές περιβάλλον Win32, η δοκιμή Geeks3D GpuTest επιδεικνύει 19 FPS, σε περιβάλλον Linux με vGPU - 18 FPS και με απόδοση λογισμικού σε Mesa - 1 FPS.



Πηγή: opennet.ru

Προσθέστε ένα σχόλιο