Skip to content

feat: support WiiCompiled on macOS - #520

Draft
martipops wants to merge 1 commit into
TeamWheelWizard:mainfrom
martipops:macos-wiicompiled
Draft

martipops wants to merge 1 commit into
TeamWheelWizard:mainfrom
martipops:macos-wiicompiled

Conversation

@martipops

Copy link
Copy Markdown

Purpose of this PR:

WiiCompiled (beta) doesn't show up on macOS at all (#383). This turns it on by reusing what Linux already does, so macOS goes through the same subcommand setup and install service.

The one Mac-specific part is the download. Instead of the AppImage it grabs WiiCompiled-Setup-macos.run from the WiiCompiled release, a self-extracting setup with its own cmake, ninja and translator. It has to bring those along because apps opened from Finder don't get Homebrew on PATH.

This replaces #371, which went stale. I kept its .run idea, but here it comes from the upstream WiiCompiled release instead of a fork.

Leaving it as a draft until patchzyy/Wiicompiled#284 is merged and released, since there's nothing to download before then.

How to Test:

Once a WiiCompiled release has WiiCompiled-Setup-macos.run:

  1. Run bash macos/release-macos.sh and open release/WheelWizard.app from Finder (not a terminal, so it gets the same bare PATH users do).
  2. Settings: enable WiiCompiled (beta) and pick a clean PAL RMCP01 image.
  3. Home: Install. It downloads the .run, extracts the disc and builds base + Retro Rewind (about 5 to 15 min the first time).
  4. Play: Retro Rewind should launch with Metal.
  5. Check that Update, the video settings (Metal only) and Uninstall work.
  6. dotnet test WheelWizard.Test --filter "FullyQualifiedName~Recomp"

I tested all of this already by putting the .run on a release in my fork and pointing RecompReleaseResolver.RepositoryOwner at it locally.

What Has Been Changed:

  • Mac uses the Linux install service and environment (RecompPlatform.UsesSubcommandSetup).
  • The release lookup picks WiiCompiled-Setup-macos.run on Mac, and it gets installed as the host the same way the AppImage does.
  • Downloaded vs bundled setups are told apart by the release asset's extension instead of a hard-coded .AppImage, so the Flatpak extension still counts as bundled.
  • Config.toml, the NAND and the built games live in ~/Library/Application Support/WiiCompiled, which is where the Mac runtime looks.
  • Video settings only offer Metal on Mac.
  • Doc comments and the English tooltips no longer say "Windows only" or name just DirectX 12 and Vulkan.

Related Issue Link:

Fixes #383. Supersedes #371. Depends on patchzyy/Wiicompiled#284.

Checklist before merging

  • You have created relevant tests

Route macOS through the same subcommand setup and install service as Linux.
macOS downloads WiiCompiled-Setup-macos.run from the WiiCompiled release, a
self-extracting setup for both architectures, and installs it as the host the
same way Linux does with the AppImage. Its products, Config.toml and NAND live
in ~/Library/Application Support/WiiCompiled, which is where the macOS runtime
reads them.

- Enable recomp mode on macOS and register the Linux install service there.
- Tell a downloaded setup from a bundled one by the release asset's extension
  instead of hard-coding .AppImage.
- Offer Metal as the only graphics API on macOS.
- Update the platform doc comments and the settings tooltips that said
  "Windows only" or named only DirectX 12 and Vulkan.
@coderabbitai

coderabbitai Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@DarthMDev

Copy link
Copy Markdown

Works on apple silicon m3 pro

@wiillownet

wiillownet commented Oct 13, 2026 •

Copy link
Copy Markdown

Tested this branch on an M2 MacBook Air, macOS 26.5.1 (Tahoe), with the .run from your fork's v0.2.33 release (RepositoryOwner pointed at martipops locally).

Opened WheelWizard.app from Finder, so it had the bare PATH:

  • WiiCompiled (beta) shows up in Settings. ✅
  • Downloaded WiiCompiled-Setup-v0-2-33.run into ~/Library/Application Support/CT-MKWII/Recomp/Cache/, unpacked, and ran it. ✅
  • A NTSC-U RMCE01 image is rejected with a clear message, as expected. ✅
  • With a PAL RMCP01 image, the install completed and Retro Rewind boots. ✅
  • Recomp tests: 37/37.
  • Changing video settings works. ✅
  • Played online on Retro Rewind. ✅
  • Not tested yet: Update and Uninstall.

Two things came up along the way:

  1. False "Retro WFC is unreachable" prompt. This isn't macOS-specific. Wheel Wizard's probe checks http://nas.play.rwfc.net/payload, but the setup host has downloaded from https://rwfc.net/api/wfc/payload since https payload patchzyy/Wiicompiled#198. During my test the old host was down, and the prompt showed up even though the new host was answering. The fix to align them is up as fix: probe the retro wfc payload at its current https endpoint #529.
  2. Dolphin save copy and region. "Copy Dolphin data" copied the NAND fine, but my Dolphin saves were from an NTSC-U disc (524d4345 and RetroWFC/RMCE). The PAL build reads 524d4350 and RetroWFC/RMCP, so it started with an empty save. Copying the rksys.dat across regions worked, and my licenses loaded. Since the recomp is PAL-only for now, it might be worth a hint, or doing that copy automatically when only another region's save exists. Not a blocker for this PR.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

No Wii Compiled Beta option on MacOS 2.5.4

3 participants