JacKeTUs / vrs-ff

GNU General Public License v2.0
2 stars 1 forks source link

Wheel Is Not Working in Proton #3

Closed lithiumfox closed 1 month ago

lithiumfox commented 1 month ago

Provided a trace log

Jun 01 17:14:47 lith kernel: vrs-ff 0003:0483:A355.0016: implement() called with too large value 4 (n: 1)! (kworker/18:1)

looked interesting. Not sure if red herring, but, it's right before the trace asks me to cut so.

trace.log

JacKeTUs commented 1 month ago

That's only a warning Looks interesting, yes, but it should not affect FFB :(

That's because pidff parsing of PID_CONTROL fields not quite perfect.

lithiumfox commented 1 month ago

Ah, I see. So how do I get my wheel to be seen by Wine at all. FFB was part of the issue but I could only ever get the VRS wheelbase to be seen by evtest and jstest, but it was never passed over to Wine/Proton.

JacKeTUs commented 1 month ago

Can you try native games/apps first? Like ETS/ATS, or fftest or ffbplay from https://github.com/berarma/ffbtools

lithiumfox commented 1 month ago

Will do after some chores. :)

lithiumfox commented 1 month ago

So can confirm Constant FFB is working with fftest run as sudo. Now I just need to figure out why I can't seem to get permissions to either myself nor ETS or Proton apps. I'll work with what I got. :) Ty!

Okay, got it working with ETS with some group shenanigans. Obviously not the "correct" solution, but it does confirm the FFB is working now.

Now for me to play with wine really quick.

lithiumfox commented 1 month ago

Proton does not respect Disabling SDL, instead you have to activate it as a HID device and essentially brute force it. The following environment variable needs to be set:

PROTON_ENABLE_HIDRAW=0x0483/0xa355

If running through Steam, either Flatpak, native, or via a SteamDeck: PROTON_ENABLE_HIDRAW=0x0483/0xa355 %command%

I found this was not an issue with Wine, but rather Proton specifically. It's running perfectly now with this command (with no need to regedit)

JacKeTUs commented 1 month ago

You should, however, try not to tinker with prefix at all and just set SDL_JOYSTICK_WHEEL_DEVICE