What you need
- macOS 14 Sonoma or later, on an Apple Silicon or Intel Mac.
- Flutter, stable channel (3.45 – 3.47), installed and working (
flutter doctor). - VS Code with the Flutter extension, Android Studio or IntelliJ with the Flutter plugin. Terminal works too.
- About 3 GB of free disk space, and an internet connection for setup.
Quickest: install from Terminal
One command does everything below: it downloads SimWin from simwin.dev, checks the checksum, Codeaamy’s signature and Apple’s notarization, installs the app, adds the simwin command and runs setup.
curl -fsSL https://simwin.dev/install.sh | bashOptions go after bash -s --, for example curl -fsSL https://simwin.dev/install.sh | bash -s -- --no-setup:
--no-setup: install only; set up later in the app or withsimwin setup.--no-cli: don’t add thesimwincommand.--uninstall: remove SimWin completely (see Uninstall).
It never uses sudo. Want to read it first? simwin.dev/install.sh. Prefer clicking? Follow the steps below.
1. Download and install
- Download SimWin.dmg and open it.
- Drag SimWin onto Applications.
- Open SimWin from Applications. It is notarized by Apple, so it opens without warnings.
2. Run setup
The first time SimWin opens, it walks you through setup. Each step checks itself, and you can run it again any time from the Doctor tab.
- Check this Mac. macOS version and disk space. On Apple Silicon, SimWin installs Rosetta 2 if it’s missing (macOS asks for an administrator password).
- Flutter SDK. SimWin finds your Flutter installation, or you can choose the folder. When you run from your IDE, SimWin always uses the Flutter your IDE runs.
- Download components (about 400 MB, each checked against a SHA-256 checksum): the clang-based Windows compiler (llvm-mingw), CMake, Ninja, Wine and DXVK. They are kept in
~/Library/Application Support/SimWin. - Windows environment. SimWin creates the folder your apps run in (about 15 seconds).
- Command line tool (optional). Links
simwininto/usr/local/bin(administrator password) or~/.local/bin. Your IDE doesn’t need it. - Add the IDE device. Turns on Flutter’s custom devices (
flutter config --enable-custom-devices) and adds “SimWin · Windows 11” to~/.config/flutter/custom_devices.json. Other custom devices there are left alone. - Self-test. Builds and runs a small sample app, so you know everything works before you try your own. The first build takes about a minute.
3. Run your app
VS Code
- Open your Flutter project.
- Click the device name in the status bar (bottom right) and choose SimWin · Windows 11.
- Press F5 (Run ▸ Start Debugging).
Android Studio and IntelliJ
- Open your Flutter project.
- Choose SimWin · Windows 11 in the device list in the toolbar.
- Click Run or Debug.
Terminal
flutter run -d simwin # like any other device
simwin open path/to/project # build and run without an IDEThe first build of a project takes a few minutes: SimWin downloads Flutter’s Windows engine files for your Flutter version (about 100 MB, once per version) and compiles everything. Later builds only recompile what changed. Hot reload (r), hot restart (R), breakpoints and DevTools work as on Windows.
4. The toolbar and profiles
A toolbar floats above the simulator window:
- Scale: 100 %, 125 %, 150 % or 200 %, like Windows’ display scaling.
- Size: common laptop and desktop window sizes.
- Theme: light or dark, as reported to your app.
- Locale: including right-to-left Arabic, for testing
Directionality. - Screenshot and Record: PNG and video of the app window. macOS asks once for Screen Recording permission (System Settings ▸ Privacy & Security ▸ Screen & System Audio Recording).
Save a combination as a profile in the SimWin window, then switch from the toolbar, the menu bar icon or simwin profile use.
Command line reference
| Command | What it does |
|---|---|
simwin open <project> | Build and run a project without an IDE |
simwin stop | Stop the running app |
simwin screenshot --output shot.png | Save the app window as PNG |
simwin profile list | use | create | set | Manage profiles (scale, size, theme, locale) |
simwin status | What SimWin is doing right now |
simwin doctor | Check everything SimWin needs, with a fix for each problem |
simwin report | Create a problem report to send to us |
simwin setup --register | Add the IDE device again (e.g. after moving the app) |
simwin version | SimWin, Wine and toolchain versions |
Run simwin help <command> for the options.
Updates
SimWin checks for updates once a day and installs them when you quit. To check now, choose SimWin ▸ Check for Updates….
Uninstall
From Terminal, in one go:
curl -fsSL https://simwin.dev/install.sh | bash -s -- --uninstallOr by hand:
- Remove the IDE device:
simwin setup --unregister(or delete thesimwinentry from~/.config/flutter/custom_devices.json). - Quit SimWin and move it from Applications to the Bin.
- Delete its folders:
rm -rf ~/Library/Application\ Support/SimWin ~/Library/Caches/SimWin ~/Library/Logs/SimWin rm -f /usr/local/bin/simwin ~/.local/bin/simwin
Something not working? See Support and troubleshooting.