[Exchange Ideas] Wine 11.0 发布:WoW64 架构开发完工,玩游戏更流畅了
Tofloor
poster avatar
网络对线操盘手
deepin
2026-01-14 16:24
Author

Wine 团队荣幸地宣布,稳定版 Wine 11.0 现已发布。

本次版本更新凝聚了长达一年的开发心血,包含约 6300 项改动和 600 多项错误修复,其中包含大量改进,主要亮点包括新增 NTSYNC 支持以及全新 WoW64 架构,详情如下:

Wine 11.0 的新特性

WoW64

  • 最初在 Wine 9.0 中作为实验性功能推出的全新WoW64模式现在已得到全面支持,并且其功能与旧版 WoW64 模式基本相同。
  • 新的 WoW64 模式支持 16 位应用程序。
  • 可以通过设置变量来强制旧的 WoW64 安装以新的 WoW64 模式运行 WINEARCH=wow64。这要求前缀已创建为 64 位(默认值)。
  • 使用纯 32 位前缀创建的前缀 WINEARCH=win32已被弃用,并且在新的 WoW64 模式下不受支持。
  • wine64移除了加载器二进制文件,取而代之的是一个能够根据正在执行的二进制文件选择正确模式的单一加载 wine器。对于同时安装了 32 位和 64 位版本的二进制文件,默认使用 64 位版本。然后可以通过显式路径启动 32 位版本,例如 wine c:\\windows\\syswow64\\notepad.exe

同步/线程

  • 如果可用,则会使用 NTSync Linux 内核模块来提高同步原语的性能。从 Linux 内核 6.14 版本开始,所需的内核模块已随内核一起提供。
  • 线程优先级更改在 Linux 和 macOS 上均已实现。在 Linux 上,线程优先级更改受系统 nice 值限制,当前发行版需要进行一些配置才能将 nice 值的硬性限制更改为负值(范围在 -19 到 -1 之间,通常 -5 就足够了,不建议使用更低的值)。man limits.conf(5)更多信息请参见相关文档。
  • 已实现 NTDLL 同步屏障。
  • 在 macOS 系统中,%gs寄存器会在系统调用调度程序中进行交换。这样可以避免 Windows TEB 和 macOS 线程描述符之间的冲突。

核心

  • NT 重分析点已实现,支持挂载点和符号链接类型的重分析点。
  • Write Watch 会利用 Linux 上的 userfaultfd(如果可用),以避免在用户空间处理页面错误的开销。
  • NT 系统调用使用与最新 Windows 相同的系统调用编号,以支持硬编码系统调用编号的应用程序。
  • 在 ARM64 架构上,支持在较大的主机页面(通常为 16K 或 64K)之上模拟 4K 页面大小。这对于简单的应用程序来说是可行的,但由于无法完全消除差异,因此对性能要求更高的应用程序可能无法正常工作。强烈建议使用 4K 页面内核。

图形

  • 移除了 OSMesa 依赖项,并使用硬件加速的 OpenGL 运行时实现了 OpenGL 位图渲染。
  • EGL OpenGL 后端已扩展,并且在 X11 平台上默认使用。GLX 后端已被弃用,但仍可用,并在 EGL 不可用时用作备用方案。也可以通过设置注册表项的值来强制使用 GLX UseEGL=N后端 HKCU\Software\Wine\X11 Driver
  • 已实现 VK_KHR_external_memory_win32VK_KHR_external_semaphore_win32VK_KHR_external_fence_win32VK_KHR_win32_keyed_mutex扩展以及相关的 D3DKMT API。
  • 在新的 WoW64 模式下,如果可用,OpenGL 缓冲区将使用 Vulkan 扩展映射到 32 位内存空间。
  • 对于不支持原生 OpenGL 渲染的平台,会模拟前缓冲区 OpenGL 渲染。
  • wglShareLists 中的 OpenGL 上下文共享实现得到了改进。
  • 支持 Vulkan API 版本 1.4.335。
  • WindowsCodecs 对图像元数据处理的支持更好。
  • WindowsCodecs 支持更多不同像素格式之间的转换。

