Skip to content

DSU Motion Server

hifihedgehog edited this page Mar 19, 2026 · 14 revisions

DSU Motion Server

PadForge streams gyroscope and accelerometer data from physical controllers to emulators over UDP, enabling motion controls in Wii, Wii U, and Switch games running in Dolphin, Cemu, Ryujinx, and other emulators.


What Is DSU?

DSU (DualShock UDP) is a network protocol created by the cemuhook project. Despite the name, it works with any motion-capable controller — not just PlayStation. It is the standard way emulators receive motion data. PadForge acts as the server; emulators connect as clients.

Supported Emulators

Emulator Platform DSU Name in UI
Cemu Wii U DSU1 / By Slot
Dolphin Wii / GameCube DSUClient
Ryujinx Switch CemuHook compatible motion
Yuzu (discontinued) Switch CemuHook motion server
Lime3DS / Citra 3DS CemuHook motion server

Any application requesting a "cemuhook motion server" or "DSU server" speaks this protocol.


Motion-Capable Controllers

Only controllers with built-in gyroscopes and accelerometers report motion data.

Has Motion Sensors No Motion Sensors
DualSense (PS5) Xbox 360
DualShock 4 (PS4) Xbox One
Switch Pro Controller Xbox Series
Switch 2 Pro Controller Most third-party USB gamepads
Joy-Con (left and right)
Steam Deck built-in controller

On the Devices page, motion-capable controllers show gyro/accel data in their input state display.


Getting Started

  1. Connect a motion-capable controller.
  2. On the Dashboard, check Enable DSU motion server (cemuhook).
  3. The status indicator turns green and shows the port (default: 26760).
  4. Configure your emulator to connect to 127.0.0.1 port 26760 (see guides below).
  5. Start the PadForge input engine (play button on Dashboard).

Motion data now streams to the emulator.


Emulator Setup Guides

All guides assume the default port 26760. Substitute if changed.

Note: 127.0.0.1 means "this computer" (localhost) — correct when PadForge and the emulator run on the same machine.

Cemu (Wii U)

  1. Go to Options > GamePad motion source > DSU1 > By Slot.
  2. Set server address to 127.0.0.1, port to 26760.
  3. Select Slot 1.
  4. Launch a motion-enabled Wii U game (e.g., Splatoon, Breath of the Wild).

Dolphin (Wii / GameCube)

  1. Go to Controllers.
  2. Set Wii Remote to "Emulated Wii Remote" and click Configure.
  3. Find Motion Simulation or Motion Input and set source to DSUClient.
  4. Click Configure next to DSUClient and enter 127.0.0.1:26760.

Ryujinx (Switch)

  1. Go to Options > Settings > Input.
  2. Under Motion, enable Use CemuHook compatible motion.
  3. Set server address to 127.0.0.1, port to 26760.
  4. Click Save.

Yuzu (Legacy)

  1. Go to Emulation > Configure > Controls.
  2. Under Motion, click Configure.
  3. Add a CemuHook motion server at 127.0.0.1:26760.

The 4-Slot Limit

The DSU protocol caps motion data at 4 controller slots (a protocol limitation).

PadForge supports up to 16 virtual controller slots, but only slots 1-4 broadcast motion via DSU. Slots 5-16 are skipped.

  • Single-player: assign the motion controller to slot 1.
  • Local multiplayer with motion: up to 4 controllers.
  • Motion controller in slot 5 or later? Move it to slots 1-4 to enable DSU.

Port Configuration

Default UDP port: 26760 (the standard cemuhook port all emulators expect).

  • Port must match the emulator's configuration.
  • No other DSU server (BetterJoy, DS4Windows, etc.) can occupy the same port.
  • Binds to localhost (127.0.0.1) only — no firewall rules needed when the emulator runs on the same machine.

"Port already in use": Another application runs a DSU server on 26760. Stop it or change PadForge's port (e.g., 26761) and update the emulator to match.


Axis Mapping

PadForge automatically translates SDL3 motion data to the DSU/DualShock 4 coordinate convention. Tested with DualSense, DualShock 4, and Switch Pro Controller. No manual axis configuration required.


Troubleshooting

Problem Solution
Emulator does not detect motion Confirm DSU server shows "Running" on the Dashboard and the engine is running (play button).
Port already in use Stop other DSU servers (BetterJoy, DS4Windows, etc.) or change PadForge's port.
Motion directions wrong Report as a bug with the controller model.
Motion only works for first controller DSU supports 4 slots max. Move the motion device to slots 1-4.
No motion sensors on device Not all controllers have gyroscopes (e.g., Xbox). Check the Devices page.
Emulator shows "connected" but no data The physical controller must be assigned to a virtual controller slot, not just detected on the Devices page.

Related Pages

Clone this wiki locally