DSU Client

From Dolphin Emulator Wiki
Revision as of 19:01, 28 October 2019 by Mbc07 (talk | contribs) (Some updates, finished "Setting up" section. Remaining sections should be ready later today)
Jump to navigation Jump to search

Since 5.0-11083, Dolphin can act as a client of the DSU protocol (often referred as CemuHook Motion Provider protocol), which enables the emulator to receive motion and input data from compatible applications implementing the server-side part of the protocol. Those servers works as a middle-man between specific input devices and client applications like Dolphin in order to provide motion data not accessible through the other input APIs Dolphin supports, like DInput, XInput and SDL, although they also provide normal buttons and axis data as well.

DSU Server Applications

A list of known servers are listed below. Any server not listed here that works with CemuHook should also work with Dolphin 5.0-11083 and newer.

Linux

As of 5.0-11083, motion axis of DualShock 3 and 4 controllers can be directly mapped in Dolphin through evdev input API. Additionally, the following servers are available:

  • ds4drv (TheDrHax fork): compatible with all DualShock 4 controllers.
  • linuxmotehook: compatible with Wii Remotes. Not recommended, as Dolphin can communicate directly with them.

Windows

  • DS4Windows (Ryochan7 fork): compatible with all DualShock 4 controllers.
  • BetterJoyForCemu: compatible with Nintendo Switch Joy-Con and Pro Controllers.
  • Steam Gyro for CemuHook: compatible with Steam Controllers.
  • ScpToolkit (Nefarius fork, requires patching): compatible with DualShock 3 and older DualShock 4 controllers (model CUH-ZCT1x). Since ScpToolkit is unmaintained and has connectivity issues with the newer DualShock 4 controllers (model CUH-ZCT2x), its usage is recommended only with DualShock 3 controllers. For DualShock 4 controllers, use DS4Windows instead.
  • WiimoteHook: compatible with Wii Remotes. Not recommended, as Dolphin can communicate directly with them.

macOS

No known servers.

Android

Setting up

DSU Server

  1. Download and install a suitable server application for your OS and input device.
  2. Follow the application instructions to connect your input device.
  3. Depending of the application, manually enable the "UDP Server" option (or similar).

Also, take note of the IP Address and Port where the server will be listening. On most cases, they will default to IP 127.0.0.1 at port 26760 but this might be completely different, for example, when using an Android device as motion source.

Dolphin

  1. Make sure you're running Dolphin 5.0-11083 or newer.
  2. Go to Controller Settings => Alternate Input Sources.
  3. On the DSU Client tab, mark the "Enable" checkbox then enter the IP Address and Port where the server application is listening.

If everything is working, you should now be able map button, axis and motion sensors of the input device normally.


Using DSU Protocol in Dolphin

To do

Troubleshooting

To do