桌面集成

  • X11 窗口管理器集成得到改进:窗口激活请求被发送到窗口管理器,并使用 EWMH 协议来保持 X11 和 Win32 活动窗口的一致性。
  • 支持专属全屏模式,并改进了 D3D 全屏模式,尤其改进了旧版 DDraw 游戏。
  • 实验性的 Wayland 驱动程序支持异形和颜色匹配的窗口。
  • 通过使用共享内存进行进程间通信,提高了几个与窗口相关的功能的性能。
  • Wayland驱动程序中实现了剪贴板支持。
  • Wayland驱动程序支持输入法。

Direct3D

  • 通过 Direct3D 11 视频 API 对 H.264 视频进行硬件解码是基于 Vulkan 视频实现的。请注意,必须使用 Vulkan 渲染器。与之前的 Wine 版本一样,可以通过设置注册表项或环境变量来启用Vulkan渲染器 renderervulkan``Direct3D``WINE_D3D_CONFIG

  • GL_ARB_texture_filter_minmax如果可用(使用 GL 渲染器时)或 VK_EXT_sampler_filter_minmax(使用 Vulkan 渲染器时),则会实现 Direct3D 11 采样器最小/最大值缩减过滤。

  • 以下传统 Direct3D 功能已在 Vulkan 渲染器中实现:

    • 控制笔画大小。
    • 点状精灵控制。
    • 顶点混合。
    • 固定功能凹凸贴图。
    • 抽屉中的颜色标记。
    • 平面着色。
    • Alpha 测试。
    • 用户裁剪平面。
    • 多种资源格式。

    此外,捆绑的 vkd3d-shader 版本对 Shader Model 1、2 和 3 着色器进行了多项改进,尤其值得一提的是支持 Shader Model 1 像素着色器和基本的 Shader Model 1 纹理。Vulkan 渲染器尚未达到 GL 渲染器的水平,因此目前还不是默认渲染器。

Direct3D 辅助库

  • D3DXSaveSurfaceToFileInMemory已重新实现对 PNG、JPEG 和 BMP 文件的支持,从而能够支持 WindowsCodecs 不支持的格式和其他特殊情况。它还支持将表面保存为 TARGA 文件。
  • D3DX 11 纹理加载功能已实现,使用与早期 D3DX 版本共享的代码。
  • 所有版本均支持框选过滤。
  • D3DXSaveTextureToFileInMemory支持将纹理保存为 DDS 文件。
  • D3DX 9 支持读取 1 位、2 位和 4 位索引像素格式,以及 CxV8U8 格式。
  • D3DX 10 和 11 支持压缩和解压缩 BC4 和 BC5 格式。
  • D3DX 10 和 11 支持在加载纹理时生成 mipmap 级别。
  • ID3DXEffect::SetRawValue()已部分实现。
  • ID3DXSkinInfo::UpdateSkinnedMesh()已实施。

输入/HID设备

  • 通过后端改进,可与更多游戏手柄设备兼容 hidraw。用户可以按厂商和设备进行注册,选择性地加入 Hidraw 后端。
  • 力反馈支持得到改进,对操纵杆和方向盘的兼容性增强,性能更佳。
  • 在 Windows.Gaming.Input API 和 evdev 后端中,当 SDL 不可用或被禁用时,更好地支持游戏手柄。
  • 游戏控制器控制面板小程序中有一个用于配置 Windows.Gaming.Input API 的选项卡。
  • DirectInput 与使用动作地图和设备语义的旧游戏的兼容性得到提升。
  • 实现了来自 Windows.Devices.Enumeration 和 cfgmgr32 的更多设备枚举 API。

蓝牙

  • 蓝牙驱动程序支持扫描和配置主机设备发现功能,并提供通过 API 和向导进行配对的基本支持。目前,此功能仅在安装了 BlueZ 的 Linux 系统上受支持。
  • Windows 应用程序可以识别蓝牙无线电和设备(包括经典型和低功耗型)。
  • 应用程序可以使用 winsock API 与远程设备建立底层 RFCOMM 连接。
  • 初步支持蓝牙低功耗 (BLE) 通用属性配置文件 (GATT) 服务和特征,使其可通过 Win32 BLE API 可见。

