在 Mac 上运行 Windows 程序:5 分钟上手的 Whisky 使用指南
【免费下载链接】WhiskyA modern Wine wrapper for macOS built with SwiftUI项目地址: https://gitcode.com/gh_mirrors/wh/Whisky
Whisky 是一个基于 Wine 的 macOS 图形化工具,让你在 Mac(Apple Silicon)上直接运行 Windows 的 .exe、.msi 程序,无需虚拟机。它适合想在 Mac 上跑 Windows 办公软件、开发工具或游戏的用户,整个过程用图形界面完成,不需要懂命令行。本文带你从零装好 Whisky、建出第一个运行环境(Bottle)、跑起来第一个 Windows 程序。
跑起来之前
系统要求:
- 处理器:Apple Silicon(M1 / M2 / M3 等 M 系列芯片)
- 系统:macOS Sonoma 14.0 或更高版本
- 空间:每个 Bottle 都是独立目录,预留几 GB 到几十 GB 不等,取决于你装多少软件
推荐用 Homebrew 安装,一条命令搞定:
brew install --cask whisky也可以从仓库源码自己编译,用 Xcode 15 打开Whisky.xcodeproj后直接运行:
git clone https://gitcode.com/gh_mirrors/wh/Whisky第一次使用:走通最小完整流程
首次打开会进入设置页,Whisky 需要两样东西才能工作:Rosetta 2(让 32 位 x86 程序能跑)和 WhiskyWine(Wine 运行时本体)。点「Next」让它们依次安装,两项都变绿后即可进入主界面。
之后按这个顺序操作:
- 创建 Bottle。主界面点「+」,填一个名字(如
work),选 Windows 版本(默认 Windows 10),确认。Bottle 本质是一个独立目录,相当于给这批程序单独开一个房间,互相不干扰。 - 运行第一个程序。进入该 Bottle,点底部「Run」按钮,选中你的
.exe/.msi/.bat文件,跟着 Windows 的安装向导走完。 - 验证成功。安装完成后程序会自动出现在 Bottle 的「Programs」列表里,也可以固定在首页网格。点一下就能再次启动,说明环境已经通了。
日常使用技巧
下面几条是最容易卡住的地方,每条先说做法再说原因。
按用途拆多个 Bottle,别混装。办公、游戏、开发各建一个,例如
office、games、dev。Bottle 之间完全隔离,一个装坏驱动或组件不会连累其他,删掉某个 Bottle 也不会影响别的环境。图形卡顿时,进 Config 打开 DXVK 和异步。在 Bottle 的设置页(Config)里打开
DXVK与DXVK async,并可在Metal区块开启DXR(M3/M4 才有)。DXVK 把 Direct3D 转成 Vulkan,再落到 Metal,比纯软件渲染流畅得多,游戏尤其明显。文字发虚或偏小,调 Retina 模式与 DPI。同一个 Config 页有 Retina 模式开关和 DPI 滑杆(96–480)。程序里字体发虚就先开 Retina,布局太挤就调低 DPI。这两项直接影响渲染分辨率,调完重启程序生效。
需要装系统组件时用 Winetricks,别手动拷 DLL。Bottle 底部有「Winetricks」按钮,可图形化安装常见的运行时、字体、编解码器。直接往 Bottle 里扔 DLL 经常版本对不上,Winetricks 会处理依赖。
常见问题速查
| 现象 | 可能原因 | 处理办法 |
|---|---|---|
| 打开后停在设置页、提示装 Rosetta | 系统没装 Rosetta 2 或 WhiskyWine | 点「Next」让它们自动安装,装失败点「Retry」 |
| 程序闪退或无窗口 | 32 位程序没跑在 Rosetta 下,或缺少运行时 | 确认 Rosetta 已装;用 Winetricks 补对应组件 |
| 游戏画面卡顿、黑屏 | 走了软件渲染或 DXVK 未开 | Config 里打开DXVK+DXVK async,调低游戏内画质 |
| 文字模糊、布局错位 | Retina / DPI 没配好 | 打开 Retina 模式,按窗口预览微调 DPI |
| 老程序报「不支持的指令集」 | CPU 模拟相关 | 在 Config 里按需尝试 AVX 开关(新版 macOS) |
项目怎么实现的(简述)
Whisky 用 SwiftUI 写界面,核心逻辑放在一个独立的 Swift 包 WhiskyKit 里。它基于 CrossOver 的 Wine 发行版和苹果的 Game Porting Toolkit 工作:每个 Bottle 就是一个目录,里面有虚拟的drive_c盘和一份Metadata.plist记录设置;WhiskyKit 解析 Wine 环境、扫描drive_c找出已装程序,并对 .exe 做 PE 头解析来识别架构。图形路径则靠 DXVK-macOS 把 D3D 转 Vulkan、再由 MoltenVK 转 Metal。
Whisky/ ├── Whisky/ # SwiftUI 主应用:Bottle、Config、Programs 等界面 ├── WhiskyKit/ # 核心 Swift 包:Bottle 管理、Wine 集成、PE 解析 ├── WhiskyCmd/ # 命令行工具:list / create / run / shellenv 等子命令 └── Libraries/ # 第三方库(如 cabextract,用于解析压缩包)需要命令行时,WhiskyCmd提供list、create、run、shellenv等子命令,例如whisky list列出所有 Bottle,whisky shellenv <名字>打印可eval的环境变量,方便在终端里直接用该 Bottle 的 Wine。
参与与维护
- 贡献流程:先 fork 仓库、拉新分支,用 Xcode 15(macOS Sonoma)构建,依赖都走 Swift Package Manager。
- 代码规范:每个 commit 都会被 SwiftLint 检查,需零告警;缩进用 4 个空格。
- 本地化:新增字符串要加到英文词条文件里,其他语言翻译走 Crowdin,不要在 PR 里直接翻译。
- 问题反馈:游戏或程序跑不起来可查项目 Wiki 的 Game-Support 页;代码问题提 Issue,社区讨论在 Discord。
注意:项目目前处于低维护状态,README 已提示「不再积极维护,应用和游戏可能随时出问题」,重要环境建议定期备份 Bottle 目录。
下一步:建好第一个 Bottle 后,把一个你真要用的小程序(如 7-Zip 或记事本类工具)装进去跑通,再逐步把主力软件搬过去。
【免费下载链接】WhiskyA modern Wine wrapper for macOS built with SwiftUI项目地址: https://gitcode.com/gh_mirrors/wh/Whisky
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考