Help:Controller Configuration

From RPCS3 Wiki
Revision as of 15:05, 12 May 2019 by HerrHulaHoop (talk | contribs) (Added note on PR 5933 as users testing that PR will be shown this URL in the error message.)

Using DualShock 3 controller

On Windows

Important: The DualShock 3 (DS3) controller cannot be used on Windows over Bluetooth. Users must connect the controller via USB cable.

Currently there are 2 methods of setting up your DualShock 3 (and SIXAXIS) to RPCS3.

  • The first is to use third-party tools such as ScpToolkit and selecting the XInput pad handler in RPCS3. While this option allows users to connect the controller over USB or Bluetooth, features unique to the DualShock 3 such as pressure-sensitive buttons or motion controls will no longer function. However, these tools have the advantage of being able to work with virtually any PC game.
  • The second and recommended method is to use RPCS3's dedicated DualShock 3 pad handler. This is done by installing your controller as a generic USB device and then allowing RPCS3 to handle the controller. While this option lets users take advantage of features such as pressure-sensitive buttons and motion controls, bluetooth functionality will be unavailable. To use RPCS3's dedicated DualShock 3 pad handler:
    1. Disable all third-party tools accessing the DualShock 3 (such as ScpToolkit)
    2. Install generic USB drivers. Use Zadig and install WinUSB for your DualShock 3. [Subject to change based on PR 5933]
    3. Press the PS button (in the middle of the pad) to allow the DualShock 3 to start sending reports to RPCS3.
    4. Select RPCS3's dedicated DualShock 3 pad handler in the Gamepad Settings menu.

On Linux

The DualShock 3 on Linux works with HIDAPI, allowing for the controller to work through USB as well as Bluetooth. To use the DualShock 3 Backend, users need to create a file called /etc/udev/rules.d/99-ds3-controllers.rules (you will need root permissions to create this file), and fill it with the following:

# DualShock 3 over USB
KERNEL=="hidraw", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0268", MODE="0666"

# DualShock 3 over Bluetooth
KERNEL=="hidraw*", KERNELS=="*054C:0268*", MODE="0666"

After this you must either

  1. restart your computer for these settings to apply or
  2. run sudo udevadm control --reload-rules and replug in your controller

This will allow RPCS3 to communicate with the DualShock 3. Users can then select RPCS3's dedicated DualShock 3 pad handler in the Gamepad Settings menu.

Using DualShock 4 controller

On Windows

The DualShock 4 on Windows works with HIDAPI, allowing for the controller to work through USB as well as Bluetooth. There aren't any additional steps required and the controller should just work with RPCS3's dedicated DualShock 4 pad handler. However, please note that third-party tools like ScpToolkit or DS4Windows may interfere with RPCS3 and it is recommended to disable all such tools.

On Linux

The DualShock 4 on Linux works with HIDAPI, allowing for the controller to work through USB as well as Bluetooth. To use the DualShock 4 Backend, users need to create a file called /etc/udev/rules.d/99-ds4-controllers.rules (you will need root permissions to create this file), and fill it with the following:

# DualShock 4 over USB
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"

# DualShock 4 Wireless Adapter over USB
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"

# DualShock 4 Slim over USB
# KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"

# DualShock 4 over Bluetooth
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666"

# DualShock 4 Slim over Bluetooth
# KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0666"

After this you must either

  1. restart your computer for these settings to apply or
  2. run sudo udevadm control --reload-rules and replug in your controller

This will allow RPCS3 to communicate with the DualShock 4. Users can then select RPCS3's dedicated DualShock 4 pad handler in the Gamepad Settings menu.