A free, open, Proton-like layer for running Windows games on macOS (Apple Silicon).
Cellar assembles a Wine runner plus a graphics-translation backend (Apple's D3DMetal, or the open-source DXVK → MoltenVK path) into per-game bottles, driven by a community profile database. The first supported profile is Planet Coaster 2; the engine itself is general — adding a new game means adding a profile, not rebuilding the layer.
Status: Phase 1 (working).
cellar setupinstalls the runner, creates the bottle, initialises the Wine prefix, and installs Windows Steam — verified end-to-end on an Apple M5 / macOS 26. You log into the in-bottle Steam, install your game, andcellar launchit. PC2 itself is markedexperimentaluntil validated on M5. See docs/ROADMAP.md.
Valve's Proton runs Windows games on Linux — and it relies on two things macOS doesn't have:
- Native Vulkan. Proton translates DirectX → Vulkan (via DXVK / VKD3D-Proton) and runs on Linux's native Vulkan driver. macOS has no Vulkan — only Metal. So the Mac equivalent is Wine + Apple's D3DMetal (DirectX → Metal directly), with the open-source DXVK → MoltenVK chain as a fallback.
- Steam Play. On Linux, the Steam client hosts compatibility tools so you select Proton in a game's properties and click Play. The macOS Steam client has no such hook — it's Linux-only.
So Cellar can't be Proton hosted inside Steam. Instead it owns the launch path — the same role Steam-on-Linux plays — and gets you the same feel:
- Windows Steam in a bottle — install the real Windows Steam client inside the bottle and let it install/validate/update your games. This is also the clean answer to "the Mac Steam client won't let me install this Windows-only game" (it greys out the Install button because there's no macOS build). Inside the bottle, Steam sees Windows and just works.
- Per-game profiles — Cellar's equivalent of Proton's per-title fixes: backend choice, Wine build, registry tweaks, env vars, install recipe — set once, reused forever.
- (planned) Send to Steam — generate a launcher and a non-Steam shortcut so a title appears in your Steam library with a Play button.
See docs/ARCHITECTURE.md for the full stack.
Cellar is GPL-3.0 and is built to stay free and legal:
- Cellar never bundles Apple's D3DMetal in its own releases. D3DMetal is proprietary, but Apple's
license permits non-commercial distribution. So it reaches your machine at runtime via the
Gcenx Game Porting Toolkit runner (
cellar runner install gptk) — a non-commercial redistribution under Apple's grant, the same model Heroic uses — or, if you prefer, from your own Apple download (cellar gptk import). Either way it's never part of Cellar's source or artifacts. - No DRM circumvention, ever. Planet Coaster 2 ships Denuvo Anti-tamper (DRM, not anti-cheat). Cellar runs it through the layer, untouched. We never strip or crack DRM.
- Owned games only. Any game files come from your authenticated account, via the in-bottle Windows Steam client.
- Trademark-safe. Cellar is not affiliated with or endorsed by Apple, Valve, CodeWeavers, or Frontier Developments. See NOTICE.
Full component-by-component license matrix: THIRD_PARTY_LICENSES.md. Detailed rules: docs/LEGAL.md.
- Apple Silicon Mac (M1 or newer; developed/tested on M5)
- macOS 14 (Sonoma) or later — recommended macOS 26 (Tahoe)
- Rosetta 2 (
softwareupdate --install-rosetta --agree-to-license) - Swift 6 toolchain (Xcode or Command Line Tools) to build from source
git clone https://github.com/<you>/Cellar.git
cd Cellar
swift build
swift run cellar doctor # check your machine is readyInstall the binary onto your PATH:
swift build -c release
cp .build/release/cellar /usr/local/bin/cellar
cellar doctorThe minimal-setup path to Planet Coaster 2:
cellar doctor # check your machine (Apple Silicon, Rosetta, disk…)
cellar setup # install runner + bottle + Windows Steam (Planet Coaster 2)
cellar steam open planet-coaster-2 # opens Steam in the bottle — log in (Steam Guard/2FA works)
cellar steam install planet-coaster-2 # opens the install dialog for PC2 (or install from the UI)
cellar launch planet-coaster-2 # play (routes through Steam so DRM/auth work)Surface it like a native game:
cellar steam add planet-coaster-2 # generates ~/Applications/Planet Coaster 2.app
# and a non-Steam shortcut (quit Steam first)Other commands: cellar runner list/install, cellar prefix list, cellar profiles list/show,
cellar steam enable-windows-platform (advanced).
New games are added as profiles — see CONTRIBUTING.md. Cellar's policy is to upstream fixes to Wine/DXVK where possible (one of the lessons from Whisky's end), keep the core small, and let the community own the profile database.
GPL-3.0 © Cellar contributors. Bundled third-party components retain their own licenses (THIRD_PARTY_LICENSES.md).