Gisugdan sa Microsoft ang pagsulay sa suporta alang sa pagpadagan sa mga aplikasyon sa GUI sa Linux sa Windows

Gipahibalo sa Microsoft ang pagsugod sa pagsulay sa abilidad sa pagpadagan sa mga aplikasyon sa Linux nga adunay usa ka graphical nga interface sa mga palibot nga gibase sa WSL2 subsystem (Windows Subsystem para sa Linux), nga gidisenyo sa pagpadagan sa Linux executable files sa Windows. Ang mga aplikasyon hingpit nga gisagol sa nag-unang Windows desktop, lakip ang suporta sa pagbutang sa mga shortcut sa Start menu, audio playback, microphone recording, OpenGL hardware acceleration, pagpakita sa impormasyon bahin sa mga programa sa taskbar, pagbalhin tali sa mga programa gamit ang Alt-Tab, pagkopya sa data tali sa Windows - ug Linux-programa pinaagi sa clipboard.

Gisugdan sa Microsoft ang pagsulay sa suporta alang sa pagpadagan sa mga aplikasyon sa GUI sa Linux sa Windows

Aron maorganisar ang output sa Linux application interface ngadto sa main Windows desktop, ang RAIL-Shell composite manager nga gimugna sa Microsoft gigamit, nga naggamit sa Wayland protocol ug gibase sa Weston codebase. Ang output gihimo gamit ang RDP-RAIL (RDP Remote Application Integrated Locally) backend, nga lahi sa RDP backend nga anaa kaniadto sa Weston tungod kay ang composite manager wala magdrowing sa desktop mismo, apan nag-redirect sa indibidwal nga mga ibabaw (wl_surface) pinaagi sa RDP RAIL channel para ipakita sa main Windows desktop. Sa pagpadagan sa X11 nga mga aplikasyon, XWayland gigamit.

Gisugdan sa Microsoft ang pagsulay sa suporta alang sa pagpadagan sa mga aplikasyon sa GUI sa Linux sa Windows

Ang output sa audio giorganisar gamit ang PulseAudio server, nga nakig-interact usab sa Windows gamit ang RDP protocol (ang rdp-sink plugin gigamit para sa audio output, ug ang rdp-source plugin gigamit para sa input). Ang composite server, XWayland ug PulseAudio giputos sa porma sa usa ka unibersal nga mini-distribusyon nga gitawag og WSLGd, nga naglakip sa mga sangkap alang sa abstracting sa mga graphic ug audio subsystems, ug gibase sa CBL-Mariner Linux distribution, nga gigamit usab sa Microsoft cloud infrastructure. . Ang WSLGd nagdagan gamit ang virtualization nga mga mekanismo, ug ang virtio-fs gigamit sa pagpaambit sa access tali sa Linux guest environment ug sa Windows host system.

Ang FreeRDP gigamit isip RDP server nga gilusad sa WSLGd Linux environment, ug ang mstsc naglihok isip RDP client sa Windows side. Aron mahibal-an ang naglungtad nga mga aplikasyon sa grapiko sa Linux ug ipakita kini sa menu sa Windows, giandam ang usa ka tigdumala sa WSLDVCPlugin. Uban sa regular nga mga distribusyon sa Linux sama sa Ubuntu, Debian, ug CenOS nga na-install sa usa ka WSL2 nga palibot, ang set sa mga component nga nagdagan sa WSLGd nakig-interact pinaagi sa paghatag og mga socket nga nagdumala sa mga hangyo gamit ang Wayland, X11, ug PulseAudio nga mga protocol. Ang giandam nga WSLGd nga mga pagbugkos giapod-apod ubos sa lisensya sa MIT.

Ang pag-instalar sa WSLGd nagkinahanglan ug labing menos Windows 10 Insider Preview version 21362. Sa unahan, ang WSLGd mahimong magamit alang sa regular nga mga edisyon sa Windows nga dili kinahanglan nga moapil sa programa sa Insider Preview. Ang WSLGd gi-install pinaagi sa pagpadagan sa usa ka tipikal nga wsl --install command, pananglitan, alang sa Ubuntu - "wsl --install -d Ubuntu". Para sa kasamtangan nga WSL2 environment, ang pag-install sa WSLGd gihimo pinaagi sa "wsl --update" command (mga WSL2 environment lang nga naggamit sa Linux kernel, dili call translation, ang gisuportahan). Ang mga graphical nga aplikasyon gi-install pinaagi sa regular nga manager sa package sa pag-apod-apod.

Ang WSLGd naghatag lamang og mga makina alang sa 2D graphics output, ug aron mapadali ang 3D graphics base sa OpenGL, ang mga distribusyon nga gibutang sa WSL2 nagtanyag sa paggamit sa usa ka virtual GPU (vGPU). Ang mga drayber sa vGPU alang sa WSL gihatag alang sa AMD, Intel, ug NVIDIA chips. Ang pagpadali sa mga graphic gihatag pinaagi sa probisyon sa usa ka layer nga adunay pagpatuman sa OpenGL sa DirectX 12. Ang layer gidisenyo sa porma sa driver sa d3d12, nga gilakip sa panguna nga bahin sa Mesa 21.0 ug gipauswag kauban ang Collabora.

Ang virtual GPU gipatuman sa Linux gamit ang /dev/dxg device nga adunay mga serbisyo nga nagsundog sa WDDM (Windows Display Driver Model) D3DKMT sa Windows kernel. Ang drayber nagtukod og koneksyon sa pisikal nga GPU gamit ang VM bus. Ang mga aplikasyon sa Linux adunay parehas nga lebel sa pag-access sa GPU sama sa mga lumad nga aplikasyon sa Windows, nga wala kinahanglana ang pagpaambit sa kapanguhaan tali sa Windows ug Linux. Ang performance testing sa Surface Book Gen3 device nga adunay Intel GPU nagpakita nga sa lumad nga Win32 environment, ang Geeks3D GpuTest test nagpakita sa 19 FPS, sa Linux environment nga adunay vGPU - 18 FPS, ug uban ang software rendering sa Mesa - 1 FPS.



Source: opennet.ru

Idugang sa usa ka comment