在国产 PC 系统替换 Windows 的过程中,面临最大的问题就是应用少,生态不完善。国产系统大多基于开源的 Linux 系统开发。Linux 系统发展这么多年,虽然在嵌入式、移动、服务器等领域取得了很大的成功,但在桌面端一直不温不火,和 Windows 系统有着很大的差距,而且这种差距也不是短期内可以解决的。所以国产系统采取了一些过渡方案,上架了很多 Windows 应用程序,以弥补应用不足的短板。

Windows 应用程序能运行在 Linux 系统上,背后的功臣就是 Wine。Wine 是一个开源项目,旨在让类 Unix 操作系统(如 Linux、macOS 和 BSD 等)能够运行 Windows 应用程序。

Wine 是“Wine Is Not an Emulator”的首字母缩写,意为“Wine 不是一个模拟器”,它并不是通过模拟 Windows 内部逻辑来运行 Windows 应用程序,而是通过将 Windows API 调用翻译成动态的 POSIX 调用,避免了虚拟机或模拟器带来的性能损耗。

Wine 由社区驱动,从最初的实验性项目逐渐成熟,吸引了全球各地的开发者参与贡献。开发者可以自由地获取源代码、提交问题、贡献代码,并享受社区的支持。

Wine 项目始于1993年,之后发布了多个重要版本更新。Wine 8.0 于 2023年1月24日 正式发布,是 Wine 项目的一个重要里程碑。近年来,Wine 加快了迭代速度,接连发布8.x、9.x 版本。

近日,Wine 10.0 发布了!这个开源项目的重大更新带来了众多新特性和修复,使得运行 Windows 程序的体验更加流畅稳定。

1. ARM64EC 架构支持

• 全面支持 ARM64EC 架构:Wine 10.0 现在完全支持 ARM64EC 架构,功能与 ARM64 支持持平。

• 混合 ARM64X 模块:开发者可以在单个安装文件中混合 ARM64EC 和 ARM64 代码,创建混合模块。

• 64位 x86 模拟接口:利用 ARM64EC 能力,Wine 的内部进程可以直接运行原生代码,减少对 x86 模拟的需求。

2. 高 DPI 支持改进

• 自动缩放非 DPI 感知窗口:Wine 10.0 现在可以自动调整那些不支持 DPI 感知的应用程序,使其在高分辨率显示器上显示效果更好。

• 自定义缩放行为:用户可以通过兼容性标志自定义全局或每个应用程序的缩放行为。

3. 图形堆栈增强

• Vulkan 子窗口渲染:支持在 X11 环境下的 Vulkan 子窗口渲染,提升了 3D 渲染效果。

• Vulkan 1.4.303 兼容性:更新了 Vulkan 驱动,支持最新的 Vulkan 1.4.303 规范。

• GdiPlus 字体链接优化:改善了 GdiPlus 中的字体链接,进一步优化了应用程序的 3D 渲染效果。

4. 桌面集成优化

• 显示配置工具:新增显示配置工具,允许用户检查和修改设置,包括虚拟桌面分辨率。

• Wayland 图形驱动程序:对于 Linux 用户,Wayland 图形驱动程序现在默认启用,支持 OpenGL 和改进的弹出窗口放置。

5. Direct3D 增强

• 固定功能管线:为 Direct3D 9 及更早版本提供了基于 HLSL 的固定功能管线,减少游戏卡顿。

• GL 渲染器更新:要求更新到 GLSL 1.20,支持 GL 和 Vulkan 渲染器的着色器模板导出。

6. 多媒体功能改进

• FFmpeg 后端支持:新增基于 FFmpeg 的后端选项,改进了 Media Foundation 多媒体管线实现。

• DirectMusic MIDI 支持:DirectMusic 现在支持加载 MIDI 文件。

7. 输入设备支持

• 触摸屏和多点触控支持:X11 后端支持触摸屏输入和多点触控。

• 蓝牙功能:新增基础蓝牙驱动支持。

Wine 是一个开源项目,主要面向技术用户,使用上需要一定的技术知识,例如通过命令行配置和安装应用程序。Wine 由社区支持,但在某些情况下可能缺乏及时的商业支持。

Wine 的目标是适用于各种 Windows 应用程序,但可能在某些特定场景下(如游戏)表现不够理想。

于是,基于 Wine 的商业版本就应运而生,比如大名鼎鼎的 Steam 游戏平台就与 Wine 的商业版本 Proton 深度集成。Proton 是由 Valve 开发的一个基于 Wine 的兼容层,专为在 Linux 上运行 Windows 游戏而设计。Proton 专门针对游戏而优化,通过优化和社区支持提供了更好的游戏体验。

deepin Wine 是基于 Wine 开发的国产 Linux 发行版 deepin/UOS 的专用版本,旨在为 deepin/UOS 用户提供更好的 Windows 应用程序兼容性体验。相对于上游的 Wine,deepin wine 用户界面友好,易于上手。

• 优化的兼容性:deepin Wine 针对 deepin 系统进行了优化,能够更好地运行常见的 Windows 应用程序,如 QQ、微信、迅雷等。

• 图形化界面:提供了图形化工具,简化了 Wine 的使用过程,用户可以通过图形界面轻松安装和运行 Windows 应用程序。

• 容器化管理:支持创建独立的 Wine 容器,每个容器可以独立运行不同的应用程序,避免配置冲突。

尽管 deepin Wine 团队一直积极向上游 Wine 项目贡献代码,但许多针对 Wine 的优化并未被上游接受。这背后的原因主要有两个方面:一方面,deepin Wine 和上游 Wine 在发展理念上存在差异;另一方面,针对 deepin 系统的特定优化,上游 Wine 通常不会接纳,因为 Wine 旨在服务于所有 Linux 发行版。

因此,deepin Wine 团队选择维护自己的代码仓库,定期从上游 Wine 项目同步最新的代码更新,以确保能够及时引入新的功能和修复。然而,由于 deepin Wine 团队的适配和优化代码并未同步到上游,每次上游代码更新后,这些修改过的代码都需要重新适配,这无疑增加了相当大的工作量。正因如此,deepin Wine 并不会在每次 Wine 发布后立即合并上游代码,而是在重要版本发布后进行适配。

此次 Wine 10.0 的发布带来了众多令人兴奋的新特性,我们期待这些新特性能够早日集成到 deepin Wine 中。希望 deepin Wine 团队能够继续努力,为用户提供更稳定、更高效的 Windows 应用运行环境。deepin Wine,加油!

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