Frogging-Family / wine-tkg-git

The wine-tkg build systems, to create custom Wine and Proton builds
888 stars 159 forks source link

AC Valhalla detects a joystick that does not exist #791

Open mirkobrombin opened 2 years ago

mirkobrombin commented 2 years ago

I hope this is the right place to ask for information for this kind of problem, if not, I apologize in advance.

For a few days I have been investigating a problem that is driving me crazy. When I start AC Valhalla I am asked to press "A", assuming a joystick is connected to the PC even if it is not. I tried to figure out if there are any settings to change in the game configuration but this check seems to be automatic.

I've had the same result with both the latest Wine TKG build from this repository and Caffe, a Wine TKG build for explicit use in Bottles, a prefix manager I maintain.

I tried using the latest Wine-GE build and the problem didn't occur. I don't understand if this is a regression by Wine or a missing patch.

I am aware that there is little information but it is all I have and I cannot find a solution. Any suggestions?

Tk-Glitch commented 2 years ago

Wine-GE is not using wine upstream, and instead uses Proton's Wine (experimental bleeding edge), which does have quite a few changes vs upstream Wine 7.0. We are not offering those changes ported over to plain upstream-based wine builds (due to issues reported when using them outside of a Steam env) but we do for Proton builds. Alternatively you also can select Proton's Wine as your base with wine-tkg provided profiles.

My guess is that you have some device(s) that gets picked up as a joystick, which Proton blacklists, while regular Wine doesn't. Corsair mice are coming to mind, notably, but some keyboards are also affected (see https://github.com/ValveSoftware/steam-for-linux/issues/6253).

mirkobrombin commented 2 years ago

Hi thanks for the help. By Proton's Wine you mean Valve's Wine? I was considering using this as base.

I've a Corsair mouse but the issue persist also when unplugged and I don't have any other device connected so there should be something else. I could try to figure out how Proton blacklist those devices and do the same, at least to exclude this.

Tk-Glitch commented 2 years ago

By Proton's Wine you mean Valve's Wine?

Yes. The Wine build used as the core of Proton (here's current latest experimental bleeding edge: https://github.com/ValveSoftware/wine/tree/2b81ad62050ea2240769c4877d0dcc614710ec02)

I've a Corsair mouse but the issue persist also when unplugged and I don't have any other device connected so there should be something else.

Interesting. It might be an upstream or staging regression in that case.

I could try to figure out how Proton blacklist those devices and do the same, at least to exclude this.

That commit should be the interesting part of the patchset here: https://github.com/Frogging-Family/wine-tkg-git/blob/master/wine-tkg-git/wine-tkg-patches/proton-tkg-specific/proton-sdl-joy/proton-sdl-joy.patch#L377

mirkobrombin commented 2 years ago

Yes. The Wine build used as the core of Proton (here's current latest experimental bleeding edge: https://github.com/ValveSoftware/wine/tree/2b81ad62050ea2240769c4877d0dcc614710ec02)

thanks.

We are not offering those changes ported over to plain upstream-based wine builds (due to issues reported when using them outside of a Steam env)

so setting _sdl_joy_support=True in a wine-tkg recipe will not works right?

Tk-Glitch commented 2 years ago

so setting _sdl_joy_support=True in a wine-tkg recipe will not works right?

Indeed. Currently we're not allowing that patch to be applied on non-proton builds. However, you could try applying it "manually" through the userpatches dir (by copy-pasting the patch in the wine-tkg-userpatches dir and giving it a .mypatch extension). Not sure how well it will apply as is, but worth a shot.

mirkobrombin commented 2 years ago

I'll try, thanks for the tip

mirkobrombin commented 2 years ago

I had no success applying the custom patch but setting _sdl_joy_support="True" I saw the "Applying patch" log.

I guess that's not true though, the joystick problem persists. I tried to build a version using Valve's Wine and this time the problem didn't occur. I think this is a regression in Wine or something else.