Wine but a bit stronger
Active community fork. The original whisky-app/whisky was archived on April 9, 2025 with a final maintenance notice. This fork, maintained by @frankea, continues development — addressing the backlog of upstream issues and adding new functionality. Not affiliated with the original project or getwhisky.app.
Whisky provides a clean and easy-to-use graphical wrapper for Wine built in native SwiftUI. You can make and manage bottles, install and run Windows apps and games, and unlock the full potential of your Mac with no technical knowledge required.
Familiar UI that integrates seamlessly with macOS
Debug and profile with ease
- Wine 11.0 - Latest stable Wine with improved compatibility and networking
- Launcher Compatibility - Built-in support for Steam, Epic, EA App, Rockstar, Battle.net, and more
- Controller Support - SDL environment variable controls for gamepad detection and mapping issues
- Stability Diagnostics - One-click diagnostic reports for troubleshooting crashes and freezes
- Native SwiftUI - Beautiful, familiar macOS interface
- CPU: Apple Silicon (M-series chips)
- OS: macOS Sequoia 15.0 or later
brew install --cask frankea/whisky/whiskyThis taps frankea/homebrew-whisky and installs the latest signed/notarized DMG. brew upgrade --cask picks up new releases.
The default
brew install --cask whiskystill installs the archived original (last release April 2025) and always will until that cask is updated. Use the qualifiedfrankea/whisky/whiskyform to get this fork.
- Download the latest Whisky-X.Y.Z.dmg (signed and notarized — Gatekeeper-approved).
- Open the DMG and drag Whisky.app to /Applications.
- Launch Whisky. On first run it downloads the Wine runtime (~313 MB) and sets up your default bottle.
In-app updates are delivered through Sparkle from https://frankea.github.io/Whisky/appcast.xml.
The original whisky-app/whisky was archived on April 9, 2025 with a final maintenance notice. If you're running it today, you're on a stale build with no path forward for new fixes. This fork picks up where the upstream left off — version 3.0.1 shipped 54 requirements covering the 10 categories of upstream issue tracking (#40–#50).
To switch:
- Install this fork:
brew install --cask frankea/whisky/whiskyor follow the manual steps above. - Open it and choose File → Migrate from the Original Whisky. It finds the bottles the original app left in
~/Library/Containers/com.isaacmarovitz.Whisky/and imports the ones you pick. Bottles are referenced in place — nothing is moved or copied — so the original app keeps working if you'd like to keep it around. - (Optional) Once you're happy, remove the original app: drag /Applications/Whisky.app to the Trash, or
brew uninstall --cask whiskyif you installed it via Homebrew. Your bottles stay put.
The original app uses a different bundle identifier (com.franke.Whisky here vs. com.isaacmarovitz.Whisky), which is why bottles aren't shared automatically. The old Bottle → Export / File → Import Bottle route still works if you'd rather move bottles by hand or onto another Mac. With no critical bottles, you can skip migration entirely — the new app creates a fresh bottle on first launch.
- Support - Where to file bugs and what to expect from a single-maintainer fork
- Governance & continuity - Who maintains this and the honest bus-factor situation
- Runtime dependencies - The bundled Wine/DXVK/D3DMetal/DXMT versions and their upstream sources
WhiskyKit, the core framework powering Whisky, has comprehensive API documentation:
- WhiskyKit API Documentation - Full API reference with usage examples
- Getting Started Guide - Learn how to integrate WhiskyKit
- Architecture Overview - Understand how WhiskyKit components work together
- Launcher Troubleshooting - Fix issues with Steam, Epic, Battle.net, etc.
- Steam Compatibility Guide - Detailed guide for Steam on Whisky
- Stability Troubleshooting - Diagnose crashes, freezes, reboots, and kernel panics
- Controller Issues - Enable "Controller Compatibility Mode" in Bottle Config → Controller & Input
- Game Configurations - 80+ curated per-game compatibility configs, also browsable in-app under Game Configurations
Per-issue accounting of how this fork addresses the open issues from the
archived upstream repo. Read docs/AUDIT.md for the
methodology — including how to read the addressed-direct vs
addressed-categorical distinction and what unverified GameDB entries
actually mean.
The Coverage badge above reports line coverage for WhiskyKit only —
the framework that holds the bottle, Wine, GameDB, and PE-parser logic.
The SwiftUI app target (Whisky/), WhiskyCmd, and WhiskyThumbnail
aren't measured because CI runs swift test --enable-code-coverage
against the WhiskyKit Swift package per
.github/workflows/CI.yml. Read the badge as
"WhiskyKit unit-test coverage," not full-app coverage.
WhiskyUITests gives behavioural coverage of the SwiftUI surface (toolbar,
create-bottle sheet, fixture-dependent flows). CI now runs them with
-enableCodeCoverage YES and uploads the resulting app-target coverage to
Codecov under a separate whiskyapp flag (best-effort — the upload never gates
CI). Because UI tests exercise far less of the app than the unit tests do of
WhiskyKit, expect the app-target number to read lower than the WhiskyKit badge
above.
Whisky is possible thanks to the magic of several projects:
- msync by marzent
- DXVK-macOS by Gcenx and doitsujin
- MoltenVK by KhronosGroup
- Sparkle by sparkle-project
- SemanticVersion by SwiftPackageIndex
- swift-argument-parser by Apple
- CrossOver by CodeWeavers and WineHQ
- D3DMetal by Apple
Special thanks to Gcenx, ohaiibuzzle, Nat Brown, and Isaac Marovitz (original author) for their support and contributions!
|
Whisky doesn't exist without CrossOver. If you want a fully-supported commercial Wine experience on macOS, check out CrossOver from CodeWeavers. (This fork has no affiliate arrangement and receives nothing from CrossOver sales.) |


