Lets buku.chat / BukuNet users jump into Dolphin netplay with a single click in the browser. The
BukuNet NETPLAY tab fires a bukudolphin:// deep link → a packaged, netplay-CLI Dolphin opens
straight into a hosted/joined session (no manual Dolphin setup).
- Custom Dolphin build = upstream Dolphin + the approved PR #13288 which adds the CLI flags:
--netplay_host=<port>— host a session (needs--exec=<game>)--netplay_join=<host code>or<ip:port>— join
- Deep link
bukudolphin://:bukudolphin://host?game=NAME→Dolphin --exec=<resolved ISO> -C Dolphin.NetPlay.TraversalChoice=traversal --netplay_host=6262bukudolphin://join?code=ABCD1234&game=NAME→Dolphin --exec=<ISO> --netplay_join=ABCD1234bukudolphin://join?host=1.2.3.4:6262&game=NAME→ direct joingame=NAMEis resolved against the user's Dolphin ISO paths (both peers need the same ISO).
- BukuNet wiring:
bukunet/src/views/netplay.js(BN.NETPLAY.launch→_fireSchemeon desktop; handheld still uses the native bridge).
- macOS (arm64):
bash build-mac.sh→~/Documents/dolphin/build/Binaries/Dolphin.app. Includes the one Qt-6.11 fix (linkQt6::GuiPrivatefor theqpa/private header). Thenbash setup-mac.shinstalls~/Applications/BukuDolphin Launcher.app+ registersbukudolphin://. Verified end-to-end 2026-06-20:open "bukudolphin://host?game=SSX 3"boots SSX 3 + opens the NetPlay host window with a Room code. - Windows (x64): built by GitHub Actions (
.github/workflows/bukudolphin-windows.yml) — clones Dolphin + PR #13288, pulls the bundledExternals/Qt(prebuilt Qt 6.5.1, so no Qt install + no GuiPrivate patch — that was only Homebrew's Qt 6.11 on macOS),msbuildRelease x64, and uploads aBukuDolphin-Windows-x64artifact withDolphin.exe+ the handler scripts. On the PC: runsetup-win.ps1(registersbukudolphin://per-user in HKCU →launch-win.ps1, which maps the URL to Dolphin flags and resolves the ISO fromDolphin.ini). Windows uses the same desktop Qt frontend as macOS, so the PR's netplay CLI works unchanged → Windows ↔ macOS netplay is fully unblocked once built. - Android (RG406V + handhelds): the real "different job" — Dolphin Android has never shipped
netplay: the engine (
Core/NetPlayClient/NetPlayServer, frontend-agnostic) exists, but the QtNetPlayDialog(1280 lines) is theNetPlayUIcallback that orchestrates a session, and the Android frontend has no equivalent. So Android needs a custom headlessNetPlayUI(auto-host/ auto-join, no dialog) + JNI +EmulationActivityintent extras + an NDK/Gradle APK build. BukuNet's APK (BukuNative.launchRom) already launches Dolphin via intent and would pass the netplay extras. Seeandroid/in this folder.
build-mac.sh— reproducible macOS build (clone + PR #13288 + Qt6.11 patch + cmake/ninja).launch-mac.sh— maps abukudolphin://URL → Dolphin netplay flags (resolves the ISO).handler.applescript— the macOS URL-scheme handler app source.setup-mac.sh— compiles the handler app + registersbukudolphin://with LaunchServices.