WSL 2 est une nouvelle version de l’architecture qui permet au sous-système Windows pour Linux d’exécuter des fichiers binaires ELF64 Linux sous Windows. Cette nouvelle architecture, qui utilise un véritable noyau Linux, modifie la façon dont ces binaires Linux interagissent avec Windows et le matériel de votre ordinateur, tout en offrant la même expérience utilisateur que dans WSL 1 (la version actuellement disponible en version stable). WSL 2 offre des performances de système de fichiers beaucoup plus rapides et une compatibilité totale des appels système, ce qui vous permet d'exécuter davantage d'applications comme Docker !
WSL 2 inclut donc un véritable noyau Linux qui vous permet d’exécuter davantage de logiciels Linux sous Windows et offrant de meilleures performances que WSL 1.
Cette nouvelle version de WSL 2 utilise les fonctionnalités Hyper-V pour créer une machine virtuelle légère avec un noyau Linux minimal. Il faut s’attendre à une meilleure compatibilité avec les logiciels Linux, y compris la prise en charge de Docker, et « une augmentation spectaculaire des performances du système de fichiers ».
Par le biais de Craig Loewen, Program Manager, Windows Developer Platform, Microsoft a indiqué l'année dernière que la prise en charge des interfaces graphiques d'applications arriverait sur WSL. Avec la sortie de WSL 2, il a révélé que le travail sur cette fonctionnalité était presque terminé. En d'autres termes, que les utilisateurs seraient bientôt en mesure d'exécuter des applications Linux en WSL dans leur propre interface utilisateur dédiée, ce qui rendra l'expérience globale plus native. Une démo fournie par Microsoft montrait alors que Microsoft Teams s'exécute dans WSL.
« La prise en charge des interfaces graphiques d'applications dans WSL devient une réalité ! Nous nous rapprochons d'une Preview initiale et sommes heureux d'annoncer une version Preview pour Windows Insiders dans les prochains mois.
« Vous pouvez voir que WSL prend en charge de nombreux types d'applications différents, y compris les EDI s'exécutant entièrement dans un environnement Linux. Nous avons inclus de nombreux détails d'ajustement et de finition, tels que l'affichage des icônes pour les applications Linux dans la barre des tâches et la prise en charge de l'audio avec votre microphone (et oui, c'est vraiment la version Linux de Microsoft Teams exécutée dans WSL). »
L'arrivée de l'Initial Preview
Dans un billet de blog, Craig Loewen a annoncé la disponibilité de la Preview.
Pour quoi puis-je utiliser la prise en charge des applications GUI?
WSL vous permet d'exécuter un environnement Linux et jusqu'à présent, il s'est concentré sur l'activation des utilitaires et des applications des outils de ligne de commande. La prise en charge des applications GUI vous permet désormais d'utiliser également vos applications GUI Linux préférées. WSL est utilisé dans une grande variété d’applications, de charges de travail et de cas d’utilisation. En fin de compte, c’est à vous de décider dans quelle mesure vous souhaitez utiliser la prise en charge des applications GUI. Microsoft a mis en évidence certains scénarios clés pour vous permettre d'apprécier l'exécution d'applications dans un environnement Linux.
Utilisez votre EDI de choix pour développer des projets Linux
Avec Visual Studio Code, vous pouvez utiliser VS Code Remote pour créer un moyen pour vous d'avoir un EDI Linux à part entière directement sur votre machine Windows, de conserver les extensions et les paramètres à la fois sur Windows et différentes distributions WSL. WSLg vous permettra d'exécuter d'autres EDI tels que gedit, les éditeurs basés sur JetBrains, gvim, etc., pour tester, créer et déboguer vos applications Linux de manière performante.
Exécutez uniquement des applications Linux ou des cas d'utilisation spécifiques à Linux tels que les tests
Vous pouvez utiliser cette fonction pour exécuter n'importe quelle application GUI qui pourrait exister uniquement sous Linux, ou pour exécuter vos propres applications ou des tests dans un environnement Linux. Cela pourrait être extrêmement utile pour les développeurs qui souhaitent tester leur application multiplateforme, car ils peuvent désormais l'exécuter directement sur Windows 10, puis facilement à l'intérieur de Linux sans jamais avoir besoin de changer de machine ou de gérer une machine virtuelle.
Créez, testez et utilisez des applications Linux qui utilisent l'audio ou le microphone avec prise en charge audio intégrée
Les applications GUI Linux sur WSL incluront également une prise en charge audio et microphone prête à l'emploi. Cet aspect passionnant permettra à vos applications de lire des signaux audio et d'utiliser le microphone, parfait pour créer, tester ou utiliser des lecteurs de films, des applications de télécommunication, etc.
Tirez parti de l'accès GPU de WSL pour exécuter des applications Linux avec une accélération 3D
Dans le cadre de cette fonctionnalité, Microsoft a également activé la prise en charge des graphiques 3D accélérés par GPU! Grâce au travail effectué dans Mesa 21.0, toutes les applications qui effectuent un rendu 3D complexe peuvent tirer parti d'OpenGL pour les accélérer à l'aide du GPU de votre machine Windows 10. Cela permettra à certaines de vos applications les plus complexes de fonctionner correctement, comme l'exécution de Gazebo, un outil de simulation robotique. Cette expérience sera bientôt incluse par défaut avec différentes distributions WSL, mais Microsoft a donné des instructions que vous pouvez suivre afin d'y accéder immédiatement, obtenir le bon pilote graphique et vous assurer que votre distribution a une version compatible de Mesa.
Comment marche cette fonctionnalité?
Dans le billet en source, Microsoft a proposé une série de démos et fait remarquer aux développeurs qu'il n'était pas nécessaire de démarrer un serveur X manuellement. L'éditeur explique :
« avec cette fonctionnalité, nous démarrons automatiquement une distribution système compagnon, contenant un Wayland, un serveur X, un serveur audio pulsé et tout le reste nécessaire pour que les applications GUI Linux communiquent avec Windows. Une fois que vous avez fini d'utiliser les applications GUI et que vous avez terminé votre distribution WSL, la distribution système mettra également fin automatiquement à sa session ».
Et d’indiquer que, comme pour le reste de la plomberie WSL, son intention est que ce composant soit entièrement géré et transparent pour les utilisateurs :
« Nos intentions sont que cette distribution système soit aussi invisible que possible pour l'utilisateur, et c'est pourquoi vous ne verrez pas cette distribution système lorsque vous exécutez wsl -l –v ».
Enfin, l'éditeur a indiqué qu'il se sert de la distribution CBL-Mariner de Microsoft pour cette distribution système!
« CBL-Mariner est une distribution Linux interne utilisée traditionnellement pour l'infrastructure cloud et les produits et services de périphérie de Microsoft, et nous étendons maintenant son utilisation pour prendre en charge les applications GUI à l'intérieur de WSL ».
Le diagramme ci-dessous donne un résumé général de l'architecture de cette fonctionnalité.
Pour une vue complète du travail abattu par Microsoft et des détails techniques approfondis, un billet de blog rédigé par les développeurs qui ont rendu cette fonctionnalité possible est disponible.
Microsoft amorce le déploiement de cette fonctionnalité en tant qu'Initial Preview avant de l'intégrer complètement à l'expérience WSL. Pour commencer à utiliser la prise en charge des applications GUI Linux, vous devez vous assurer que vous utilisez Windows 10 Insiders preview build 21364 ou une version ultérieure. Si WSL est déjà installé, il vous suffit d'exécuter wsl --update et vous serez configuré pour utiliser les applications GUI. Si WSL n'est pas activé, l'exécution de wsl --install installera WSLg automatiquement dans le cadre de la configuration initiale de WSL.
Source : Microsoft
Et vous ?
Sur quel système d'exploitation êtes-vous en privé et/ou en entreprise ?
Si vous êtes sur Windows, avez-vous déjà essayé WSL ? Qu'en pensez-vous ?
Que pensez-vous de cette WSLg ?