godsend-ps4

Use the virtual controller

The Controller page is a DualShock 4 rendered in the app. It sends input to the console over a WebRTC data channel.

Set up

  1. Install Control4Free once: Homebrew, then Install on its card. It also works launched from the console’s own homebrew menu.
  2. Open Controller. The header shows “service ready” when the payload answers on port 4264.
  3. Pick a controller slot (one to four players can be driven).
  4. Choose Connect. The pad lights up when the channel opens.

Using it

How it works

The app’s webview owns the peer connection: it creates the offer, keeps two negotiated data channels (control on id 0, input on id 1) and streams the input message at 60 Hz. The native side only posts the offer, because the payload refuses a request whose Origin is not its own or null, and a webview always sends one. That is why the exchange runs in Rust while the channels run in the page.

If the channel drops, the page says so and closes the pad. Reconnect after the console finishes loading.

Limits