DolphiniOS version 2.0.0 has been released! This update brings controller support and many other features and fixes.

If you just want a download, add our repo to your preferred package manager (Cydia, Sileo, Zebra, etc): https://cydia.oatmealdome.me

Or you can just click here to go directly to DolphiniOS’s package.

Want to support us? https://patreon.com/oatmealdome (DolphiniOS will always be free and open-source. We use the money for additional hardware, server costs, and other additional costs that may pop up. Please note that you are NOT supporting the official Dolphin project by donating to us – instead, you would be donating in support of the iOS application’s development.)

Looking for the PC version of Dolphin? Get it from https://dolphin-emu.org! If you wish to support the official Dolphin project and its developers, consider visiting their website without an ad blocker enabled.

Changelog

Version 2.0.2 has been released. Here are the changes:

Fixed changing Wiimote type on ports 2, 3, and 4.

Version 2.0.1 has been released. Here are the changes:

Fixed sideways Wiimote not appearing.

Fixed duplicate DolphiniOS icons after updating. You will be prompted to respring after installing the update.

Fixed text being cut off in the settings menu when using a custom font.

Here are the changes for 2.0.0:

Physical controllers can now be used. A controller customization menu can be found in Settings. Read more below this changelog.

You can now attach multiple controllers to the touchscreen. Change which controller is visible via the in-game settings menu. The first Wiimote or GameCube controller that is attached to the touchscreen is shown by default. If no controller is attached to the touchscreen, the touchscreen controller will not appear.

There is now a touchscreen Classic Controller layout made by goob47.

Haptic feedback and customizable transparency has been added to the touchscreen buttons by goob47.

A new settings menu for the touchscreen controller has been added. Find it under the Controllers settings menu.

The double-tap to bring down the top bar has been replaced by a swipe down from the top of the screen. A second swipe down will open Notification Center.

Some interface options have been added. The top bar can be forced to always be down. The game image can be centered on compact devices. (This is helpful for CarBridge.) Find these in Settings -> Config -> Interface.

The home indicator on iPhone X-style phones now automatically hides itself if the screen is not touched. In landscape, the game image now reaches the bottom of the screen.

DolphiniOS will now notify you when updates are available.

Rewritten emulation UI code for better performance and stability.

Fixed failed installation when users have a Documents file instead of a folder.

Fixed some crashes when closing DolphiniOS. (PR 8530 by s-daveb: https://github.com/dolphin-emu/dolphin/pull/8530)

NOTE: Due to an Apple server bug involving the application’s bundle ID, some pop-ups / tutorials that you’ve seen before will show up again after you update. Sorry for the inconvenience. For those who are interested, the new bundle ID is me.oatmealdome.DolphiniOS .

How to Connect Your Controller

MFi Controllers

If your controller is “MFi certified” (made for iOS or tvOS devices), then you can use it with Dolphin.

For wireless MFi controllers, put the controller into pairing mode, then connect it via Bluetooth. How exactly you put the controller into pairing mode will depend on the specific controller you have. Consult the manual or Google.

For wired controllers, just plug it into your device and it will automatically connect.

OTHER CONTROLLERS

Support for other controllers depends on which iOS version you have, and which controller you want to connect.

If you have iOS 13, you can easily connect to DUALSHOCK 4 and Xbox Wireless Controllers. Refer to the videos linked below.

Note that iOS 13 does not support some features on these controllers like the built-in motion sensors, the touchpads, etc. In addition, iOS 13 may not recognize some buttons. To use these features and buttons, you can use the “DSU Client” feature together with a program running on a PC. See the section below for more information.

If you are running iOS 12 or your controller is not supported by iOS 13 (for example, a Nintendo Switch Pro Controller) then you will need to install the nControl tweak. Buy it from Packix here: https://repo.packix.com/package/com.nito.ncontrol/. Please note that we are not able to help with nControl or Packix issues. If you have any problems, contact nitoTV or Packix support.

How to Select Your Controller

Selecting your controller is very straightforward. You have the option to load a default configuration profile that should work on most controllers. If you are having problems or you dislike the button mappings, you can always change it.

How to Change the Bindings

Changing the bindings of your controller is also very simple. To change a binding for a button or axis, tap what you want to be changed and then press the desired button or move the desired stick in a direction.

If you accidentally pressed a binding, just wait for a few seconds. DolphiniOS will exit binding mode automatically if no input is received.

If you want to remove a button binding, swipe left on its row and press “Clear”.

Saving and Loading Configurations

You can easily save and load your customized configurations. This allows you to have game-specific configurations. Just load the desired configuration before starting a game.

Saving

Loading

Changing the Wiimote’s Extension

By default, DolphiniOS connects a Nunchuk to emulated Wiimotes. However, some games may require you to disconnect the Nunchuk or use a different extension, like the Classic Controller.

To change the connected extension:

How to Enable the Touchscreen Pointer

For users of DolphiniOS 1.1.2 and below, you should know that the concept of motion modes has been removed. However, you can still enable the touchscreen pointer (the “On (Without Pointer Emulation)” motion mode) in the Controller settings menu.

Turning “Point” on will enable pointer emulation, and turning it off will disable it.

How to Use the DSU Client

The DSU Client feature allows you to connect to a server that supports the cemuhook protocol. DolphiniOS can use features of a controller connected to a cemuhook server which iOS may not support.

For example, while iOS 13 can connect to a DUALSHOCK 4, it cannot read the controller’s motion sensor data. With a cemuhook server, DolphiniOS can read the DUALSHOCK 4’s motion data from the server and use it in Wii games.

For more information, and to find links to cemuhook servers, please consult the Dolphin Wiki: https://wiki.dolphin-emu.org/index.php?title=DSU_Client

In this tutorial, we will be using DS4Windows to be able to use all of the DUALSHOCK 4’s features, such as the gyroscope. You can get DS4Windows from here: https://github.com/Ryochan7/DS4Windows/releases (You can use any cemuhook server you like, but the steps on how to set it up may be different.)

To enable the DSU Client, go into Settings, tap “Controllers”, and tap “DSU Client”.

Enter the IP of your computer and the port that DS4Windows is running on (usually 26760).

Next, connect your DUALSHOCK 4 controller to Windows. DS4Windows should automatically recognize it.

Under the Settings tab, look for the UDP Server section. Change the IP there to your computer’s IP. (It’s the same one that you entered in DolphiniOS.) After that, you may have to press the “Start” button in the bottom right corner. Finally, go to Controllers and select your DSU device under “Devices”.

Back on DolphiniOS, switch the DSU Client to enabled. Change the device for the Wiimote or GameCube Controller to the DUALSHOCK 4 and rebind all of your buttons and sticks. (Motion sensors are automatically bound once you select a DSU Client device.) You should now be able to use features like the built-in gyroscope on your DUALSHOCK 4.

Please note that you may need to disable and re-enable the DSU Client option on DolphiniOS after you restart the app.

Closing words

Need help? Want to stay up to date? Join our Discord server: https://discord.gg/2BNZE95

Looking for the source code? https://github.com/OatmealDome/dolphin/tree/ios-jb

Found a bug or some other issue that is related to DolphiniOS? https://github.com/oatmealdome/DolphiniOS-Issue-Tracker