Switchyard is an experimental, open-source macOS app for running Windows game launchers and other executables in user-managed Wine containers on Apple Silicon.
Important
Switchyard is an early developer preview. Signed and notarized builds are available, but compatibility varies by application and containers should not be treated as a substitute for backups.
One runtime. Real Windows apps. Apple Silicon.
This July 2026 snapshot shows four different Windows workloads running side by side from Switchyard-managed containers: Chromium browser rendering, the Steam storefront, DirectX 11 game rendering, and the Battle.net launcher after sign-in. The tested runtime was built from switchyard-wine@f24f25e8c0.
This is a compatibility snapshot, not a blanket support guarantee. Results can vary by macOS version, hardware, application update, DRM, and anti-cheat requirements. Switchyard is an independent project and is not affiliated with or endorsed by Apple, Blizzard Entertainment, Google, Valve, or the owners of the applications and trademarks shown above.
- Creates Wine containers with portable manifests and last-used runtime provenance.
- Detects Apple Silicon, macOS, a user-selected Game Porting Toolkit installation, and a compatible Wine runtime.
- Runs install and launch plans through a separate
switchyard-runnerprocess. - Downloads reviewed Steam, Battle.net, Epic Games, and Rockstar Games Windows installers from fixed official endpoints, then detects the installed launcher inside the selected container.
- Records the active Wine build, source revision, and GPTK fingerprint most recently used by each container for diagnostics.
- Installs verified Noto fonts as open replacements for common Windows UI fonts.
- Bridges application-registered custom URL schemes back into the originating Wine container after a macOS browser login.
- Keeps diagnostic and debug logs local unless the user explicitly copies them.
The container model is launcher-agnostic. Steam, Battle.net, Epic Games Launcher, and Rockstar Games Launcher are development targets, not guaranteed compatibility claims. Switchyard does not bypass DRM or anti-cheat systems.
| Component | Source and license | Distribution boundary |
|---|---|---|
| Switchyard app and runner | This repository, MIT | Developer ID signed and notarized releases, or built locally from Swift source |
| Patched Wine runtime | switchyard-wine, LGPL-2.1-or-later |
Recommended signed release pinned by config/switchyard-wine.env, other trusted stable releases from the official runtime channel, or built locally |
| Apple Game Porting Toolkit components | Separately licensed Apple software | User-provided in the current release; reviewed separate GPTK 3 channel implemented but disabled; never committed or bundled with Switchyard or Wine |
| Open Font Pack | Official Noto projects, SIL OFL 1.1 | Downloaded to a user-local cache and verified before installation |
The SwiftUI app does not link against Wine. Wine is replaceable and runs only through the external runner boundary. See Licensing and redistribution for the complete policy.
The GPTK 3 review conditionally permits a separate, non-commercial component channel. The signed-manifest installer and license-consent flow are implemented, but the checked-in policy keeps the channel disabled. It must pass the version-specific legal release gate, including independent legal sign-off, before it can be enabled. GPTK 4 and other unreviewed versions remain blocked.
- An Apple Silicon Mac running macOS 14 or later
- Xcode Command Line Tools with Swift 6
- Rosetta 2 for the x86_64 Wine runtime
- A locally obtained Apple Game Porting Toolkit installation for D3DMetal support
- Download the current app archive from GitHub Releases and open Switchyard. Guided setup downloads and activates the recommended official Wine runtime.
- Choose Download from Apple for Game Porting Toolkit. Apple handles account sign-in and license acceptance.
- Return to Switchyard after the DMG finishes downloading and choose Import Downloaded GPTK. The app locates it in Downloads, verifies that its executable code is Apple-signed, and imports it into the local cache.
- Re-run diagnostics and create a container.
The signed app pins the recommended runtime's exact archive size and SHA-256 for automatic setup. Under Settings → Wine Runtime, users can also download, activate, and remove stable releases from the official switchyard-wine GitHub channel. The manager restricts manifests and archives to that channel and the app's trusted Developer ID team; installation verifies each release's exact size and digest, Git source revision, safe archive paths, full extracted file-tree digest, supported architectures, and Developer ID signatures. The selected Wine runtime and GPTK path are app-wide, never per-container. GPTK is never included in either release.
Clone the app repository and run the fast, runtime-independent checks:
git clone https://github.com/jungwuk-ryu/Switchyard.git
cd Switchyard
swift test
Tests/Shell/ensure_switchyard_wine_test.sh
Tests/Shell/runner_prefix_session_test.sh
Tests/Shell/runner_protocol_callback_test.sh
SWITCHYARD_SKIP_RUNTIME_ENSURE=1 ./script/build_and_run.sh --verifyTo synchronize the pinned Wine source, build its user-local runtime, assemble the app bundle, and launch Switchyard:
./script/build_and_run.shThe first full source build can take a while. Wine source, build products, imported GPTK files, containers, and logs remain outside this repository. The Wine build prerequisites and provenance model are documented in switchyard-wine.
app/Switchyard: SwiftUI app shell and platform integrationapp/Packages: portable models, job planning, runtime detection, and persistenceruntime/runner: external Wine workload execution boundaryconfig/switchyard-wine.env: immutable Wine source pinconfig/gptk-component.env: release-disabled GPTK 3 component-channel gatescript: local build, verification, and runtime synchronization entrypointsTests: Swift package and shell integration testsdocs: architecture decisions, development notes, privacy, testing, and licensing
Start with Architecture, Development, and the official launcher installer catalog. Contributions are welcome through CONTRIBUTING.md; report vulnerabilities according to SECURITY.md.
Switchyard app and runner code are available under the MIT License. The patched Wine runtime and third-party components retain their own licenses and distribution requirements.
