CLI tool
gauthierpiarrette/highball avatar
gauthierpiarrette/highball

Highball: a GPL-3.0 macOS Wine front end with an open compatibility database

Run Windows games on Apple Silicon — free, open source, with an open compatibility database that tells you what actually works.

831 stars30 forksSwiftGPL-3.0

At a glance

What is it?
Highball is a native macOS app and CLI that assembles Wine, DXMT, D3DMetal and DXVK into per-game environments on Apple Silicon, and answers the compatibility question from a CC0 database instead of a forum thread.
Who is it for?
Adopt Highball if you are on Apple Silicon with macOS 14 or later, you already accept Wine's limits, and you want the renderer choice to come from a database rather than from trial and error. Do not adopt it if you need GOG Galaxy sign-in (the README says it comes up black), if you depend on a game with kernel anti-cheat, or if you want a stable product: the newest releases are labelled beta and three shipped on consecutive days.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 4 days ago.
What is it written in?
Mainly Swift, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 16, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The problem Highball targets: Wine on macOS has no shared answer key

Running Windows games on Apple Silicon has never been one problem. It is a stack of them: which Wine build, which Direct3D translation layer, which macOS version, which game, which launcher. The README frames the project's reason for existing around a cautionary tale, noting that Whisky was archived in 2025, and lists the ways these tools tend to die. Highball's answer is to separate the verdict from the tool. Compatibility data lives in a separate repository, highball-db, under CC0, browsable at gethighball.com/database. The README describes it as "a standalone dataset any tool can build on," with verified runs, community reports and machine-derived predictions labelled separately, plus per-game renderer verdicts and a kernel-anti-cheat blocklist. That labelling matters more than it sounds. A verified run and a prediction are different claims, and the database keeps them apart rather than averaging them into one score. The audience is narrow and specific: someone on an M-series Mac who wants to know whether a 80 GB download is worth starting, before starting it.

Engine assembly, bottles, and where the renderer choice is made

Highball is not a Wine fork. The README says engines are assembled from pinned, SHA-256-verified upstream builds: Gcenx's builds, DXMT, the Sikarugir runtime, and a Wine 11 build from the CrossOver 26.3 tree. Where a game needed a fix nobody ships, the patch and the build script live in spike/, the top-level directory visible in the repository layout, alongside Sources/, Tests/, Scripts/ and appcast.xml. The unit of execution is a bottle, created with a recipe. The CLI example uses `bottle create play --recipe steam`, so a bottle is a named Windows environment and the recipe decides what goes into it. Renderer selection is per game, drawn from the database, which is the architectural decision worth noting: the translation layer is not a global setting you pick once and regret. Launcher support is uneven and the README says so directly. Steam and Epic through Legendary work on the default engine. Rockstar, the EA app and Ubisoft Connect need the Wine 11 engine for their embedded-browser sign-in, and Play offers that engine when a game needs it. Rockstar signs in and runs GTA V and Red Dead Redemption 2; the EA app signs in and runs The Sims 4; Ubisoft Connect and Battle.net show sign-in windows but no game has been played through them yet. Each case is tracked in the launcher recipe's knownIssues field, which is the honest part of the design.

Installing Highball and launching a first game

The README gives two install paths. The .dmg from the latest release is notarized for macOS 14+ on Apple Silicon; drag it to Applications, open it, press Get started. Highball then installs Rosetta if needed, downloads the engine and prepares a Windows environment before asking where your games are. Homebrew is the second path:

bash
brew install --cask gauthierpiarrette/highball/highball

The README warns that first run is slow. The engine download is a few hundred MB, and Steam's first launch unpacks its own roughly 235 MB client; under Rosetta the README puts that at 15 to 25 minutes, with a progress strip showing the step, elapsed time and the usual range. If it stalls, relaunching resumes it.

The CLI path does everything the app does, but it expects a sibling checkout of the database repository because recipe and database paths resolve relative to the current directory:

bash
git clone https://github.com/gauthierpiarrette/highball && cd highball
git clone https://github.com/gauthierpiarrette/highball-db ../highball-db
swift build -c release
.build/release/highball engine install spike/engine-manifest.json
.build/release/highball bottle create play --recipe steam
.build/release/highball run play Steam

