https://github.com/apexskier/dolphin-controller
iOS GameCube controller for the Dolphin emulator.
https://github.com/apexskier/dolphin-controller
dolphin-emu gamecube-controller
Last synced: 7 months ago
JSON representation
iOS GameCube controller for the Dolphin emulator.
- Host: GitHub
- URL: https://github.com/apexskier/dolphin-controller
- Owner: apexskier
- Created: 2021-07-29T06:06:14.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-06-25T22:00:42.000Z (10 months ago)
- Last Synced: 2025-06-25T23:18:12.161Z (10 months ago)
- Topics: dolphin-emu, gamecube-controller
- Language: Swift
- Homepage:
- Size: 9.57 MB
- Stars: 26
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# Dolphin Controller
Video games were meant to be played together. All you need to play a game with friends on Dolphin is your laptop and this app, over bluetooth or Wi-Fi.
| macOS Server | iOS Client | iOS Server Browser |
| ------------ | ---------- | ------------------ |
|
|  |  |
## Installation & Usage
1. [Download the latest version of Dolphin emulator](https://dolphin-emu.org)
2. [Install the iOS app from the App Store](https://apps.apple.com/us/app/dolphin-ctrl/id1584272645) and the [macOS server from GitHub](https://github.com/apexskier/dolphin-controller/releases/latest) (or build and run with XCode)
3. From the iOS app, tap "Join" and find your server
4. Pick a controller number by tapping P1, P2, P3, or P4
**Important**:
Dolphin Controller can be _slow_ depending the speed of your WiFi/bluetooth/remote network connect _and_ the speed of the Dolphin emulator itself. Try verifying the performance with a simple game if a more performance intensive game feels slow. Tips for improving performance can be found in Dolphin's [Performance Guide](https://dolphin-emu.org/docs/guides/performance-guide/).
## Setup
In order for the app to interact with the Dolphin Emulator software, this app takes advantage of [Dolphin's pipe input feature](https://wiki.dolphin-emu.org/index.php?title=Pipe_Input).
The server will automatically write the correct config and create the required FIFO pipes.
From the Dolphin app, open the controller settings (Options > Controller Settings in the menu bar). For each controller you wish to connect in-game, change "Port N" to "Standard Controller".

### Verification
You can verify the controller is connected by clicking "Configure" and ensuring "Device" is connected to "Pipe/0/ctrlN". From the configure window, you can also verify that the UI responds to interactions on your iOS device.

## Tips
* The iOS app will attempt to auto-reconnect with the same controller number if it looses a connection (if your screen locks or the app backgrounds).
* In the server browser window (after tapping "Join") the ★'d server is the one last connected to.
* Servers are advertised automatically with Bonjour, so no need to enter manual information if everyone's in the same room.
* For remote play, tap the Network icon in the macOS app's toolbar to find the port, forward to a public IP address, and enter the address manually.
* The server is not currently in the App Store because it breaks sandboxing by modifying Dolphin's configuration files directly. A long term goal is to figure out a way to avoid that to distribute on the App Store along side the iOS app.
❤️ inspired by (and originally forked from, but since rewritten) https://github.com/ajaymerchia/dolphin-controller