在Linux上运行Windows软件之Wine
Tags: Wine
简介
Wine 8.0 是一个免费的开源软件,它可以在类Unix操作系统(如Linux、macOS等)上运行 Windows 应用程序。Wine 是“Wine Is Not an Emulator”的缩写,它并不模拟 Windows 环境,而是为 Windows API 提供了一个兼容层,使得 Windows 应用程序能够在类Unix操作系统上运行。
Wine (“Wine Is Not an Emulator” 的首字母缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,macOS 及 BSD 等)上运行 Windows 应用的兼容层。Wine 不是像虚拟机或者模拟器一样模仿内部的 Windows 逻辑,而是將 Windows API 调用翻译成为动态的 POSIX 调用,免除了性能和其他一些行为的内存占用,让你能够干净地集合 Windows 应用到你的桌面。
Wine 的开发旨在实现完全的兼容性,但是由于 Windows API 是一个非常大的、复杂的系统,因此 Wine 的兼容性在不同版本之间可能存在差异。同时,由于 Windows 应用程序通常需要访问硬件和系统资源,Wine 也可能无法在所有的环境中正确运行某些应用程序。
Wine 官网的地址是 https://www.winehq.org/。
Wine 在 GitHub 上也有官方仓库,地址是 https://github.com/wine-mirror/wine。不过需要注意的是,由于历史原因,官方主要在自己的 Git 服务器上进行开发和维护,因此 GitHub 上的仓库可能不是最新版本的 Wine。如果想获取最新的 Wine 版本,可以参考官网上的下载页面或使用官方提供的 Git 仓库。
Wine 8.0:新变化
此版本包含大量新增功能和改进。一些最值得注意的变化包括:
- 所有模块转换为 PE 格式
- 更好的 WoW64 32 位支持
- 图形改进
- Direct3D性能优化
- 增强的控制器和驱动支持
所有模块转换为 PE 格式: 在以前的版本中,几乎每个模块都转换为 PE 格式(但还是保留了一些模块)。
在 Wine 8.0 中,这个问题得到了解决。现在所有模块都可以以 PE 格式构建
开发人员表示,这将使Wine能够支持各种新功能,例如32位主机上的64位应用程序,复制保护,Windows调试器,ARM上的x86应用程序等。
更好的WoW64 32位支持: WoW64现在比以往任何时候都更接近运行32位Windows应用程序,而无需任何32位Unix库。
此外,当找不到 32 位 Wine 加载程序时,32 位应用程序将开始使用新的实验性类似 Windows的 WoW64 模式,其中 32 位代码在 64 位主机进程中运行。
图形改进:
Wine 8.0 具有各种与图形相关的改进。一些最重要的包括以下内容:
- 默认情况下,
浅色
主题在默认配置中处于启用状态。 - 已实现打印处理器体系结构,以避免打印机驱动程序中的直接 PE<->Unix 调用。
- Direct2D 中的效果支持,包括说明分析和许多核心对象。
- Vulkan 驱动程序现在最高支持 1.3.237 版的 Vulkan 规范。
Direct3D性能优化:
对于 Wine 中的 Direct3D 实现,已经进行了大量优化工作。
在公共代码和 GL 渲染器中对流映射加速进行了各种优化。性能优势取决于所使用的应用程序。
此外,Vulkan 渲染器现在支持多个视窗,并在适配器视频内存预算发生变化时显示通知。
Direct3D 图形卡数据库也已更新,以识别其他图形卡。
增强的控制器和驱动支持:
此版本也为游戏玩家提供了一些东西;一些重要的更新包括:
- 当使用
hidraw
后端时,Sony DualShock
和DualSense 控制器
将会被支持。 - 改进了对驱动的检测。
- 添加了
Windows.Gaming.Input
模块以实现新的编程接口,以访问游戏手柄,操纵杆和驱动轮。它也是Wine上最早的WinRT模块之一。 - 操纵杆控制面板经过重新设计,具有新的图形和 XInput 游戏手柄的专用视图。
- 力反馈得到了改进,特别是对于驱动轮。
- 控制器热插拔已得到显著改进。
其他更改和改进:
这是今年Wine最大的版本之一,整个软件都在进行改进。其他一些值得注意的亮点包括:
- 改进了国际化。
- 更好的文本和字体处理。
- 单声道引擎已更新到 7.4.0。
- 对各种捆绑库的更新。
- 改进了构建基础结构和开发工具。
- OpenAL 库不再被使用。
- vkd3d 和 LDAP 库现在捆绑在源代码树中,并构建为 PE。
- 所有内置应用现在都使用通用控件 v6,默认情况下启用主题和高 DPI 呈现。
安装 Wine 8.0 的步骤
对于基于 Ubuntu 的发行版,你可以通过以下几个简单的步骤安装最新版本:
1. 启用对 32 位体系结构的支持
1 | sudo dpkg --add-architecture i386 |
Wine 8.0 已经发布。但是稳定包可能需要一段时间才能出现在你的 Linux 发行版的列表中。
2. 下载官方 Wine 存储库密钥并添加。
1 | wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add - |
如果有警告可以改为用下面的命令
1 | wget -nc https://dl.winehq.org/wine-builds/winehq.keysudo -H gpg -o /etc/apt/trusted.gpg.d/winehq.key.gpg --dearmor winehq.key |
3.添加 Wine 存储库
1 | sudo apt-add-repository "deb https://dl.winehq.org/wine-builds/ubuntu $(lsb_release -cs) main" |
4. 要安装 Wine 8.0,输入以下命令
1 | sudo apt update && sudo apt install --install-recommends winehq-stable |
如果你不想等很久,我建议你通过 Wine 的官方文档从源头安装。
如果从源中安装了旧版本,则必须删除旧包。如果没有,则在安装较新版本时应升级包