Wine 9.2 และ Winlator 5.0 เวอร์ชันใหม่ มีการเสนอไดรเวอร์ ntsync สำหรับเคอร์เนล Linux

มีการเปิดตัวรุ่นทดลองของการใช้งาน Win32 API - Wine 9.2 แบบเปิด นับตั้งแต่การเปิดตัว 9.1 รายงานข้อผิดพลาด 14 รายการได้ถูกปิดลง และมีการเปลี่ยนแปลง 213 รายการ

การเปลี่ยนแปลงที่สำคัญที่สุด:

  • เอ็นจิ้น Wine Mono พร้อมการใช้งานแพลตฟอร์ม .NET ได้รับการอัปเดตเป็นรีลีส 9.0.0
  • ปรับปรุงการรองรับถาดระบบ
  • การจัดการข้อยกเว้นได้รับการปรับปรุงบนแพลตฟอร์ม ARM
  • บิลด์ใช้แมโคร YEAR2038 เพื่อใช้ประเภท time_t 64 บิต
  • ไดรเวอร์ winewayland.drv ได้ปรับปรุงการจัดการเคอร์เซอร์แล้ว
  • รายงานข้อผิดพลาดที่เกี่ยวข้องกับการทำงานของเกมถูกปิดแล้ว: Elite Dangerous, Epic Games Launcher 15.21.0, LANCommander, Kodu
  • รายงานข้อผิดพลาดแบบปิดที่เกี่ยวข้องกับการทำงานของแอปพลิเคชัน: Quick3270 5.21, digikam, Dolphin Emulator, Windows Sysinternals Process Explorer 17.05, ตัวติดตั้ง Microsoft Webview 2

นอกจากนี้ แอปพลิเคชัน Winlator 5.0 สำหรับ Android ยังเปิดตัวอีกด้วย โดยเป็นเฟรมเวิร์กสำหรับโปรแกรมจำลอง Wine และ Box86/Box64 สำหรับการรันแอปพลิเคชัน Windows บนแพลตฟอร์ม Android Winlator ปรับใช้สภาพแวดล้อม Linux บน Ubuntu ด้วย Mesa3D, DXVK, D8VK และ CNC DDraw ซึ่งแอปพลิเคชัน Windows ที่สร้างขึ้นสำหรับสถาปัตยกรรม x86 จะถูกดำเนินการบนอุปกรณ์ ARM Android โดยใช้โปรแกรมจำลองและ Wine เวอร์ชันใหม่ปรับปรุงตัวจัดการงาน ปรับปรุงประสิทธิภาพ เพิ่มการรองรับสำหรับการเปลี่ยนธีม และปรับปรุงความเข้ากันได้กับ XInput

คุณยังสามารถสังเกตการเผยแพร่บนรายชื่อผู้รับจดหมายเคอร์เนล Linux ของไดรเวอร์ ntsync ซึ่งใช้งานอุปกรณ์อักขระ /dev/ntsync และชุดของการซิงโครไนซ์ดั้งเดิมที่ใช้ในเคอร์เนล Windows NT การใช้พื้นฐานดังกล่าวในระดับเคอร์เนลสามารถปรับปรุงประสิทธิภาพของเกม Windows ที่เปิดตัวโดยใช้ Wine ได้อย่างมาก ตัวอย่างเช่น เมื่อใช้ไดรเวอร์ ntsync เมื่อเปรียบเทียบกับการใช้การซิงโครไนซ์ NT แบบดั้งเดิมในพื้นที่ผู้ใช้ FPS สูงสุดในเกม Dirt 3 เพิ่มขึ้น 678% ในเกม Resident Evil 2 - 196%, Tiny Tina's Wonderlands - 177% , Lara Croft: Temple of Osiris - 131%, Call of Juarez - 125%, The Crew - 96%, Forza Horizon 5 - 48%, Anger Foot - 43%

ประสิทธิภาพที่เพิ่มขึ้นอย่างมีนัยสำคัญเกิดขึ้นได้โดยการขจัดค่าใช้จ่ายที่เกี่ยวข้องกับการรัน RPC ในพื้นที่ผู้ใช้ การสร้างไดรเวอร์แยกต่างหากสำหรับเคอร์เนล Linux อธิบายได้จากความยากในการใช้ NT synchronization API อย่างถูกต้อง นอกเหนือจากพื้นฐานที่มีอยู่ในเคอร์เนล ตัวอย่างเช่น การดำเนินการ NtPulseEvent() และโหมด "wait-for-all" ใน NtWaitForMultipleObjects( ) จำเป็นต้องมีการจัดการคิวรอโดยตรง แพทช์ที่มีไดรเวอร์ ntsync ยังคงมีสถานะ RFC เช่น ได้รับการจัดทำขึ้นเพื่อการอภิปรายและตรวจสอบโดยชุมชน แต่ยังไม่ได้รับสิทธิ์ในการนำไปใช้ในเคอร์เนล Linux หลัก

ที่มา: opennet.ru

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