Project

General

Profile

Emulator Issues #12370

IR-pointer gets weird accelerations in opposite direction after tilt up/down when using motion sensons of the Playstation 5 (DualSense) controller

Added by Bleuzen 2 months ago. Updated 2 months ago.

Status:
Working as intended
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name?

The Legend of Zelda: Skyward Sword (but also in the Wii menu)

Game ID? (right click the game in the game list, Properties, Info tab)

SOUP01

MD5 Hash? (right click the game in the game list, Properties, Verify tab, Verify Integrity button)

f32bd185cb71ec9d87d2a65c9385d3d8

What's the problem? Describe what went wrong.

Video (demo):
https://www.youtube.com/watch?v=9VYo1Hp7ibA

I mapped the IMUGyroscope and IMUAccelerometer of the Wiimote to my PS 5 controller.
In the preview in Dolphin everything looks and moves fine when I move/tilt the controller.

However, in the game (and the wii menu), the IR pointer acts weird:

When I tilt the controller up, the pointer correctly goes up for a second but after this it goes down without me moving the controller down.
Same in the opposite direction:
When I tilt the controller down, the pointer goes down a little but then it starts going up without me moving the controller anymore.

This does NOT happen with left and right, they work correcntly and the pointer stops when I stop moving the controller. Everything fine with left and right, it is up/down only.

I think I found a part of the game which seems to be only using the MotionPlus sensors, not IR pointer (not sure). Here up/down work correctly (see the video I linked above).
But in parts of the game using the IR pointer (like the map or the Wii menu) the problem occurs.

What steps will reproduce the problem?

1.)

Connect a PS 5 controller to a linux machine. (Manjaro in my case, I'm not sure if the OS does really matter.)

2.)

Install the PS 5 controller driver.

To use the motion sensors of the PS 5 controller, a driver is needed which is not in the kernel yet because the controller is very recent.
You can find the driver patches here:

https://patchwork.kernel.org/project/linux-input/list/?series=404369

and an AUR package for a dkms module of the driver here:

https://aur.archlinux.org/packages/hid-playstation-dkms/

3.)

Map the Accelerometer and Gyroscope of the PS 5 controller to the Wiimote.

My config:
https://pastebin.com/raw/Lf3Ycq4F

4.)

Start Zelda Skyward Sword.

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

Dolphin 5.0-13184

Is the issue present in the latest stable version?

I don't know, haven't tried since the stable is years old at this point anyway.

If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)

I really don't want to go through thousands of commits, sorry.
I tried version 5.0-13178 (current beta), 5.0-13184 (from Manjaro repos), as well as a self built git master from yesterday evening (2020-12-29). All of this versions have the problem.

If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of Dolphin will help too. For more information on how to use the fifoplayer, please check here: https://wiki.dolphin-emu.org/index.php?title=FifoPlayer

No graphical glitches happening.

What are your PC specifications? (CPU, GPU, Operating System, more)

CPU: Intel Core i7-7700
GPU: Nvidia GTX 1060
OS: Manjaro Linux

Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)

A video showing the problem:
https://www.youtube.com/watch?v=9VYo1Hp7ibA

My controller config profile:
https://pastebin.com/raw/Lf3Ycq4F

History

#1 Updated by Bleuzen 2 months ago

One extra fact:

This weird acceleration in the opposite direction does NOT HAPPEN when I map the X axis of the gyroscope (tilt up/down) in the opposite direction. Of course tilt up/down are reversed if setup like this, but the IR pointer only moves in one direction as it should and correctly stops when I stop tilting the controller.
This is also shown in the video.

#2 Updated by Billiard26 2 months ago

Thank you for the detailed issue report.

Your Accel "Forward" and "Backward" mappings are reversed.

Unfortunately manually getting all the signs correctly can be troublesome.

I plan to make it easier in the future with some sort of mapping "wizard".

#3 Updated by Billiard26 2 months ago

  • Status changed from New to Working as intended

#4 Updated by Bleuzen 2 months ago

huh, you are right, seems I messed up the direction of the Z axis.
Thanks for pointing me to my mistake :D

Also available in: Atom PDF