RPCS3 / rpcs3

PS3 emulator/debugger
https://rpcs3.net/
GNU General Public License v2.0
15.2k stars 1.89k forks source link

Dualshock 4 controller is not recognized as connected // Logs show check_add_device: GetCalibrationData failed! #11343

Open exiarc opened 2 years ago

exiarc commented 2 years ago

Please do not ask for help or report compatibility regressions here, use RPCS3 Discord server or forums instead.

Quick summary

Tried to connect a dualshock 4 controller to the mac version of RPCS3: rpcs3-v0.0.20-13154-ae5c0b71_macos as listed here: https://cirrus-ci.com/task/5345818491224064

Reset Dualshock 4 (through reset button on back of controller) and connected controller through Anker 3-in-1 cable, the controller does not work on RPCS3 but if I try to see if controller is recognized by Steam's controller handler, it will work

All testing has been conducted through a wired connection as stated above, the MacBook Pro also has the bluetooth settings turned OFF and controller works on wired to an authentic PS3 and Steam (also through the same wire)

Details

Please describe the problem as accurately as possible.

0. Make sure you're running with settings as close to default as possible

1. Please attach RPCS3's log.

3. Please attach screenshots of your problem.

Screen Shot 2022-01-06 at 5 05 12 PM

4. Please provide comparison with real PS3.

Controller connects with PS3 but since it is a dualshock 4 controller (not a dualshock 3) rumble functionality doesn't work when connected to PS3. The rumble functionality does, however, work with Steam. Connection to PS3 was tested to work fine on both wired and wirelessly.

5. Please provide your system configuration:

Please include.

I followed HoldTheMourning's alternative method of using Steam's controller handler to no avail. The result was that Steam would recognize the controller however RPCS3 does not show the controller handler with xinput and if I scroll to the Dualshock 4 it will still be the same issue where it shows the controller as disconnected

1) First make sure you’ve enabled Playstation Configuration Support (or whichever option applies for your controller) in steam controller settings (open big picture mode > settings > controller settings > enable it).

2) Exit big picture mode and add the RPCS3.exe to your Steam library as a non-steam game (Click add a game in the bottom left corner on Steam).

3) Run RPCS3 via steam and in the emulator gamepad settings, select xinput in the handler drop down menu on the top left. Remember to click Save and exit.

NOTES: All initial installation instructions came from the Andrew Tsai's video that follow's Nas's MacOS build of RPCS3 here: https://www.youtube.com/watch?v=akJ5rqrBZKQ&t=0s

Megamouse commented 2 years ago

xinput is a windows only thing.

Jayian1890 commented 2 years ago

xinput is a windows only thing.

So that means no wireless support for MacOS? Seems kind of hard to believe given it works in literally every other gaming type program be it CrossOver, native or otherwise.

mavethee commented 2 years ago

I hate to be works for me guy, but tested couple of PR builds and mentioned in your issue. DualShock 4 works fine through the USB cable or via Bluetooth since Monterey has native support for it. Make sure you paired DS4 with your Mac and refresh in RPCS3 settings or just find a cable to connect controller. Dongles are cheap.

exiarc commented 2 years ago

For all testing the connection to the Macbook Pro is through a wire, it works perfectly fine (wired) through Steam's input handler. I did not use Bluetooth to potentially limit any noise that BT may have with MacOS Monterey.

Steps I have taken are:

mavethee commented 2 years ago

Works without issues by USB cable and Hub. No need for Steam and other garbage. I have shitty cable so it disconnects but reconnects as soon as I will refresh it in settings.

Zrzut ekranu 2022-01-9 o 14 03 57
Jayian1890 commented 2 years ago

USB isn’t the issue. At least with me. It’s the bluetooth aspect. Kind of annoying having to use a 10 foot cable to play lol. I know it’s not exactly high priority. But it would be nice to be able to use bluetooth instead of a cable.

mavethee commented 2 years ago

USB isn’t the issue. At least with me. It’s the bluetooth aspect. Kind of annoying having to use a 10 foot cable to play lol. I know it’s not exactly high priority. But it would be nice to be able to use bluetooth instead of a cable.

