想在 ARM64 的 Linux 设备上跑 Windows 软件,却被一句“需要 AVX 指令”卡住?Wine 11.22 就是冲着这个问题来的。简单讲:这个版本让 ARM64 上模拟运行的 x86 程序可以用上 AVX,原来因为缺这组指令跑不起来的软件,现在有机会正常启动了。
Wine 是一个兼容层,能让您在 Linux、macOS 等类 Unix 系统上运行 Windows 程序和游戏。AVX 是 CPU 的一组处理指令,有些软件启动时会检查它在不在,不在就直接罢工。小编把这次更新的重点理了一遍,方便您判断值不值得升级。
Wine 11.22 更新重点一览
| 更新项 | 对您意味着什么 |
|---|---|
| ARM64 上的 x86 模拟支持 AVX | 需要 AVX 的 x86 程序更可能在 ARM64 Linux 上运行 |
| 地址空间随机化 | 让内存布局更难被预测,思路类似 Windows 的 ASLR |
| 区域数据更新到 Unicode CLDR 49 | 语言、地区相关的显示更新 |
| Tahoma 字体字形度量更准确 | 用到该字体的界面排版更接近 Windows |
| MSXML 重新实现 DTD 验证 | 依赖 XML 校验的程序兼容性更好 |
新增的安全机制:地址空间随机化
据 Linuxiac 报道,Wine 11.22 引入了地址空间随机化,让程序在内存里的布局变得不容易被预测。这和 Windows 里已有的 ASLR 原理相近:攻击者猜不准位置,利用起来就更难。
修了 34 个 Bug,哪些游戏和软件受益
这次更新还修复了 34 个影响游戏和应用的问题,Vulkan 渲染器是重点。小编把官方提到的内容按类型整理如下:
游戏方面
- 《龙腾世纪:起源》:修复开场画面和加载页面的崩溃;
- 《黑镜 II》《黑镜 III》:修复角色模型和动画异常;
- 《激战 2》《心灵杀手》《心灵杀手:美国噩梦》:改善无法正常运行的问题;
- 《F.E.A.R. 3》:修复启动即退出,原因是 FindResourceEx 不再检查明确指定的语言 ID 0x8301;
- 缺失的 RGB565 Vulkan 交换链回退已补上,多款游戏的崩溃由此解决。
软件方面
- Notepad++:菜单栏显示不正确;
- WinSCP:打开“关于”窗口会崩溃;
- Logos Bible Software:画面异常、菜单闪烁;
- FreeCommander:当 Wine 被设置为报告高于 Windows XP 的版本时,启动即崩溃;
- FastStone Image Viewer 5.9:全屏模式下按裁剪快捷键,裁剪窗口打不开。
系统层面,这个版本还处理了 Wine 服务端的线程问题、缺失的 WMI 属性,并支持在 Windows 加密实现里导入 ECDSA 密钥。需要提醒一句:这些修复提升的是兼容性,并不保证每个受影响的程序都能完美运行。
怎么获取 Wine 11.22
- 源码可在 Wine 项目的 GitLab 发布页下载;
- 受支持的 Linux 发行版,二进制包会通过项目下载页提供,详见 WineHQ 官方下载页;
- 如果您用的是 Intel 或 AMD 电脑,AVX 这一项对您没有变化,建议对照上面的单项修复,看有没有自己用的软件。
想知道 Linux 和 Windows 日常用起来到底谁更快?可以看看小编整理的 Linux 和 Windows 双系统实测对比。
常见问题(FAQ)
AVX 是什么,为什么有的软件非要它?
AVX 是一组处理器指令,有些程序会用它加速运算,启动时检测不到就无法运行。
我用 Intel 或 AMD 的电脑,要不要升级?
AVX 这项更新主要针对 ARM64。x86 电脑可以看个别软件和游戏的修复,有用到再升级就行。
地址空间随机化会不会影响软件运行?
官方描述它是一种安全机制,目的是让内存布局更难预测。具体对个别软件有没有影响,要以实际测试为准。
升级后所有游戏都能玩了吗?
不能这么说。这次修复了不少问题,但不保证每个应用都能完美运行。
来源:Linuxiac、Wine 项目 GitLab 发布页。