扫描仪支持

  • DAT_IMAGENATIVEXFER已支持。
  • 扫描仪的选择和配置保存在注册表中。
  • 实现了用于扫描的 TWAIN 2.0 API,这使得扫描功能可以在 64 位应用程序中运行。
  • 支持多页扫描和自动送稿扫描。
  • 用户界面会显示扫描进度和错误信息。
  • 扫描仪用户界面不再阻止使用该扫描仪的应用程序运行。
  • 如果已在 Wine 中安装 Windows 原生扫描仪驱动程序,则可以加载这些驱动程序。

多媒体

  • 多媒体流库为 DirectDraw 流实现了一个自定义分配器,从而减少了支持下游自定义分配器的过滤器所需的缓冲区副本数量。
  • DMO Wrapper、AVI Decoder 和基于 GStreamer 的解复用器和转换过滤器均支持动态格式更改。
  • 基于 GStreamer 的解复用器过滤器支持 Indeo 5.0 编解码器。
  • DirectSound Renderer 滤波器能够更准确地指示音频流的结束。此前,音频流结束的信号可能过早发出,导致音频流的结尾被截断。
  • ASF Reader 过滤器支持搜索功能。
  • AVI解码器过滤器支持非平凡的源矩形和目标矩形。

DirectMusic

  • SoundFont(SF2)支持更多功能:
    • 解析预设、乐器和默认调制器。
    • 许多SF2仪器需要分层支持。
    • 重复使用已下载的波形和零拷贝访问采样数据,以防止内存不足错误。
    • 仪器归一化。
  • 合成器性能得到提升:
    • 延迟时钟源自主时钟,用于修复某些曲目播放不均匀的问题。
    • 语音关闭是即时的,合成器能够更好地处理通道压力事件和 LFO 连接。
    • 支持设置音量,并且在创建合成器或添加端口时会自动完成。
  • 支持 DX7 版本的样式表单。
  • 改进了加载器中的缓存管理。
  • 支持更多 MIDI 元事件。

Mono / .NET / WinRT

  • XNA4 应用程序基于 SDL3 运行,默认情况下使用新的 SDL_GPU API 进行渲染。
  • WPF(Windows Presentation Framework)新增了一个支持 System.Windows.Documents API 的文本布局引擎。
  • 主题功能在 Windows Forms 中可用。
  • WinRT 元数据文件可以通过以下方式生成 widl,并且加载器类有一个初始实现。
  • 支持 WinRT C++ 异常。

国际化

  • 区域设置数据由Unicode CLDR数据库版本48生成。支持以下附加区域设置:bqi-IR,,,,,,,,,,,,和,bua-RU``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 字符表基于 Unicode 标准 17.0.0 版本。
  • 时区数据基于 IANA 时区数据库的 2025a 版本。

互联网和网络

  • MSHTML 以符合标准的模式将 DOM 属性公开为正确的 DOM 节点。
  • 支* 类型化数组。
  • MSHTML 对象 DOMParser、XDomainRequest 和 msCrypto 已实现。
  • Ping 功能是为 ICMPv6 实现的。

数据库

  • MSADO支持向数据库写入更改。
  • MSADO Recordset 的大部分功能已实现。
  • ODBC 将 Unicode 字符串重新映射,以支持仅支持 ANSI 的 Win32 驱动程序。

调试

  • DbgHelp 中的 PDB 文件加载器已重新实现,以支持大文件(> 4G)、更快的加载速度和更少的内存资源。
  • 可以使用 NT 系统调用进行跟踪 WINEDEBUG=syscall。与 不同 WINEDEBUG=relay,这对应用程序是透明的,并且避免破坏那些钩住系统调用入口点的应用程序。
  • 在一次构建过程中,可以同时生成 DWARF 和 PDB 调试信息。

