Whisky 实战:15 分钟让 Apple Silicon Mac 跑通第一个 Windows 程序

Whisky 实战:15 分钟让 Apple Silicon Mac 跑通第一个 Windows 程序

【免费下载链接】WhiskyA modern Wine wrapper for macOS built with SwiftUI项目地址: https://gitcode.com/gh_mirrors/wh/Whisky

客户发来一个 exe,你的 Mac 却弹出一句"已损坏或无法打开"——虚拟机太吃内存,付费方案又得掏钱。Whisky 就是一个 GNU GPL 开源的 Wine 图形化封装(Wine:在 macOS 上运行 Windows 程序的兼容层),专为 Apple Silicon 设计。读完这篇,你能独立装好 Whisky、建出容器、把第一个 Windows 程序跑起来,还会顺手学会命令行玩法。

先过门槛:你的环境能不能跑

先看这张表,1 分钟判断值不值得继续:

检查项最低要求建议配置
处理器Apple Silicon(M1~M4)M2 及以上
系统macOS Sonoma 14.0+macOS 14.3+
内存8 GB16 GB 以上
磁盘剩余10 GB20 GB 以上

两条红线没有商量余地:Intel 芯片的 Mac 直接放弃,Whisky 只在 M 系列芯片上工作;macOS 14 以下也不行,源码层面最低平台就是 macOS 14(见 WhiskyKit/Package.swift)。内存只有 8 GB 时容器别建超过两个,Wine 进程和图形栈都是吃内存的主。

最短路径:从安装到跑通

装。有 Homebrew 的话,一行命令:

brew install --cask whisky

备选:想改代码的,克隆仓库后打开 Xcode 工程:

git clone https://gitcode.com/gh_mirrors/wh/Whisky open Whisky.xcodeproj

备。第一次打开 Whisky,按 Setup 向导走完三步:安装 Rosetta 2、下载 WhiskyWine 运行环境、完成安装。这一步要下载几百 MB,网络慢就耐心等,它只做一次。

建。主界面左上角点「+」,弹出创建面板:填个名字,Windows 版本保持默认的 Windows 10(绝大多数程序最稳),点「创建」。

拖。把 exe 或安装包直接拖进这个容器窗口,跟着 Windows 安装向导点完;装完程序出现在容器下方的列表里,单击图标即运行。

跑通了长什么样:exe 的窗口正常弹出来,关掉后回到 Whisky 再点一次还能打开,并且列表里多了一条可复用的程序记录。命令行玩家可以用内置的 whisky-cmd 做同样的事:

whisky-cmd list # 列出所有容器 whisky-cmd create "办公" # 新建容器 whisky-cmd run "办公" app.exe # 在容器内运行程序 whisky-cmd shellenv "办公" # 打印环境变量,供终端 eval

它凭什么能行:一个常驻酒店的厨房

把 Mac 想成一家酒店。Wine 不是再盖一栋楼(那是虚拟机),而是在楼里开一间 7×24 小时运转的厨房:Windows 程序每下一份订单(系统调用),厨师长就把它逐条翻成 macOS 听得懂的操作再动手,程序自己始终以为后厨就在 Windows 里,Mac 这边不用多养一整套操作系统,所以没有整机模拟的开销。

图形画面走的是同一套"后厨":DirectX 12 的订单由苹果的 D3DMetal 转给 Metal 管线;DirectX 9/10/11 可以额外挂上 DXVK 这层加速。Whisky 的整包底料来自 CrossOver 22.1.1(CodeWeavers 出品的商业 Wine 发行版,Whisky 基于它做开源封装)加上 Apple 自家的 Game Porting Toolkit,图形最终都落到 Metal 上。

容器(Bottle,Whisky 对 Wine 前缀的称呼)就是这家酒店的独立单间:每个容器是一个自带 drive_c 盘、注册表和Metadata.plist配置的文件夹,程序装在哪个容器里就只影响哪个容器,坏一个删掉重建,隔壁毫发无损。

排障手册:你大概率会碰到的几种情况

双击闪退,先查 Windows 版本号

现象:exe 双击没反应,或窗口一闪就消失。 根因:容器默认按 Windows 10 注册,不少老程序不认这个版本号;图形层选错也会直接崩。 修复步骤:打开该容器,进下方「配置」页,把 Windows 版本从 10 切到 7,重开程序;还不行就新建一个容器,按 Windows 7 装一遍。个别程序始终不行,多半是它和这套 Wine 构建天生不合,别耗时间。

游戏掉帧,动三个开关就行

现象:能进游戏,但帧率不稳、掉帧明显。 根因:图形加速没开。Whisky 里 DXVK 默认是关的,不开等于裸奔。 修复步骤:容器「配置」页 → DXVK 区,打开 DXVK 和「异步」两项,适用 DirectX 9/10/11 的程序;DirectX 12 的程序留在默认 Metal 通道,M3/M4 芯片可再勾上 DirectX Raytracing(该选项只在支持的显卡上显示)。Enhanced Sync 保持默认的 msync,个别程序崩了再换 esync。

字小、界面挤、全屏有黑边

现象:高分屏下文字发虚,老程序窗口挤在角落,全屏游戏四周黑边。 根因:Retina 模式与 DPI 没对齐,窗口没有按你的屏幕比例渲染。 修复步骤:「配置」页 → Wine 区,打开 Retina 模式;点「DPI」旁边的查看按钮,把缩放调低(老程序常见 96~120);黑边就进容器底部工具栏的 winecfg,在显示选项里设一个固定分辨率的虚拟桌面。改完都要重开程序才生效。

换电脑了,容器怎么整体搬走

现象:换新 Mac 或重装系统,怕容器和程序全部归零。 根因:容器本来就是一个普通文件夹,默认放在~/Library/Containers/com.isaacmarovitz.Whisky/Bottles/下,备份成本极低。 修复步骤:

cp -R ~/Library/Containers/com.isaacmarovitz.Whisky/Bottles ~/Desktop/

新机器装好 Whisky 后把 Bottles 目录复制回原位即可,程序原样可用。命令行党用whisky-cmd shellenv <容器名>把容器环境变量打印出来,终端里eval一下就能直接调 wine64。

诚实的边界:什么时候别硬上

说句实话:Whisky 已经停止主动维护,README 原话是"应用和游戏随时可能坏掉"。底层 Wine 构建固定在 CrossOver 22.1.1,新出的游戏和新的 macOS 版本随时可能踩坑,别指望它通吃所有 exe。

适合场景劝退场景
只有 Windows 版的行业软件(CAD、造价、测绘)追最新 3A 大作、要求开箱即玩
十年前的老 Windows 程序强依赖 Windows 独占驱动或硬件的设备
怀旧独立游戏、教学模拟软件生产环境的主力工作流
需要隔离多套 Windows 环境的开发测试需要 100% 兼容保证的部署

行动清单

  1. 确认芯片是 Apple Silicon、系统在 macOS 14 以上,不满足就停在这里。
  2. brew install --cask whisky,走完 Setup 向导(含 Rosetta 2 和 WhiskyWine 下载)。
  3. 建一个容器,把 exe 拖进去走完安装,单击运行。

全程顺利的话 15 分钟左右,首次下载慢就按 30 分钟算。判定标准只有一个:那个窗口弹出来,并且你能再关掉它、再打开它——到这一步,路就走通了。

【免费下载链接】WhiskyA modern Wine wrapper for macOS built with SwiftUI项目地址: https://gitcode.com/gh_mirrors/wh/Whisky

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考