ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Whisky 上手实测:在 Mac 上运行 Windows 软件的完整步骤与边界

Whisky 上手实测:在 Mac 上运行 Windows 软件的完整步骤与边界

Whisky 上手实测:在 Mac 上运行 Windows 软件的完整步骤与边界

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

Whisky 是一个用 SwiftUI 写成的 Wine 封装工具,面向 Apple Silicon 的 Mac,目标是让你不装虚拟机就能安装和运行 Windows 的 .exe、.msi 程序。它的底层不是自己维护的 Wine,而是打包好的 WhiskyWine(基于 CrossOver 22.1.1 与 Apple 的 Game Porting Toolkit)。先说一个决定你该不该用的事实:README 顶部挂着维护声明,项目已不再活跃维护,遇到兼容性问题大概率没有官方修复,下文所有结论都基于当前仓库的代码。

环境准备与首次运行

安装 Whisky 的最小步骤

  • 硬件只认 Apple Silicon(M 系列芯片),操作系统要求 macOS Sonoma 14.0 及以上;
  • 一行命令装好:brew install --cask whisky;
  • 想从源码构建的话:git clone https://gitcode.com/gh_mirrors/wh/Whisky,再用 Xcode 打开工程编译。

首次启动的三步初始化

第一次打开 App 会进入初始化流程,对应 Whisky/Views/Setup/ 里的三个阶段:检查并安装 Rosetta 2(部分 x86 组件需要它);下载 WhiskyWine 的库文件包(约 2GB,进度条显示速度、已下载量和剩余时间);解压安装到本地。装完才进入主界面。这一步是联网下载,网络慢的机器首次启动会卡很久,属于正常现象。

创建第一个 Bottle

主界面点新建,填三样东西:容器名、Windows 版本(可选 XP 到 11,默认 Windows 10)、存放位置(默认在 App 的 Containers 目录里)。BottleVM 会为它生成一个 UUID 命名的独立目录,随后初始化 Wine 前缀,整个过程在后台任务里跑,界面立即返回。

一次真实任务:安装 7-Zip 并验证

选一个免安装、体积小、结果可验证的程序走完整流程。

  1. 安装:进入 Bottle 详情页,底部工具栏点"Run",在文件选择器里选 .exe、.msi 或 .bat 文件(选择器默认指向瓶子的 drive_c),以 7-Zip 安装包为例,按正常 Windows 流程点完向导;
  2. 查看系统:同一工具栏的 "C Drive" 按钮用 Finder 打开虚拟的 C 盘,能直接看到安装结果和 Program Files 里的文件;
  3. 验证:点 "Terminal" 按钮在已配好该瓶环境变量的终端里执行wine64 cmd /c "7z --help",有版本号输出即确认程序可用。之后把这个 .exe 钉到 Bottle 首页的快捷区,下次双击直接跑。

配置项集中在 "Config" 标签页:Windows 版本与构建号、DPI 和 Retina 模式、线程同步方式(none/esync/msync)、渲染侧的 DXVK 开关与 HUD、Metal HUD,以及 Windows 控制面板、regedit、winecfg 三个入口,这些选项最终都会变成 BottleSettings 里的环境变量写入每次启动。

能力边界:哪些场景别指望它

  • 停更是最大风险。README 明确写"不再活跃维护,程序随时可能坏",而 WhiskyWine 的版本被钉死在 CrossOver 22.1.1 对应的那套上,没有升级通道。把它放进生产环境或多人共用的工作流,先想清楚这个前提。
  • AVX 是个假开关。M 系列芯片经 Rosetta 2 转译时不真正支持 AVX 指令,Config 里的 AVX 选项只是让 Rosetta 谎报支持(源码里设置的是ROSETTA_ADVERTISE_AVX),依赖 AVX 的程序打开后可能直接崩溃。程序崩溃且日志里出现 avx 字样时,先关这个开关。
  • CLI 不完整。WhiskyCmd 提供 list、create、add、delete、remove、run、shellenv 七个子命令,但 install 是空实现、export 被注释掉,而且 create 写死 Windows 10,不能选系统版本——要装老系统的瓶子只能走图形界面。
  • 不适合的场景:带反作弊或 DRM 的游戏(Wine 方案通用死穴)、需要内核级隔离或硬件直通的负载、以及对稳定性有要求的服务器端任务。这类需求老老实实用虚拟机。

进阶玩法

用 shellenv 把瓶子接进自己的终端:whiskycmd shellenv "my-bottle"会打印一组 export 语句,eval之后你手头的 shell 就能直接用wine64操作这个瓶子,调试脚本、批处理多个程序时比 GUI 快得多:

eval $(whiskycmd shellenv "my-bottle") wine64 cmd /c "7z --help"

用 Winetricks 补依赖:Bottle 页的 "Winetricks" 按钮把官方词表按 apps、dlls、fonts、settings 分类列出来,选中一个词点 Run,它会打开 Terminal 在对应瓶子里执行。中文界面缺字,装 fonts 分类下的 cjkfonts 通常就能解决。渲染侧注意两点:DXVK 默认关闭,老的 d3d9/d3d11 游戏开了多半有提升;DXR 开关只在 Apple family 9 的 GPU(M3/M4 一档)上出现,旧芯片看不到这项。

横向取舍:它和同类方案怎么选

如果需求是"偶尔跑一两个 Windows 小工具、不想花钱",Whisky 是成本最低的路径,图形界面把创建容器、装程序、调参数都收敛成了几个按钮。需要长期稳定、坏了有人修,就选 CrossOver——它本身是商业软件,版本更新和技术支持正是 Whisky 停更之后缺的东西,而且 Whisky 底层就是它的产物。至于 UTM 或 Parallels 这类虚拟机,跑完整 Windows、要硬件直通或多开实例时才值得付出那台虚机的资源开销。一句话:Whisky 适合个人折腾和轻量使用,不适合作为依赖项。

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

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

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进