Ps4 – How to use unlicensed controllers on the PS4

controllersps4

Given that I use a PS4 and already have a few controllers that I want to use with the PS4 instead of buying almost the same controller licensed for the PS4 or void warranties of controllers, what options do I have?

Best Answer

Disclosure, I'm not the author of this software, just a user with the problem in the question who prefers FOSS software.

Use GIMX over Bluetooth with the Playstation 4

In this example you use a desktop, laptop or Raspberry Pi running Linux to which you connect the controllers and input devices you want to use plus a Dualshock 4 (DS4) controller. The DS4 in this setup is required for authentication and will get polled periodically by the Playstation 4 (PS4), so it needs to stay connected this way. While you can still use the DS4, I do recommend a spare DS4. All input and authentication data is sent from the computer to the console via Bluetooth. The adapter you are going to build from a Teensy board in the next section is required for the initial pairing process of a new controller to the PS4. Basically the adapter is a man in the middle between the DS4 controller and the PS4 during the initial connection setup.

More information is available on the blog, the FAQ, the forum and the wiki.

Hardware requirements and cost

The required Teensy 2.0 USB development board costs about $16. I bought mine from an online store in Germany for about 22€ with shipping included.

Depending on the reliability of your existing Bluetooth solution you may need to buy a Bluetooth dongle with a certain chip, prices range from $5 to $15. A USB to serial TTL converter for the complete DIY adatper isn't needed in this example, but since these are cheap you might want to get one too.

You can find suggestions for other hardware components to build your DIY adapter, but the Teensy 2.0 is recommended. Don't buy a Teensy with another version number like Teensy 3.0, that is a different chip which is not supported.

GIMX supported consoles and controllers

As far as I am aware Xbox, Xbox 360, Xbox One, Playstation 3 and Playstation 4 are currently supported.

It doesn't matter if the input devices are connected to the computer via USB, Bluetooth or something else. You can use every controller or device that is detected by the host operating system – Linux in this case – as an input device and you can map buttons and functionality as you like.

Playstation 4 force feedback wheel support functionality that currently needs funding.

Installation and instructions for pairing the DS4

On Ubuntu download and install the Debian package for your platform. You should also install the gksu package, otherwise you might get the "Can't restart bluetoothd" error message.

In this example we only need the EMUPS4PAIRING firmware and the Teensy Loader to flash it. You can download the other firmwares here. Extract contents of the individual zip files after download.

Pairing the DS4

Note that pairing does not need to be performed every time. If you use a dedicated DS4 regularly it ideally needs to be done only once. After that you can put the Teensy somewhere safe until you need it.

  1. Flash the Teensy board with the firmware
    • Be sure that you have followed the instructions to install 49-teensy.rules and gave the binary proper permissions, otherwise you would need to use gksu.
    • Start the Teensy Loader, select the firmware (atmega32u4.hex), connect the Teensy, enable automatic mode and push the button on the Teensy board. You can disconnect the Teensy after the flashing succeeded.
  2. Create a new connection
    • Start the GIMX launcher, select Bluetooth/PS4 for output and click the new button to create a new pairing connection.
    • In the next window select the Bluetooth dongle you want to use.
    • Now connect the DS4 you want to use to your computer with a USB cable and confirm the dialogue box. Select the DS4 in the next window, then disconnect it.
    • Connect the Teensy to your computer and confirm the dialogue box.
    • Connect the Teensy to the PS4, wait a few seconds and connect the Teensy with your computer again.

Troubleshooting: Remove devices in the Bluetooth menu of the PS4 when the DS4 connects directly to the PS4 instead of GIMX.

Video demonstration

I cramped a test setup onto my desk and made a video demonstrating paring and usage for GIMX version 3.5, it's only about 2:30 minutes long.

Don't be confused about the red button on the fightstick not working as expected in the video, it was swapped with another button in my custom configuration.

Using GIMX with the PS4

Controller configuration

  • You can download configurations from within GIMX, search the forum for a particular configuration or create your own, which is nothing more than detecting an event on the controller device and assigning an action.
  • Note that triggers L2/R2 on Playstation and LT/RT on Xbox are axis events, even if these are just buttons on your controller.
  • You can ignore everything about mouse calibration if you do not want to setup a mouse.
  • You can include multiple devices in your configuration, but they must all be connected when you start the connection, GIMX will warn you about devices that are not connected.

Start the connection

  1. Open GIMX launcher if you haven't and select the appropriate parameters.
    • Output: Bluetooth/PS4
    • Pairing: the one you just created
    • Input: Physical devices
    • Config: the one you want to use
  2. Click the Start button.
  3. Push the PS button on the DS4 you paired.

Press Shift+Esc on the keyboard to end the connection.

You may need to restart your bluetooth service for normal desktop operation, example on Ubuntu: sudo service bluetooth restart