Microsoft hat mit dem Testen der Unterstützung für das Ausführen von GUI-Anwendungen unter Linux in Windows begonnen.

Microsoft hat mit dem Testen der Möglichkeit begonnen, Linux-Anwendungen mit grafischer Benutzeroberfläche in Umgebungen auf Basis des WSL2 (Windows Subsystem for Linux) auszuführen. Diese Subsysteme sind dafür konzipiert, Linux-Executable-Dateien unter Windows auszuführen. Die Anwendungen sind vollständig in den Windows-Arbeitsplatz integriert, wobei unter anderem Unterstützung für die Platzierung von Verknüpfungen im Startmenü, Audio-Wiedergabe, Mikrofonaufnahme, hardwarebeschleunigtes OpenGL, die Anzeige von Programm-Informationen in der Taskleiste, das Wechseln zwischen Programmen mit Alt-Tab und den Datenaustausch zwischen Windows- und Linux-Programmen über die Zwischenablage geboten wird.

Microsoft hat mit dem Testen der Unterstützung für das Ausführen von GUI-Anwendungen unter Linux in Windows begonnen.

Für die Integration von Linux-Anwendungen in die Haupt-Desktop-Umgebung von Windows wird der von Microsoft entwickelte Composite-Manager RAIL-Shell verwendet, der das Wayland-Protokoll nutzt und auf dem Code von Weston basiert. Die Ausgabe erfolgt über den RDP-RAIL-Backend (RDP Remote Application Integrated Locally), der sich von dem zuvor in Weston verfügbaren RDP-Backend unterscheidet, da der Composite-Manager die Desktop-Darstellung nicht selbst übernimmt, sondern einzelne Oberflächen (wl_surface) über den RDP RAIL-Kanal zum Haupt-Desktop von Windows weiterleitet. Für den Start von X11-Anwendungen wird XWayland verwendet.

Microsoft hat mit dem Testen der Unterstützung für das Ausführen von GUI-Anwendungen unter Linux in Windows begonnen.

Die Audioausgabe erfolgt über Server PulseAudio, das auch über das RDP-Protokoll mit Windows interagiert (für die Audioausgabe wird das Plugin rdp-sink verwendet, für die Eingabe rdp-source). Der Composite-Server, XWayland und PulseAudio sind in Form eines universellen Mini-Distributionspakets WSLGd verpackt, das Komponenten zur Abstraktion der grafischen und akustischen Systeme enthält und auf der Distribution CBL-Mariner Linux basiert, die ebenfalls in der Cloud-Infrastruktur von Microsoft verwendet wird. WSLGd wird mit Virtualisierungsmechanismen gestartet, und für den gemeinsamen Zugriff zwischen der Linux-Gastumgebung und dem Windows-Hostsystem wird virtio-fs verwendet.

Als RDP-Server, der in der Linux-Umgebung WSLGd gestartet wird, wird FreeRDP verwendet, während auf der Windows-Seite der RDP-Client mstsc ist. Um die vorhandenen grafischen Linux-Anwendungen zu erkennen und in das Windows-Menü anzuzeigen, wurde der WSLDVCPlugin-Handler vorbereitet. In der WSL2-Umgebung ausgeführte Standard-Linux-Distributionen wie Ubuntu, Debian und CentOS interagieren mit der in WSLGd laufenden Komponentenarchitektur über die Bereitstellung von Sockets, die Anfragen über die Protokolle Wayland, X11 und PulseAudio bearbeiten. Die für WSLGd vorbereiteten Wrapper werden unter der MIT-Lizenz verbreitet.

Für die Installation von WSLGd ist mindestens die Windows 10 Insider Preview in der Version 21362 erforderlich. Zukünftig wird die Möglichkeit zur Installation von WSLGd auch für reguläre Windows-Versionen ohne Teilnahme an der Insider-Preview-Programm bereitgestellt. Die Installation von WSLGd erfolgt durch die Verwendung des üblichen Befehls „wsl —install“, zum Beispiel für Ubuntu — „wsl —install -d Ubuntu“. Für bestehende WSL2-Umgebungen wird die Installation von WSLGd über den Befehl „wsl —update“ durchgeführt (nur WSL2-Umgebungen, die den Linux-Kernel nutzen, nicht die Anruftranslierung, werden unterstützt). Grafische Anwendungen werden über den hauseigenen Paketmanager der Distribution installiert.

WSLGd bietet nur Mechanismen zur Ausgabe von 2D-Grafiken an, für die Beschleunigung von 3D-Grafiken basierend auf OpenGL in den in WSL2 installierten Distributionen wird empfohlen, eine virtuelle GPU (vGPU) zu verwenden. Die vGPU-Treiber für WSL sind für AMD-, Intel- und NVIDIA-Chips verfügbar. Die Grafikbeschleunigung wird durch die Bereitstellung einer Schicht mit einer OpenGL-Implementierung über DirectX 12 ermöglicht. Diese Schicht ist als d3d12-Treiber gestaltet, der Teil von Mesa 21.0 ist und gemeinsam mit der Firma Collabora entwickelt wird.

Die Funktion von virtuellen GPUs wird in Linux durch das Gerät /dev/dxg realisiert, zusammen mit Diensten, die das WDDM (Windows Display Driver Model) D3DKMT des Windows-Kerns nachahmen. Der Treiber stellt die Verbindung zum physischen GPU über den VM-Bus her. Linux-Anwendungen haben denselben Zugriff auf die GPU wie native Windows-Anwendungen, ohne dass eine Ressourcenteilung zwischen Windows und Linux erforderlich ist. Leistungstests auf dem Surface Book Gen3 mit Intel-GPU zeigten, dass im nativen Win32-Umfeld der Test Geeks3D GpuTest 19 FPS erzielt, im Linux-Umfeld mit vGPU 18 FPS und bei der softwaregestützten Rasterisierung in Mesa 1 FPS.

Video abspielen


Quelle: opennet.ru
Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster