首页
学习
活动
专区
圈层
工具
发布

Wine 11.5更新引入Linux经典特性,解决多款热门游戏长期崩溃问题

IT之家 3 月 21 日消息,Wine 项目组今日发布了最新的 11.5 版本。

作为在 Linux 及其他平台上运行 Windows 应用和游戏的关键兼容层,本次更新最引人注目的变化是引入了对 Linux 系统调用用户分发的支持,解决了多个热门游戏长期存在的兼容性崩溃问题。

Wine 的 NTDLL 实现合并了通过 Syscall User Dispatch 在 Linux 上进行系统调用模拟的功能。

Syscall User Dispatch 是 Linux 5.11 及以上内核版本的一项特性,允许将特定的非原生系统调用重定向回用户空间,由 Wine 等兼容层处理。通过这一机制实现系统调用模拟,相比替代方案可获得更好的性能和更简洁的设计。

实际上,Linux 5.11 内核早在 2021 年就已发布,目前支持该特性的内核已相当普及。这项特性最初就考虑到了 Wine / Proton 的使用场景,不过至今才被 Wine 主线收入。

这一特性的引入对终端用户的意义在于,它解决了因游戏或应用程序直接使用 x86_64 SYSCALL 指令而导致的崩溃问题。

根据 Wine 的 Bug 追踪系统,受影响的知名游戏包括《底特律:变人》《荒野大镖客 2》以及《明日方舟:终末地》等。IT之家注意到,相关的 Bug 反馈自 2019 年就已提交,直到今天的 Wine 11.5 发布才正式关闭。

除了系统调用用户分发功能外,Wine 11.5 还在构建系统中新增了对 C++ 的支持,打包了 ICU 库,并对 VBScript 进行了多项兼容性修复。过去两周内,共有 22 个已知 Bug 得到修复。

Wine 11.5 主要更新内容:

构建系统新增 C++ 支持

打包 ICU 库

支持 Linux 系统调用用户分发

多项 VBScript 兼容性修复

各类 Bug 修复(共计 22 项)

部分 Bug 修复:

修复了因直接使用 x86_64 SYSCALL 指令导致的多款游戏崩溃问题

修复了时间 / 本地时间函数的性能回归问题

修复了文件对话框在.NET 应用中的崩溃

修复了 VOCALOID6 启动时因未实现 wminet_utils 存根而崩溃的问题

修复了 CertCreateCertificateChainEngine 在 rustls-platform-verifier 中的参数无效问题

修复了《Clip Studio Paint》中延时导出功能失败的问题

修复了《Stratego》(1997)启动时“CreateScalableFontResource”失败的错误

修复了多个 MSXML3 相关问题

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O0iGt2Wq3NhzwvYFc_HRha0Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券