Wine 11.0 稳定发布

经过一年的开发和 25 个实验版本的迭代,开源 Win32 API 的稳定版本 Wine 11.0 正式发布。该版本包含超过 6300 项更改和 600 项错误修复。新版本的主要改进包括完全支持 NTSYNC、实现了重解析点机制以及采用了全新的 WoW64 架构实现。

已确认 5419 个程序可以在 Wine 中正常运行 Windows (一年前有 5372 个,两年前有 5336 个,三年前有 5266 个),另有 4500 个程序(一年前有 4435 个,两年前有 4397 个,三年前有 4370 个)在添加额外设置和外部 DLL 后运行良好。4086 个程序(一年前有 4020 个,两年前有 3943 个,三年前有 3888 个)存在一些小问题,但不影响应用程序的基本功能。

Wine 11.0 的主要创新:

  • 全面支持ntsync驱动程序,显著提升性能 Windows使用 Wine 启动的游戏。驱动程序包含在内核中。 Linux 自 6.14 版本起,实现了 /dev/ntsync 字符设备以及内核中使用的一组同步原语。 Windows NT。通过消除在用户空间中使用 RPC 所带来的开销,可以显著提高性能。
  • 增加了配置线程优先级的功能 Linux и macOS.
  • ntdll 中添加了“同步屏障”API,允许您暂停多个线程的执行,直到所有线程都达到某个执行点(例如,在并行执行相同代码时,等待所有线程都达到某个阶段)。
  • WoW64(64 位)中间层的新实现版本已被列入完全支持类别。 Windows-上-Windows),允许您运行 32 位程序 Windows- 支持在 64 位 Unix 系统上运行应用程序。与旧版 WoW64 实现(在 32 位 Unix 进程中运行 32 位应用程序)不同,新版 WoW64 允许 32 位代码在 64 位进程中运行。此外,新版 WoW64 还支持在 WoW64 模式下运行 16 位应用程序。

    所有访问 Unix 库的模块都使用 WoW64 系统调用转换器(thunk),从而允许 PE 格式的 32 位模块访问 64 位 Unix 库。通过设置环境变量“WINEARCH=wow64”,即可在新模式下运行旧的 WoW64 安装。通过设置 WINEARCH=win32 创建的 32 位前缀已被弃用,新的​​ WoW64 模式不再支持。独立的 wine64 加载器已被移除,取而代之的是一个通用加载器,该加载器会根据正在执行文件的位数来确定运行模式。

  • 内核(内核接口) Windows)
    • 我们实现了重解析点机制,允许您将附加数据(通过标签标识)附加到文件和目录。支持的重解析点类型包括符号链接和挂载点。
    • 为了提升内存写入跟踪的性能,我们采用了 UFFD(用户错误文件描述符)机制,该机制允许为用户空间中未分配内存页的访问(缺页错误)创建处理程序。在测试中,使用 UFFD 将《怒之铁拳4》的关卡加载时间从 6-8 秒缩短至 1.5-2 秒,与平台的启动时间相符。 Windows.
    • 所使用的 NT 系统调用号与最新版本相同。 Windows这是为了支持使用硬编码系统调用号的应用程序而必须做的。
    • 在 ARM64 系统中,已经实现了在具有内核的环境中模拟 4K 内存页的功能。 Linux使用更大的内存页(16K 或 64K)。仿真允许您运行简单的应用程序,而对于更复杂的程序,建议使用内核。 Linux 内存页大小为 4 千字节。
  • 图形子系统
    • 在 X11 系统(winex11)上,OpenGL 的默认渲染后端使用 EGL。GLX 后端已被弃用,但仍可作为备用方案,在 EGL 不可用时使用。
    • 新增对 D3DKMT 对象的初始支持,该对象允许用户空间对图形设备进行底层访问。已实现 Vulkan 扩展 VK_KHR_external_memory_win32、VK_KHR_external_semaphore_win32、VK_KHR_external_fence_win32 和 VK_KHR_win32_keyed_mutex。
    • 在 WoW64 模式(64 位)下 Windows-上-Windows) 使用 Vulkan API 实现了对 OpenGL 的内存映射支持,从而可以加快 Wine 中 32 位 OpenGL 应用程序的性能。
    • 在不支持原生 OpenGL 的平台上实现了前缓冲区模拟。
    • Vulkan 图形 API 驱动程序已更新,以支持 Vulkan 1.4.335 规范。
    • 在一组库中 Windows编解码器扩展了对图像文件中元数据的支持,并实现了对整数和浮点颜色格式之间转换的支持。
    • 已移除对 OSMesa(Off-screen Mesa)库的依赖。位图渲染已通过 OpenGL 使用硬件加速的 OpenGL 运行时实现。
  • 桌面集成
    • winewayland.drv 驱动程序允许 Wine 在基于 Wayland 的环境中使用,而无需使用 XWayland 或 X11 组件,它实现了对剪贴板、输入法、非矩形窗口和透明度的支持。
    • 改进了与 X11 的集成:现在支持向窗口管理器发送窗口激活请求,并使用 EWMH 协议来协调活动的 X11 和 Win32 窗口的状态。
    • 实现了对独占全屏模式的支持。改进了D3D中的全屏支持,并提升了基于DDraw的旧版游戏的性能。
    • 部分窗口函数的性能得到了提升。进程间通信现在使用共享内存。
  • Direct3D
    • Direct3D 11 增加了对 H.264 视频硬件加速解码的支持,该解码是使用 Vulkan 图形 API 实现的。
    • Direct3D 11 实现了对最小最大纹理过滤的支持,可以使用 OpenGL 扩展 GL_ARB_texture_filter_minmax 或 Vulkan 扩展 VK_EXT_sampler_filter_minmax。
    • Direct3D 11 实现了纹理加载功能。
    • 通过 Vulkan 渲染时,Direct3D 的大部分功能都已实现,例如顶点混合、平面着色、自定义裁剪平面和各种资源格式。
    • 内置的 vkd3d-shader 版本改进了对着色器模型 1、2 和 3 的支持。
    • D3DXSaveSurfaceToFileInMemory 方法实现了对 PNG、JPEG 和 BMP 图像的支持。
    • Direct3D 10 和 11 实现了对 BC4 和 BC5 格式的压缩和解压缩的支持,以及在加载纹理时生成 MIP 级别(MipMap)的功能。
    • ID3DXEffect::SetRawValue() 和 ID3DXSkinInfo::UpdateSkinnedMesh() 方法已实现。
  • 输入设备
    • 由于使用了hidraw后端,提高了与游戏手柄的兼容性。
    • 改进了对使用游戏方向盘和操纵杆时的力反馈效果的支持。
    • API中改进了对游戏手柄的支持。 Windows.Gaming.Input 以及使用 evdev 后端时。
    • 游戏控制器管理小程序中新增了一个用于配置 API 的选项卡。 Windows.游戏.输入。
    • 提高了对老游戏的DirectInput兼容性。
  • 蓝牙
    • 蓝牙驱动程序现在具备扫描、配置发现和配对设备的功能。
    • 增加了对低功耗蓝牙服务的支持。
    • 现在应用程序能够使用 Winsock API 创建与外部设备的底层 RFCOMM 连接。
  • 扫描仪支持
    • 已实现对 TWAIN 2.0 API 的支持,允许从 64 位应用程序访问扫描仪。
    • 实现了对 DAT_IMAGENATIVEXFER 组件的支持,用于将图像从扫描仪传输到应用程序。
    • 所选扫描仪和扫描仪设置现已保存到注册表中。
    • 增加了对多页扫描和自动送稿器的支持。
    • 调用扫描接口时不再阻塞应用程序。
    • 增加了对加载原生应用的支持 Windows- 扫描仪驱动程序。
  • 国际化
    • 已提供从 Unicode CLDR(Unicode 通用区域设置数据存储库)版本 48 数据库生成 locale.nls 格式的区域设置数据库的功能。新增了对以下区域设置的支持:bua-RU、bqi-IR、cop-EG、ht-HT、kek-GT、lzz-TR、mww-Hmnp-US、oka-CA、pi-Latn-GB、pms-IT、sgs-LT、suz-Deva-NP 和 suz-Sunu-NP。
    • Unicode 字符表已更新至标准版本 17.0.0。时区数据库已更新。
  • 联网功能
    • MSHTML引擎在符合标准的模式下,支持将元素属性作为完整的DOM节点进行处理。DOMParser、XDomainRequest和msCrypto对象均已实现。
    • JavaScript 现在支持类型化数组。
    • ping 命令已在 ICMPv6 中实现。
  • DB
    • MSADO(ActiveX 数据对象)库已添加对记录数据库更改的支持。Recordset 对象的大部分功能已实现。
    • odbc32 库改进了对非 Unicode 编码的 ANSI Win32 驱动程序的支持。已实现以下函数:SQLDriverConnectA()、SQLSpecialColumnsW()、SQLGetInfoW()、SQLStatisticsW() 和 QLColumnsW()。
  • 嵌入式应用
    • WineCfg 现在新增了一个用于配置默认 MIDI 设备的选项卡。
    • cmd 实用程序现在包括交互模式下文件名输入的自动完成、对复杂指令的支持,以及用于创建重分析点的“mklink /j”命令。
    • conhost(控制台主机)实用程序现在支持通过按 F1 和 F3 键检索历史记录。
    • timeout、runas 和 subst 命令已实现。
    • 查找工具现在有“/c”选项,用于显示匹配项的数量;还有“/i”选项,用于不区分大小写的匹配。
    • whoami 工具现在允许您自定义输出格式。
  • 杂项
    • Wine接口定义语言(WIDL)的实现现在支持元数据生成。 Windows 运行时(WinRT)。支持生成和安装 WinMD 文件(Windows WinRT API 的元数据)Windows 运行时)。
    • winedump 工具已更新,支持转储 MUI 资源、系统调用号、内置 NE 模块和大型 PDB 文件(>4 GB)。
    • Common Control 实现已重构,COMCTL32 库已拆分为版本 5 和版本 6 的独立模块。
    • BCrypt 现在支持 PBKDF2 密钥生成标准。
    • 新增对 UserProgramFiles、AccountPictures 和 Screenshots 目录的支持。
    • 已集成 LLVM Compiler-RT 8.0.1 和 TomCrypt 1.18.2 库。HwLoc 库用于 FreeBSD 平台上的 CPU 检测。
    • 以下组件已更新至新版本:Vkd3d 1.18、Faudio 25.12、FluidSynth 2.4.2、LCMS2 2.17、LibMPG123 1.33.0、Libpng 1.6.51、LibTiff 4.7.1、LibXml2 2.12.10、LibXslt 1.1.43。

    来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster