Skip to content
MaartenStorkPublic

About

Play Windows-only Steam games on Apple Silicon Mac, set up from a single config file.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

winmac

Play Windows-only Steam games on your Apple Silicon Mac, set up from a single config file.

./winmac play mewgenics

What this is

Steam only. Everything here runs through Steam: the game is downloaded using Steam's own depot system, installed into a Steam library inside a Wine prefix, and launched from the Steam client. It is for games you already own on Steam that have no macOS version. It is not for GOG, Epic, itch.io, or standalone installers.

Getting such a game running on a Mac means solving four separate problems: Steam won't download the game, Steam won't run, Steam won't log in, and then the game won't draw anything. Each one fails with an error that doesn't point at the real cause.

winmac wraps all four into one pipeline. You describe a game in a config file, run one command, and it downloads the Windows build, installs it into a Wine prefix, applies the graphics workarounds that game needs, and launches it through Steam.

Verified end to end on Mewgenics. The pipeline is game-agnostic, but every game is its own adventure.

The stack

This is built on Wine. Nothing here emulates a PC. Each layer translates for the one above it:

   Your Windows game                  an unmodified Windows .exe
        |
   Mesa OpenGL                        real OpenGL, sitting next to the .exe,
        |                             because Wine's macOS GL driver is broken
   Steam for Windows                  the game must be launched from here
        |
   Wine 11                            translates Windows API calls into macOS
        |
   Rosetta 2                          runs Wine's x86_64 binary on Apple Silicon
        |
   macOS on Apple Silicon

Wine translates API calls rather than emulating a CPU, and Rosetta 2 handles the actual x86 to ARM instruction translation. That is why performance is usually fine, and why the graphics layer is where things go wrong instead.

Whisky is not an alternative to Wine. It is a Mac GUI around one specific old Wine build (CrossOver 22.1.1, which is Wine 7.7 from 2022). It is frozen there, and the modern Steam client cannot run on it. Moving to current Wine is what fixes Steam.

Requirements

  • Apple Silicon Mac, macOS 26 or later
  • Homebrew and Xcode Command Line Tools
  • ~15 GB free, plus the size of the game
  • A Steam account that owns the game. winmac downloads it with your own Steam client, using your own license. It does not bypass ownership.

Setup

git clone https://github.com/MaartenStork/WinToMac.git
cd WinToMac
./winmac doctor     # check your machine
./winmac setup      # install Wine 11 + Steam

setup clones steam-on-m1-wine and runs its installer. That project provides Wine 11, the prefix, Steam, and a steamwebhelper wrapper that stops Steam's UI from crashing. Use its --minimal flag; the full build takes an hour and only helps Direct3D 11 games.

It will ask for your password once, and the wrapper step fails the first time by design. docs/troubleshooting.md covers it.

Adding a game

cp games/EXAMPLE.conf games/mygame.conf
$EDITOR games/mygame.conf
./winmac play mygame

You need the Steam app ID, depot ID, manifest ID, folder name, and executable name. docs/finding-ids.md shows where to get them.

Commands

winmac doctor check the environment
winmac setup install Wine and Steam
winmac list show configured games
winmac fetch <game> download the Windows build into the prefix
winmac install <game> apply graphics workarounds
winmac launch <game> start Steam, ready to play
winmac status <game> is the GPU or the CPU doing the work?
winmac play <game> all of the above

Docs

Contributing

Working games/*.conf files are the most useful thing you can add.

Credits

Built on notpop/steam-on-m1-wine, pal1000/mesa-dist-win, and 3Shain/dxmt.

MIT licensed.

About

Play Windows-only Steam games on Apple Silicon Mac, set up from a single config file.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages