CXPatcher 使用完全指南:在 Mac 上给 CrossOver 换装新版 DXVK 与 MoltenVK
【免费下载链接】CXPatcherA patcher to upgrade Crossover dependencies and improve compatibility项目地址: https://gitcode.com/gh_mirrors/cx/CXPatcher
如果你用 CrossOver 在 Mac 上玩 Windows 游戏,多半遇到过"DXVK 版本太旧、UE4 游戏兼容不佳"的困局。这篇文章带你用 CXPatcher 这个非官方补丁工具,把 CrossOver 里的 DXVK 和 MoltenVK 升级到位,并把常用开关配置好。适合会用 Mac、但没接触过补丁工具的用户。
默认 CrossOver 缺了什么:打补丁前后的对比
DXVK 是一个把 Windows 游戏里的 DirectX 调用翻译成 Vulkan 接口的转换层,它直接决定 DirectX 游戏在 Mac 上能跑成什么样。MoltenVK 则负责把 Vulkan 再翻译成 Metal,也就是苹果自家的图形接口。原厂 CrossOver 内置的这两套组件版本偏旧,CXPatcher 要做的事,就是把它们换成针对兼容性打了补丁的新版本,顺带大幅扩充可运行的虚幻引擎 4(UE4)游戏范围。
| 项目 | 原版 CrossOver | CXPatcher 打完补丁 |
|---|---|---|
| DXVK / MoltenVK 版本 | 随安装包自带的旧版 | 最新补丁版,兼容性显著提升 |
| UE4 游戏支持 | 部分游戏崩溃或帧数低 | 兼容面明显扩大 |
| DX12 游戏 | 玩不了 | 集成 GPTK(D3DMetal)后可运行 |
| 瓶子(游戏环境)路径 | 与原版共用旧环境 | 默认使用带 CXP 前缀的独立文件夹,避免冲突 |
动手之前,先确认 CrossOver 是干净的原版,并且 App 至少完成过注册或启动过一次,否则 DXVK 可能激活不成功,出现这种情况可以试着把 DXVK 关掉再打开。另外它是非官方补丁工具,与 CodeWeavers 官方没有任何关系,打补丁后官方支持不再适用;出问题可以重新下载原版,补丁过程不会改动你瓶子(游戏环境)里的任何内容。
CXPatcher 怎么装、第一次补丁怎么打
获取工具的方式
工具要求 macOS Ventura(13)及以上。最直接的获取方式是克隆源码,也可以从 Release 页面直接下载最新安装包,或者用 Homebrew 安装。CXPatcher 与 CrossOver 的版本要对得上:早期补丁版本对应 22.x,0.4 及以上对应 23.x,动手前先看一下本机 CrossOver 的版本。
# 获取 CXPatcher 源码(也可直接下载 Release 或 Homebrew 安装) git clone https://gitcode.com/gh_mirrors/cx/CXPatcher从拖拽到打完补丁
打开 CXPatcher,先接受免责声明,然后把应用程序文件夹里的 CrossOver 拖进主界面的投放区,也可以点击投放区自己选文件。界面有进度条,跑完即代表补丁完成。开关面板和还原入口都在主界面右下方的按钮里,对应的逻辑在 Utils.swift 中,不需要读源码,知道入口在哪就行。

选项面板里哪些开关该保留
四个决定补丁效果的开关
选项面板里有四个开关,直接决定这次补丁做什么:
| 开关 | 默认状态 | 什么时候改 |
|---|---|---|
| Patch DXVK | 开 | 想保留原厂 DXVK 才关 |
| Patch MoltenVK | 传统版(面向 UE4) | 想尝鲜就切到实验版 |
| 覆盖瓶子路径 | 开(CXP 前缀) | 想沿用原瓶子文件夹就关 |
| 移除签名 | 开 | 想保留原签名信息才关 |
瓶子路径开关值得多说一句:不少用户因为沿用原版 CrossOver 做的旧瓶子而反复出问题,默认强制换新环境,其实是替你省掉排错的麻烦。在 macOS Ventura 上这个开关是灰色不可用的,属于已知限制。
全局环境变量开关
面板下半部分是一组对所有游戏生效的全局环境变量开关。DXVK Async 默认开启,让转换流程更并行;FastMath 开关控制是否启用更快但精度略低的数学运算,发现游戏里颜色或画面异常时把它关掉;MTL HUD 开关用来显示性能调试叠加层;Disable UE4 hack 用来整体关掉那个 UE4 兼容性补丁。四个先都保持默认,以后遇到问题再回来找它们。
UE4 游戏颜色或环境变量出问题时怎么办
打完补丁后,有用户发现 CrossOver 配置面板里设置的环境变量不再生效,连 fast math 开关也失灵了。原因是打过补丁的 ntdll(Windows 核心系统库)接管了一部分变量处理,外面设置的变量被挡住了。把下面的变量设上即可恢复原有行为:
# 环境变量失灵时,设为 1 让 env var 恢复正常工作 export CXPATCHER_SKIP_NTDLLHACKS=1 # UE4 游戏仍有异常时,尝试禁用 UE4 hack export NAS_DISABLE_UE4_HACK=1UE4 游戏颜色发灰或过饱和,可以靠环境变量NAS_TONEMAP_C调整颜色处理方式,它接受一行 MSL(Metal 着色语言)表达式,能自己用矩阵变换微调画面。不想写表达式的话,先设成 0 关掉颜色配置文件是最省事的,个别情况下还能顺便换来一点性能。
怎么还原回原版 CrossOver,以及要避的坑
还原的方法
想回退时,在菜单栏 file → restore 里操作,CXPatcher 会把 App 恢复成原始状态。如果只是想把已打补丁的版本更新到最新,打开主界面的 Repatch 开关再拖一次 App 就行,不必从头再来一遍。
要提前知道的坑
- 带反作弊或防篡改机制的游戏跑不了,别指望靠补丁玩线上竞技。
- 补丁只作用于 CrossOver 应用本身,不改瓶子内容,游戏环境里的存档不会丢。
- 万一补丁后 CrossOver 不可用,用还原功能或重新下载原版都能兜底。
到这里,CXPatcher 的核心流程就是一条拖拽换掉 CrossOver 里的旧 DXVK 和 MoltenVK,选项面板的开关第一版可以全部保持默认。之后遇到异常,先试上面两个环境变量,再考虑还原入口。全部跑通之后,可以再看看怎么为特定 UE4 游戏单独配一条NAS_TONEMAP_C颜色曲线。
【免费下载链接】CXPatcherA patcher to upgrade Crossover dependencies and improve compatibility项目地址: https://gitcode.com/gh_mirrors/cx/CXPatcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考