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 recommended method is to use RPCS3's dedicated DualShock 3 pad handler. This is done by installing the official DualShock 3 driver from Sony 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:
- Disable all third-party tools accessing the DualShock 3 (such as ScpToolkit)
- Download PlayStation Now for Windows and install it. During the installation process, you will be prompted with an option to install drivers for DualShock controllers. Accept this and install the drivers.
- After completion of all installation, users can uninstall PlayStation Now if they wish to do so. The drivers installed for the DualShock 3 will still remain after such uninstallation.
- Press the PS button (in the middle of the pad) to allow the DualShock 3 to start sending reports to RPCS3.
- Select RPCS3's dedicated DualShock 3 pad handler in the Gamepad Settings menu.
- The other method 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.
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
- restart your computer for these settings to apply or
- 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
- restart your computer for these settings to apply or
- 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.
Analog sticks not centered with evdev pad handler
When using the evdev pad handler on Linux, some users may encounter cases where the analog sticks of the controller are not centered but stuck in the corner of the movement zone. This issue occurs when incorrect drivers are used for the controller.
Usually, analog sticks have a range from -x
to +x
while triggers use only a positive range from 0
to +x
. However, some controllers use positive ranges for analog sticks as well which does not directly work with RPCS3's implementation. Hence, the following workaround is required:
- Navigate to
~/.config/rpcs3/
and openevdev_positive_axis.yml
. If this file does not exist in the directory, create it. - Change the following lines from false to true:
Before After ABS_X: false ABS_Y: false ABS_RX: false ABS_RY: false
ABS_X: true ABS_Y: true ABS_RX: true ABS_RY: true
This is not an exhaustive list of options available. Users are requested to toggle other options as required by their specific controller or driver.