The optional line the README shows for D3DMetal is `.build/release/highball engine accept x64-sikarugir10.0_6-r2 apple-gptk-license-2023-08-17`, which is a licence acceptance step, not a download flag. Everything the app writes lives in `~/Library/Application Support/Highball/`; the README states nothing touches `/usr` or `/Library`, so deleting that folder is a full uninstall. Command keys are remapped too: Command maps to Ctrl and Option to Alt so Alt-based bindings keep working, and that can be turned off per environment in Settings under Environments.

Where Highball stops: GOG, anti-cheat, and the beta label

The clearest limitation is stated in the README without hedging: GOG Galaxy comes up black, so you cannot sign in. GOG's DRM-free offline installers run directly in an environment instead, which is a workaround, not a fix. Kernel anti-cheat titles are flagged as impossible in the database before you download, which is useful but also an admission that a category of games is out of reach. Ubisoft Connect and Battle.net show sign-in windows with no game played through them, so treat those as unverified rather than supported. The release channel is beta: v0.9.22 is labelled "Highball 0.9.22 (beta)" and shipped on 2026-09-16, with v0.9.21 and v0.9.20 on 2026-09-15. Three releases in two days is a project moving fast, and fast-moving means the environment you set up today may be rebuilt tomorrow. The README also does not document rollback for a bad engine install, and it does not describe what happens when a database verdict turns out to be wrong for your specific hardware. If you want a tool that behaves the same in six months, this is the wrong choice right now.

Highball against CrossOver and Whisky

CrossOver is the commercial comparison, and the README itself points at the CrossOver 26.3 tree as the source of Highball's Wine 11 engine. The difference is not the Wine lineage; it is who picks the renderer and who publishes the verdict. CrossOver ships a curated, paid product with support. Highball ships pinned upstream builds assembled by the project, with per-game renderer verdicts read from a CC0 database you can inspect and reuse, and with patches published in spike/ when a game needed something nobody ships. Whisky is the closer comparison and the README names it: archived in 2025. Whisky was a front end too, and the failure mode Highball is explicitly built against is a front end that dies with its engine choices. Highball's bet is that a public dataset outlives any single GUI. The trade-off is real: a database with community reports and machine-derived predictions has to be trusted at the level of individual entries, and the labels are the only thing standing between a verified run and a guess.

Licence, maintenance and what an upgrade actually costs

Highball is GPL-3.0. The compatibility database is separate and CC0, which is the more consequential licensing fact for anyone building on it: the dataset can be reused without the copyleft obligations that attach to the app. The app is not archived, and the last push was on 2026-09-16, the same day as the v0.9.22 beta release, so the repository is being worked on now. Auto-updating is listed among the working features, and appcast.xml at the repository root is consistent with a Sparkle-style update feed. Upgrade cost is mostly download and rebuild time rather than migration work, because environments are per-game bottles and the engine is replaceable: the README describes moving an environment to the Wine 11 engine in Settings. The hidden cost is disk. An engine plus per-game bottles plus Steam's own client adds up, and the README's own install notes make clear the first run is measured in tens of minutes. This is not legal advice; if you redistribute Highball or bundle the database, read GPL-3.0 and CC0 yourself.

Editorial conclusion

Adopt Highball if you are on Apple Silicon with macOS 14 or later, you already accept Wine's limits, and you want the renderer choice to come from a database rather than from trial and error. Do not adopt it if you need GOG Galaxy sign-in (the README says it comes up black), if you depend on a game with kernel anti-cheat, or if you want a stable product: the newest releases are labelled beta and three shipped on consecutive days. Verify first that your game has a verified verdict at gethighball.com/database, then check whether its launcher recipe lists anything under knownIssues, because that field is where the project records what does not work yet.

Frequently asked questions

What does Highball require to run?

The README states Apple Silicon and macOS 14 or later, and it prompts for Rosetta 2 if needed. The first run downloads an engine of a few hundred MB and prepares a Windows environment before asking where your games are.

How do I install Highball with Homebrew?

The README gives the cask command brew install --cask gauthierpiarrette/highball/highball. The alternative is the notarized .dmg from the latest release, dragged to Applications.

Does Highball work with GOG Galaxy?

The README says GOG Galaxy still comes up black, so you cannot sign in. GOG's DRM-free offline installers do run directly in an environment instead.

Official sources

  1. gauthierpiarrette/highball on GitHub
  2. License: GPL-3.0
  3. Project website
  4. README
  5. Releases
Community notes

Community notes