Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rumble not working with v0.5 #157

Open
Roger-ZRZ opened this issue Jan 26, 2021 · 11 comments
Open

Rumble not working with v0.5 #157

Roger-ZRZ opened this issue Jan 26, 2021 · 11 comments

Comments

@Roger-ZRZ
Copy link

As title, rumble not working;

Version: d16f61c;
Dependencies: all newest;
Distro: Pop_os (wrapped ubuntu) 20.10;
Controller: series X controller+USB_dongle;
Tested with: steam rumble test, also limited amount of games;

Any more configuration or error info I can provide? TIA;

@kakra
Copy link
Contributor

kakra commented Jan 26, 2021

This may be fixed with an upcoming v0.6, until then you could try a git version of the package if your distribution provides that.

@medusalix
Copy link
Owner

@kaska He's on d16f61c according to the initial post. So it seems like the rumble patch caused some issues...

@Roger-ZRZ
Copy link
Author

This may be fixed with an upcoming v0.6, until then you could try a git version of the package if your distribution provides that.

I compiled and installed it directly from git and is on d16f61c already;
The latest commit (56d6f24) adds several lines of documentation which shouldn't really lead to any changes;

Again, I will be happy to provide any diagnostic information;

@kakra
Copy link
Contributor

kakra commented Jan 27, 2021

Ah okay, it said v0.5 in the title ;-)

@Roger-ZRZ
Copy link
Author

Ah lol sorry for the confusion, was referring to the release number;

@kakra
Copy link
Contributor

kakra commented Jan 27, 2021

@Roger-ZRZ git describe --tags --abbrev=0 is a good way to prevent that. ;-)

@medusalix
Copy link
Owner

@Roger-ZRZ Would you mind posting the logs (using journalctl -b -u xow)?

@Roger-ZRZ
Copy link
Author

cat .temp
-- Logs begin at Thu 2020-11-12 06:20:54 EST, end at Wed 2021-01-27 13:06:35 EST. --
Jan 27 13:01:28 dt-ruizhezh systemd[1]: Started Xbox One Wireless Dongle Driver.
Jan 27 13:01:34 dt-ruizhezh xow[1272]: 2021-01-27 13:01:34 INFO - xow v0.5-22-g56d6f24 ©Severin v. W.
Jan 27 13:01:34 dt-ruizhezh xow[1272]: 2021-01-27 13:01:34 INFO - Waiting for device...
Jan 27 13:01:35 dt-ruizhezh xow[1272]: 2021-01-27 13:01:35 INFO - Wireless address: 62:45:b5:05:b2:43
Jan 27 13:01:35 dt-ruizhezh xow[1272]: 2021-01-27 13:01:35 INFO - Dongle initialized
Jan 27 13:04:21 dt-ruizhezh xow[1272]: 2021-01-27 13:04:21 INFO - Pairing enabled
Jan 27 13:04:26 dt-ruizhezh xow[1272]: 2021-01-27 13:04:26 INFO - Controller '1' connected
Jan 27 13:04:26 dt-ruizhezh xow[1272]: 2021-01-27 13:04:26 INFO - Device announced, product id: 0b12
Jan 27 13:04:26 dt-ruizhezh xow[1272]: 2021-01-27 13:04:26 INFO - Serial number: manually-removed
Jan 27 13:04:27 dt-ruizhezh xow[1272]: 2021-01-27 13:04:27 INFO - Battery level: 2
Jan 27 13:06:35 dt-ruizhezh xow[1272]: 2021-01-27 13:06:35 INFO - Controller '1' disconnected

This is how the log is produced:

  1. Uninstalled > updated to 56d6f24 > installed > reboot;
  2. Re-pair controller; [success]
  3. Open steam controller configuration, click identify, no rumble (there should be);
  4. Turn off controller;

@medusalix
Copy link
Owner

medusalix commented Jan 27, 2021

@Roger-ZRZ Hmm, your logs seem fine. You could try setting breakpoints on some of the lines of this function (or you could insert log statements):

void Controller::processRumble()
{
RumbleData rumble = {};
std::unique_lock<std::mutex> lock(rumbleMutex);
while (!stopRumbleThread)
{
rumbleCondition.wait(lock);
while (rumbleBuffer.get(rumble))
{
performRumble(rumble);
// Delay rumble to work around firmware bug
std::this_thread::sleep_for(RUMBLE_DELAY);
}
}
}

The performRumble function sends the rumble command to the gamepad. It seems like it is not getting called in your case (for whatever reason).

@kakra
Copy link
Contributor

kakra commented Jan 27, 2021

I could only imagine that while (rumbleBuffer.get(rumble)) always returns false, or the wait condition never fires.

@weltystark
Copy link

I'm having a similar problem with the Model 1914, where it doesn't vibrate in PSOne DualShock games, while the Xbox 360 controller that I also have, does work. This only happens when connecting thought the USB Dongle, the few times I could get it connected with the bluetooth it worked just fine. Oh, I'm having this issue with retropie, I did not test it with other hardware.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants