Wine 5.0发布

2020年1月21日, Wine 5.0的稳定版本正式发布,该版本是在UNIX环境中启动本机Windows程序的免费工具。 这是Windows API的另一种免费实现。 递归缩写WINE的意思是“ Wine不是模拟器”。

这个版本有大约一年的开发时间,并进行了7400多次个人更改。 首席开发人员Alexander Julliard确定了四个:

  • 支持PE格式的模块。 这解决了使用不同的复制保护方案来验证磁盘和内存中的系统模块的问题。
  • 支持多个监视器和多个GPU,包括动态更改设置。
  • 基于FAudio项目(DirectX声音库的开源实现)的XAudio2重新实现。 切换到FAudio可让您在游戏中获得更高的音质,使用音量混合,高级声音效果等。
  • 支持Vulkan 1.1。

有关关键创新的更多详细信息。

PE模块


使用MinGW编译器,现在大多数Wine模块都以PE(便携式可执行文件,Windows二进制)格式而不是ELF格式进行编译。

现在将PE可执行文件复制到~/.wine而不是使用虚拟DLL,这使应用程序更像真实的Windows安装。

到目前为止,并非所有模块都已转换为PE格式。 工作继续进行。

图形子系统


如上所述,已添加了对使用多个监视器和图形适配器的支持。

Vulkan驱动程序已更新为Vulkan 1.1.126规格。

此外,WindowsCodecs库现在支持其他栅格格式,包括索引调色板格式。

Direct3d


Direct3D全屏应用程序现在可以阻止屏幕保护程序调用。

对于DXGI应用程序,可以使用标准的Alt + Enter组合在全屏和窗口模式之间切换。

Direct3D 12的功能得到了扩展:支持在全屏和窗口模式之间切换,更改屏幕模式,缩放视图和交换间隔替换。 所有这些功能都已经为Direct3D API的早期版本实现。

项目参与者认真研究并消除了数以百计的错误,从而改进了在各种边界情况下对Wine的处理。 其中包括在3D采样器中对2D资源进行采样,反之亦然,使用边界外的初始值进行透明度和深度测试,使用反射的纹理和缓冲区进行渲染,使用不正确的裁剪器(DirectDraw对象)等等。

加载通过S3TC方法压缩的3D纹理时,减小了所需地址空间的大小(而不是加载整个纹理,而是加载碎片)。

对于较旧的DirectDraw应用程序,已进行了与照明计算有关的各种改进和修复。

Direct3D中识别的图形卡的基础已得到扩展。

网络与密码学


Gecko引擎已更新至版本2.47.1,以支持现代工具。 已经实现了许多新的HTML API。

MSHTML实现了对SVG元素的支持。

添加了许多新的VBScript函数(例如,错误和异常处理程序)。

实现了通过DHCP获取HTTP代理设置的功能。

在加密部分,实现了对通过GnuTLS基于椭圆曲线(ECC)的加密密钥的支持,添加了从PFX格式的文件中导入密钥和证书的功能,并增加了对基于密码PBKDF2的密钥生成方案的支持。


Wine下的Adobe Photoshop CS6

其他重大创新


  • 支持NT内核自旋锁。
  • 由于纹理压缩专利DXTn和S3的到期,因此可以将它们包含在默认实现中。
  • 支持安装即插即用驱动程序。
  • DirectWrite的各种改进。
  • 改进了对Windows Media Foundation API的支持。
  • 由于对futex的实现,更好的原始同步。
  • 共享Wine-Mono以节省空间,而不是每个~/.wine都使用开源.NET实现。
  • 支持Unicode 12.0和12.1。
  • 实现初始的HTTP服务(HTTP.sys)来替代Winsock API和IIS,从而获得比Windows Sockets API更好的性能。
  • 与Windows调试器更好的兼容性。
  • 更好地支持LLVM MinGW,并改进了WineGCC的交叉编译。

您还可以在用户界面中提及改进。 例如,现在使用标题栏显示最小化的窗口,而不是Windows 3.1样式的图标。 改进了对游戏控制器的支持,包括帽子开关,方向盘和踏板。

Wine删除了内置的AVI,MPEG-I和WAVE解码器,而不是现在使用系统GStreamer或QuickTime。

添加了使用Visual Studio中的调试器对Wine中运行的应用程序进行远程调试的功能,部分实现了DBGENG库(调试引擎),并且从Windows收集的文件中删除了对libwine的依赖。

为了优化性能,最终将各种工作功能转移到使用带有计时器的高性能系统功能上,这可以减少许多游戏的渲染周期中的开销。 还进行了其他性能优化。

此处查看更改的完整列表。

Wine 5.0源代码镜像
各种发行版的二进制文件
该文件

AppDB网站维护一个与Wine兼容的Windows兼容应用程序数据库。 以下是票数最多的领导人:

  1. 最终幻想十一
  2. Adobe Photoshop CS6(13.0)
  3. 魔兽世界8.3.0
  4. EVE Online当前
  5. 魔法:在线聚会4.x

可以假设这些应用程序最常在Wine中运行。

注意事项 Wine 5.0发行版是为了纪念约瑟夫·库西亚(JózefKucia),他在2019年8月不幸去世,享年30岁,当时他在波兰南部的一个洞穴中探险。 Jozef是Direct3D Wine的重要贡献者,也是vkd3d项目的主要作者。 在研究Wine时,他贡献了2500多个补丁。

Source: https://habr.com/ru/post/zh-CN484972/


All Articles