新版本的 Wine 9.2 和 Winlator 5.0。已为 Linux 内核提出了 ntsync 驱动程序

Win32 API 的开放实现的实验性版本 - Wine 9.2 - 已经发布。自 9.1 发布以来,已关闭 14 个错误报告并进行了 213 项更改。

最重要的变化:

  • .NET 平台实现的 Wine Mono 引擎已更新至版本 9.0.0。
  • 改进了系统托盘支持。
  • ARM 平台上的异常处理已得到改进。
  • 该构建使用 YEAR2038 宏来使用 64 位 time_t 类型。
  • 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模拟器提供了在Android平台上运行Windows应用程序的框架。 Winlator 使用 Mesa3D、DXVK、D8VK 和 CNC DDraw 部署基于 Ubuntu 的 Linux 环境,其中为 x86 架构构建的 Windows 应用程序使用模拟器和 Wine 在 ARM Android 设备上执行。新版本改进了任务管理器,提高了性能,增加了对更改主题的支持,并提高了与 XInput 的兼容性。

您还可以注意到 Linux 内核邮件列表上发布的 ntsync 驱动程序,该驱动程序实现了 /dev/ntsync 字符设备和 Windows NT 内核中使用的一组同步原语。在内核级别实现此类原语可以显着提高使用 Wine 启动的 Windows 游戏的性能。例如,使用 ntsync 驱动程序时,与在用户空间中实现 NT 同步原语相比,《尘埃 3》游戏中的最大 FPS 提高了 678%,《生化危机 2》游戏中提高了 196%,《Tiny Tina's Wonderlands》游戏中提高了 177% ,《劳拉·克劳馥:奥西里斯神庙》 - 131%,《华雷斯的呼唤》 - 125%,《飙酷车神》 - 96%,《极限竞速:地平线 5》 - 48%,《愤怒的脚》 - 43%。

通过消除与在用户空间中运行 RPC 相关的开销,可以显着提高性能。为 Linux 内核创建单独的驱动程序是因为在内核中现有原语之上正确实现 NT 同步 API 的难度,例如 NtPulseEvent() 操作和 NtWaitForMultipleObjects 中的“等待所有”模式( )需要直接管理等待队列。带有 ntsync 驱动程序的补丁仍然具有 RFC 状态,即已提交社区讨论和审查,但尚未有资格被主要 Linux 内核采用。

来源: opennet.ru

添加评论