Microsoft ได้เริ่มทดสอบการสนับสนุนสำหรับการรันแอปพลิเคชัน Linux GUI บน Windows

Microsoft ได้ประกาศเริ่มการทดสอบความสามารถในการเรียกใช้แอปพลิเคชัน Linux ด้วยอินเทอร์เฟซแบบกราฟิกในสภาพแวดล้อมที่ใช้ระบบย่อย WSL2 (ระบบย่อย Windows สำหรับ Linux) ซึ่งออกแบบมาเพื่อเรียกใช้ไฟล์ปฏิบัติการ Linux บน Windows แอปพลิเคชันได้รับการบูรณาการอย่างสมบูรณ์กับเดสก์ท็อป Windows หลัก รวมถึงการสนับสนุนการวางทางลัดในเมนู Start, การเล่นเสียง, การบันทึกไมโครโฟน, การเร่งความเร็วด้วยฮาร์ดแวร์ OpenGL, การแสดงข้อมูลเกี่ยวกับโปรแกรมในแถบงาน, การสลับระหว่างโปรแกรมที่ใช้ Alt-Tab, การคัดลอกข้อมูลระหว่าง Windows - และโปรแกรม Linux ผ่านคลิปบอร์ด

Microsoft ได้เริ่มทดสอบการสนับสนุนสำหรับการรันแอปพลิเคชัน Linux GUI บน Windows

ในการจัดระเบียบเอาต์พุตของอินเทอร์เฟซแอปพลิเคชัน Linux ไปยังเดสก์ท็อป Windows หลัก จะใช้ตัวจัดการคอมโพสิต RAIL-Shell ที่พัฒนาโดย Microsoft โดยใช้โปรโตคอล Wayland และอิงตามฐานโค้ด Weston เอาต์พุตจะดำเนินการโดยใช้แบ็กเอนด์ RDP-RAIL (RDP Remote Application Integrated Locally) ซึ่งแตกต่างจากแบ็กเอนด์ RDP ที่ก่อนหน้านี้มีใน Weston ตรงที่ตัวจัดการคอมโพสิตไม่เรนเดอร์เดสก์ท็อปเอง แต่เปลี่ยนเส้นทางแต่ละพื้นผิว (wl_surface) ผ่าน RDP ช่อง RAIL สำหรับแสดงบนเดสก์ท็อป Windows หลัก XWayland ใช้เพื่อรันแอปพลิเคชัน X11

Microsoft ได้เริ่มทดสอบการสนับสนุนสำหรับการรันแอปพลิเคชัน Linux GUI บน Windows

เอาต์พุตเสียงถูกจัดระเบียบโดยใช้เซิร์ฟเวอร์ PulseAudio ซึ่งโต้ตอบกับ Windows โดยใช้โปรโตคอล RDP ด้วย (ปลั๊กอิน rdp-sink ใช้สำหรับเอาต์พุตเสียง และปลั๊กอิน rdp-source ใช้สำหรับอินพุต) เซิร์ฟเวอร์คอมโพสิต XWayland และ PulseAudio ได้รับการบรรจุในรูปแบบของการกระจายขนาดเล็กสากลที่เรียกว่า WSLGd ซึ่งรวมถึงส่วนประกอบสำหรับการสรุปกราฟิกและระบบย่อยเสียง และขึ้นอยู่กับการกระจาย CBL-Mariner Linux ซึ่งใช้ในโครงสร้างพื้นฐานคลาวด์ของ Microsoft ด้วย . WSLGd ทำงานโดยใช้กลไกการจำลองเสมือน และ virtio-fs ใช้เพื่อแชร์การเข้าถึงระหว่างสภาพแวดล้อม Linux guest และระบบโฮสต์ 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 และเพื่อเร่งความเร็วกราฟิก 3D ที่ใช้ OpenGL การกระจายที่ติดตั้งใน WSL2 เสนอการใช้ GPU เสมือน (vGPU) ไดรเวอร์ vGPU สำหรับ WSL มีให้สำหรับชิป AMD, Intel และ NVIDIA การเร่งความเร็วกราฟิกมีให้ผ่านการจัดเตรียมเลเยอร์ด้วยการใช้ OpenGL บน DirectX 12 เลเยอร์ได้รับการออกแบบในรูปแบบของไดรเวอร์ d3d12 ซึ่งรวมอยู่ในส่วนหลักของ Mesa 21.0 และกำลังได้รับการพัฒนาร่วมกับ Collabora

GPU เสมือนถูกนำไปใช้ใน Linux โดยใช้อุปกรณ์ /dev/dxg พร้อมบริการที่จำลอง WDDM (รุ่นไดรเวอร์การแสดงผล Windows) D3DKMT ของเคอร์เนล Windows ไดรเวอร์สร้างการเชื่อมต่อกับ GPU จริงโดยใช้บัส VM แอปพลิเคชัน Linux มีการเข้าถึง GPU ในระดับเดียวกับแอปพลิเคชัน Windows ดั้งเดิม โดยไม่จำเป็นต้องแชร์ทรัพยากรระหว่าง Windows และ Linux การทดสอบประสิทธิภาพบนอุปกรณ์ Surface Book Gen3 ด้วย Intel GPU แสดงให้เห็นว่าในสภาพแวดล้อม Win32 ดั้งเดิม การทดสอบ Geeks3D GpuTest สาธิต 19 FPS ในสภาพแวดล้อม Linux ที่มี vGPU - 18 FPS และด้วยซอฟต์แวร์เรนเดอร์ใน Mesa - 1 FPS



ที่มา: opennet.ru

เพิ่มความคิดเห็น