/dolphin-controller

iOS GameCube controller for the Dolphin emulator.

Primary LanguageSwift

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
Server UI Client UI Server Join UI

Installation & Usage

  1. Download the latest version of Dolphin emulator
  2. Install the iOS app from the App Store and the macOS server from GitHub (or build and run the 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.

Setup

In order for the app to interact with the Dolphin Emulator software, this app takes advantage of Dolphin's pipe input feature.

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".

Dolphin Controller Settings

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.

Controller configuration verification

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