内置应用程序

  • WineCfg 的音频选项卡允许配置默认 MIDI 设备。
  • 命令提示符工具 cmd可以使用 和 创建重新解析点 mklink /j,并在目录列表中显示它们。
  • 命令提示符工具 cmd支持更复杂的指令,并且在交互式提示符中支持文件名自动补全。
  • 控制台主机应用程序 conhost支持使用 F1 和 F3 键检索历史记录。
  • 应用 timeout程序已实现。
  • find工具支持选项 /c(显示匹配计数)和 /i(不区分大小写匹配)。
  • whoami工具支持输出格式指定符。
  • subst该命令有一个基本实现。
  • 该工具已有初步实现 runas

各种各样的

  • Common Controls 版本 5 和版本 6 是完全独立的 DLL,为了更好地兼容,v6 特有的功能已从 v5 DLL 中移除。
  • BCrypt 支持 PBKDF2 密钥派生算法。
  • 支持常用的 shell 文件夹 UserProgramFilesAccountPictures以及。Screenshots

开发工具

  • IDL 编译器可以使用以下选项生成 Windows 运行时元数据文件( .winmd)。--winmd
  • winedump工具支持转储 MUI 资源、系统调用号、嵌入式 NE 模块和大型 PDB 文件(>4G)。
  • wine/unixlib.h头文件已作为开发包的一部分安装,这是支持第三方模块使用 Unixlib 接口的第一步。这项工作仍在进行中。

建设基础设施

  • 该基于 X11 的 install-sh脚本已用 C 语言重新实现,从而可以在一次程序调用中安装多个文件。这使得文件复制阶段的速度提高了 make install一个数量级。
  • __try/__except在使用 Clang 为 64 位 MSVC 目标构建时,编译器异常用于实现代码块。
  • WineHQ Gitlab CI 支持 ARM64 构建。

捆绑库

  • LLVM Compiler-RT 运行时库版本 8.0.1 已捆绑,并在以 MSVC 模式构建模块时使用。
  • TomCrypt 库版本 1.18.2 已捆绑并用于在 RsaEnh 和 BCrypt 模块中实现加密原语。
  • 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。

外部依赖项

  • OSMesa库已不再使用。OpenGL位图渲染改用EGL实现。
  • HwLoc 库用于 FreeBSD 上的 CPU 检测。

以上内容为一键翻译,原文请查看:https://gitlab.winehq.org/wine/wine/-/releases

Reply Favorite View the author
All Replies
网络对线操盘手
deepin
2026-01-14 16:29
#1

