RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Found all fixes for most Dualshock 4 bluetooth issues! But need help from someone with Linux knowledge!

    Scheduled Pinned Locked Moved Help and Support
    4 Posts 2 Posters 6.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TitlesPending
      last edited by

      So, after lots of issues with the Dualshock 4 and RetroPie, I think I've stumbled my way into every necessary fix to make it function flawlessly. The first steps could be handled with a few commands in the command line, but I'm no programmer, and the last step is waaaaay beyond my capabilities. Is there any Linux programmer out there who would be willing to write out a step-by-step guide for dummies?

      I'll start with the first few steps. Before I list them, you can use on-board bluetooth, but it's pretty weak (especially in a case), so I would suggest getting a compatible BT dongle. Mine is an ASUS USB BT-400 which supposedly works quite well for general purposes.

      1. Bluetooth can't find controller. Fix: Get the latest update of bluez. Open the command menu, and type <sudo apt-get update> , and when it's done, type <sudo apt-get upgrade>. Bluez gets updated along with everything else in RetroPie. Then connect through the Bluetooth Menu, and define buttons through the configure controller option in the RetroPie start menu.

      2. Controller will now connect, but has various performance issues. Fix: install ds4drv drivers, disable onboard bluetooth to ensure it uses the dongle, and set the system up to connect to your DS4 when you boot it up (by simply using the pair function > holding the PS button + share for three seconds). All these steps are located in this lovely guide: [https://github.com/retropie/retropie-setup/wiki/Setting-up-a-PS4-controller]

      3. Controller now connects, but some buttons don't work as intended (i.e. shoulder buttons don't automatically become L and R in most emulators). Fix: Manually input key settings. Use the Select + Triangle hotkey in any emulator, navigate to Settings > Input, and manually tell it which buttons to make L and R, etc. Then, save your settings for that emulator.

      4. Controller finally works as intended, but there is severe input lag. If you go to the command menu and wait, it will display frequent messages telling you there is a low signal. Fix: correct a typo in the Sony driver for the controller.

      This is where the fix gets over my head. It took me a long time to track down what was happening here, but it seems that a few people figured out the problem while trying to connect DS4 to Steamboxes (which also use Linux). It turns out that a typo in the settings of the DS4 driver limits the number of signals that the controller sends out in a certain period of time, resulting in what the Pi registers as a weak signal. A value labeled as 0xB0 was likely supposed to read 0x80.

      However, the way to fix this involves way more Linux knowledge than any of the simple fixes I've done thus far.

      I'm posting the link to the original forum post and the original fix. If anyone out there is willing to write a step-by-step guide showing us how to pull this off on a Pi (mine is a Pi3), you would be saving us all from soooooo many headaches.

      Here's the original forum post (the solution is way down toward the end of the post): https://github.com/chrippa/ds4drv/issues/42
      And here's the proposed fix: http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg941718.html

      Thanks for all your help! You're a great community. Rawk on.

      T 1 Reply Last reply Reply Quote 1
      • T
        TitlesPending @TitlesPending
        last edited by TitlesPending

        To put it simply:

        We need someone who can walk us through the process of compiling a kernel module for a rasp pi.

        Also, I'm not sure if the information still applies to the "hid-sony" driver mentioned in the thread, or if this needs to be translated to a fix for the ds3drv driver.

        Thanks for your help.

        1 Reply Last reply Reply Quote 0
        • B
          bazmonkey
          last edited by

          This patch in hid-sony.c has been committed over a year ago. If you're running up-to-date RetroPie (namely a kernel version > 4.3), you've already got this fix.

          T 1 Reply Last reply Reply Quote 1
          • T
            TitlesPending @bazmonkey
            last edited by

            @bazmonkey le sigh. thanks for the info.

            same problem description... must be something different =(

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.