Zrzut ekranu 2022-01-9 o 14 18 20

Bluetooth should work just fine, tried two different controllers, RPCS3 detects them just fine.

Jayian1890 commented 2 years ago

With USB

Screen Shot 2022-01-09 at 7 22 11 AM

Without USB

Screen Shot 2022-01-09 at 7 21 59 AM

Perhaps my controllers aren’t “official” for some reason. I did get them off eBay. :(

mavethee commented 2 years ago

@sectnic @Jayark365 try this build: https://cirrus-ci.com/task/5999010270937088

Zrzut ekranu 2022-01-9 o 14 37 18

Should work fine.

Jayian1890 commented 2 years ago

im on that build already heh LLVM ftw. I’ll order another controller from Amazon this time and see what happens.

mavethee commented 2 years ago

im on that build already heh LLVM ftw. I’ll order another controller from Amazon this time and see what happens.

Yeah, but better go with official one this time :P Sometimes it's not really about RPCS3 but macOS itself and it's weird support for certain controllers. PS4/PS5, XO/XOX are fully supported, PS3 one not much.

exiarc commented 2 years ago

@mavethee I tried the build you suggest to no avail. The steps I took were:

  1. Download the Mac build version 28cf422f Alpha you mentioned above
  2. Trash current RPCS3 version and clear the trash bin
  3. Drag build 28cf422f Alpha into Applications and install 4.88 PS3 firmware
  4. Connect DS4 controller to MacBook Pro through BT connection
  5. Opened "Pads" and selected Dualshock 4 on dropdown list
  6. Controller was not recognized so clicked on refresh button
  7. Repeated Step 5 with various wired USB-A to micro-USB cables

Result was still the same, the controller would not show up as detected on RPCS3

Checks to confirm the controller was working:

The controller was purchased at a big box electronics store so it should not be counterfeit. At this moment it seems that Steam is the only consistent software to recognize the controller input without issues. I've tried to connect the controller already with my friend's controller he received with his PS4 so changing out for a known official controller the issue still persists.

Screen Shot 2022-01-11 at 1 58 38 PM

Screen Shot 2022-01-11 at 1 55 27 PM

Screen Shot 2022-01-11 at 1 55 07 PM

Jayian1890 commented 2 years ago

Hmmm. Perhaps it has something to do with how Mac reads controller data. All my controllers work in steam as well as on windows. But don’t on Mac. I was ready to chalk it up to all 3 of them being counterfeit. But the evidence is mounting.

mavethee commented 2 years ago

@sectnic

  1. Does it work with PS4?
  2. Is it official? Logs are pretty sus to me lol
  3. Do you have any other to test? For me, I have two DS4s, they been treated like shit over 6 years and still work fine. Zrzut ekranu 2022-01-12 o 09 32 53
exiarc commented 2 years ago

@mavethee

  1. Yes, the controllers both work perfectly fine with a PS4, one of the controllers I mentioned is the controller that came from my friend's PS4. I also tested both controllers on the PS3 that I personally own and the controllers work as intended
  2. Yes, both controllers are official. One of them is directly from a big box electronics store and the other was from my friend's PS4
  3. I do not have any others to tests but the official known controller from the PS4 should in theory work without any issues. I will sound a bit insensitive but I'm just here to report the issues that I'm facing along with the necessary documentation, I don't understand why you feel the need to say "logs are pretty sus" and other comments like "No need for Steam and other garbage"

I've even documented my attempt to resolve the issue by searching on the #help channel of discord and wrote that into my initial documentation. It seems to work fine for you but please don't downplay my attempts to document and mitigate my issue

Guilosk commented 2 years ago

I have the same issue with my Dualshock 4. There is a update?

EzioZz commented 2 years ago

@mavethee

  1. Yes, the controllers both work perfectly fine with a PS4, one of the controllers I mentioned is the controller that came from my friend's PS4. I also tested both controllers on the PS3 that I personally own and the controllers work as intended
  2. Yes, both controllers are official. One of them is directly from a big box electronics store and the other was from my friend's PS4
  3. I do not have any others to tests but the official known controller from the PS4 should in theory work without any issues. I will sound a bit insensitive but I'm just here to report the issues that I'm facing along with the necessary documentation, I don't understand why you feel the need to say "logs are pretty sus" and other comments like "No need for Steam and other garbage"

I've even documented my attempt to resolve the issue by searching on the #help channel of discord and wrote that into my initial documentation. It seems to work fine for you but please don't downplay my attempts to document and mitigate my issue

any search key words? How to find the document you write in discord #help channel

EzioZz commented 2 years ago

I notice, rpcs3 use a thirdpart api name "hidapi", which might be out of date. In WWDC 2019, Apple.Inc released a new GameController framework (https://developer.apple.com/videos/play/wwdc2019/616/) Is it a feasible choice to import the framework to rpcs3 as a more genric generic controllers on mac?

EzioZz commented 2 years ago

My ds4 works fine on windows, but failed on macos 12.3.1

Milodmg commented 2 years ago

I have the same problem, works fine in other game and my ps4 except on RPC3. I tried reset the ds4 and connect with cable and still no working.

Jayian1890 commented 2 years ago

I spoke to the macOS developer some time back. He’s aware controllers are faulty on macOS. But. If I recall correctly. He said. There’s no fix as of yet. It’s a macOS limitation due to the way macOS handles Bluetooth and usb devices. It works via usb. But not Bluetooth.

EzioZz commented 2 years ago

this video may help you fix controller issue on Mac https://www.youtube.com/watch?v=bylk5VRlJPE

jcchikikomori commented 2 years ago

this video may help you fix controller issue on Mac https://www.youtube.com/watch?v=bylk5VRlJPE

That doesn't work. I tried playing Tekken games, and my character keeps jumping, or the face buttons keeps replacing with random keys. Maybe it works on some controllers, however not for me (8BitDo)

Milodmg commented 2 years ago

this video may help you fix controller issue on Mac https://www.youtube.com/watch?v=bylk5VRlJPE

It´s works! Thanks!

shinra-electric commented 2 years ago

@sectnic A fix for DS4 disconnecting from Bluetooth has been merged to master. Can you try it and close this issue if it works?

miguelcobain commented 1 year ago

Tried the latest available mac build with an 8BitDo SN30 pro+ controller. Still getting the GetCalibrationData failed error.

ralph303 commented 1 year ago

My wireless DS4 works fine with RPCS3 (0.0.24-14241-92b08a4f Alpha | master) and MacOS 12.6 via bluetooth. But if your battery of the controller is low and the bluetooth connection ends, then RPCS3 freezes. As this happens very seldom, it's not really an important issue.

Jayian1890 commented 1 year ago

I concur, the issue seems to have been fixed. My DS4 that previously didn't work, now works wirelessly

pzagawa commented 3 months ago

Can't believe what I'm reading here. A lot of guess and useless ideas.

Of course, RPCS3 is using obsolete hid api for accessing bluetooth directly, which should not be done in Apple world. So, macOS version needs to use Apple suggested high level framework:

https://developer.apple.com/documentation/gamecontroller/

So, if your game controller works, it's just luck or old macOS version.

RPCS3 needs native macOS support to work properly and be future proof, no direct porting.

BTW, please do not force me to use discord. The only place to report code issues is github.

mavethee commented 3 months ago

This was dead for two years who asked for your discord? Just make a PR, tough guy 🤓 Using DInput is cursed enough, 3rd party controllers and macOS will be pain in the ass. I'm lucky as shit then considering both DualShock 4 controllers from CUH-1216A work despite so many issues with macOS.

Megamouse commented 3 months ago

As far as I know, SDL already uses both HID and the gamecontroller framework under the hood, so this entire HID argument is pointless. There's no need for us to add the fabled gamecontroller framework and add yet another nonsensical handler.

Megamouse commented 3 months ago

Also, hid is not old and obsolete lol. It's used like... everywhere and is still maintained.