applaud 以下是 Wine 11.0 的主要新特性总结:

  1. 核心模块:WoW64 架构成为默认
    这是 Wine 11.0 最重大的变化。
    •简介:WoW64 允许 64 位的 Wine 环境直接运行 32 位的 Windows 应用程序,而无需单独配置 32 位的 Wine。
    •好处:极大地简化了安装和使用。用户不再需要分别维护 32 位和 64 位的 Wine 前缀(虚拟 Windows 环境)。现在,一个 64 位的 Wine 安装就可以同时运行 32 位和 64 位的应用程序,与原生 Windows 的行为一致。
  2. 图形与渲染:Vulkan 后端支持
    •简介:Wine 11.0 引入了对 Vulkan 渲染器 的初步支持。用户可以通过设置环境变量 WINE_VULKAN=1来启用它。
    •好处:Vulkan 是一个现代化的、高性能的图形 API。对于支持 Vulkan 的游戏和应用,这可以带来更好的性能和更低的开销。这也是为未来完全实现 Direct3D 12 打下基础,因为 D3D12 到 Vulkan 的转换比到 OpenGL 的转换更直接高效。
  3. DirectX 与图形 API 更新
    Wine 对 DirectX 的支持持续改进,这是游戏兼容性的核心。
    •Direct3D 12:继续增加对 D3D12 API 的支持,尽管仍处于早期阶段。
    •Direct3D 10 和 11:对功能级 10.1 和 11.0 的支持得到了显著改善,许多游戏和应用程序现在可以更稳定地运行。
    •Direct2D:这个重要的 2D 图形 API 的实现得到了进一步改进,提升了依赖于它的应用程序(如现代浏览器和 UI 框架)的渲染质量。
  4. 内核模块:PE 格式转换
    •简介:更多的核心系统 DLLs(如 ntdll, kernelbase等)被转换为 PE 格式。
    •好处:PE 是 Windows 可执行文件的标准格式。将 Wine 的核心模块从 Unix 的 ELF 格式转换为 PE 格式,极大地提高了与需要注入代码或进行低级挂钩的应用程序(如一些反作弊软件、调试器和商业软件保护系统)的兼容性。这是 Wine 项目长期发展的关键一步。
  5. 模块和 API 更新
    许多内置的 Windows DLL 和 API 得到了更新和完善:
    •Mono 引擎更新:用于运行 .NET 应用程序的 Wine Mono 引擎版本得到了更新,支持更多 .NET 4.x 的功能,提升了 .NET 应用的兼容性。
    •mscoree:对 .NET 相关的库进行了重构和改进。
    •其他模块:对 GDI+、Ole32(OLE 组件)、MSI(Windows 安装程序)等模块进行了大量错误修复和功能实现。
  6. 平台支持与废弃
    •macOS/Apple Silicon:继续改进对 Apple Silicon (M1/M2) Mac 的支持。
    •废弃的 DLLs:一些旧的、功能不完整的 DLL 实现(如 win16相关的)被标记为废弃,以简化代码库。
  7. 总结
    Wine 11.0 是一个里程碑式的版本,其核心改进在于:
    •易用性:通过默认的 WoW64 支持,大大简化了配置。
    •现代技术:通过 Vulkan 后端为高性能游戏铺平道路。
    •底层兼容性:通过 PE 转换等改进,增强了与复杂软件(尤其是游戏和商业软件)的兼容性。

如果您是普通用户,升级到 Wine 11.0 或更高版本意味着可以更轻松地运行更多种类的 Windows 软件和游戏,且性能可能更好。如果您是开发者,这个版本提供了更稳定、更接近 Windows 的开发基础。

Reply View the author
huaqi
deepin
2026-01-14 17:32
#2

那统信兼容引擎需不需要大改?

Reply View the author
Amber
deepin
2026-01-14 17:45
#3

兼容引擎快点冲tail

Reply View the author
piaoliang77
deepin
2026-01-14 18:04
#4

希望统信兼容引擎抓紧适配

Reply View the author
网络对线操盘手
deepin
a day ago
#5
huaqi

那统信兼容引擎需不需要大改?

理论上不需要,表面看只需要兼容引擎增加一个wine版本就行,底层上是要重新适配一个wine版本。

image.png

Reply View the author
鲜衣怒马
deepin
a day ago
#6

希望能尽快完善可以wine下运行当前的一些win下的ai IDE,如trae 等或者鸿蒙的那个开发软件?

Reply View the author
神末shenmo
deepin
Spark-App
Q&A Team
21 hours ago
#7

真好啊,让Windows快点入土吧

Reply View the author
BigFish
deepin
21 hours ago
#8
神末shenmo

真好啊,让Windows快点入土吧

醒醒,别做梦了。

Reply View the author
deepin-superuser
deepin
8 hours ago
#9
神末shenmo

真好啊,让Windows快点入土吧

Win 入土的时候他们就有动力开发原生程序了,也不需要 Wine了

Reply View the author
神末shenmo
deepin
Spark-App
Q&A Team
6 hours ago
#10
deepin-superuser

Win 入土的时候他们就有动力开发原生程序了,也不需要 Wine了

那是以后的事了

Microsoft, FUCK YOU

Reply View the author
网络对线操盘手
deepin
3 hours ago
#11
神末shenmo

那是以后的事了

Microsoft, FUCK YOU

无需多言

image.png

当然,我其实更想用这张:(我不是针对 Nvidia):

image.png

Reply View the author