Assetto Corsa Rally (3917090)
Compatibility Report
- Name of the game with compatibility issues: Assetto Corsa Rally
- Steam AppID of the game: 3917090
System Information
- GPU: RX 6600
- Kernel version: 6.17.7-arch1-1 (64-bit)
- Proton version: Experimental
Symptoms: Logitech G27 steering wheel doesn't work.
Same problem also for me on Logitech G29. No buttons or input is working. Other vice plays fine on controller.
System Information
GPU: GTX 3070ti
Kernel version: 6.17.7-arch1-1 (64-bit)
Proton version: 10-3
Wheel-driver: new-lg4ff 0.5.0
Edit
For me I can also bind the buttons in the game. Just the axis that are not detected or bindable
I'm on a Moza R3 bundle and while I can map the buttons no axis is being detected at all so no pedals or steering. Tried a few different proton versions and tweaks to no effect.
I can confirm the same issue on a Logitech G920, tried multiple Proton version with no luck. Good luck
Can't bind axis of Moza R12 and CRP Pedals. Button works fine.
With the T300RS with hid-tmff2 drivers same issue as above, some buttons / axis get detected by game others not.
Not work for me with openffboard wheel, other games like AC, ACC and ACE work perfecty
PDP brand xbox controller is not recognized by game. Tried proton experimental and hotfix.
Same as others reported above, I can't bind axis (wheel and pedals) on a T300RS, all the other buttons are working. On Windows I can bind everything just fine.
Can confirm the same symptoms on a Logitech G29 as well. Can map buttons, but not the wheel or pedals.
Can confirm the same on T300RS, no axis detected, no pedals detected. Buttons mappable. Tried different workarounds but no dice.
Am on Moza R5 bundle, axis are not being detected whatsoever. Buttons seem to assign, but I can't navigate menus.
I was able to get axis binds working on a g29 by passing PROTON_ENABLE_HIDRAW=0x046d/0xc24f to Proton. But there is zero FFB. I tried checking with ffbtools but there arent any FFB events being sent.
Was able to get pedals, wheelbase, steering wheel buttons/shifter all detected and wheelbase FFB working by using Proton 6.3-8. Not ideal as newer versions are more performant, but it's at least fully playable.
Can confirm it works with Proton 6.3-8, but the game is way laggier and the FFB feels a bit off on my G29. I had to delete the local game files at ~/.local/share/Steam/steamapps/compatdata/3917090/pfx/dosdevices/c:/users/steamuser/AppData/Local/acr though, otherwise the game crashed before getting to the main menu.
Sad. I had to go to a different path, but even deleting ~/.local/share/Steam/steamapps/compatdata/3917090/pfx/drive_c/users/steamuser/AppData/Local/acr/* resulted in CTD with proton 6.
@talkingerbil maybe try reinstalling the game from scratch. In my case I think it was an issue with the config I had, that's why deleting the local game files solved the issue
@talkingerbil maybe try reinstalling the game from scratch. In my case I think it was an issue with the config I had, that's why deleting the local game files solved the issue
Even reinstalling, i still crash before reaching the main menu using proton 6
Latest detects my wheelbase (simucube 2) and FFB works, it does not detect my pedals (simgrade VX-Pro) or handbrake (arduino based).
Proton 6.3-8 works for me, but I lose FFB, but as other have said, it runs terribly and crashes after a couple of minutes. 7.0-1 crashes on startup (I get some mono missing errors). 6.3-7 doesn't detect inputs.
Tried a few GE proton releases around the same version and none of them work either (don't detect inputs). I wonder what specifically was changed in 6.3-8.
All inputs and FFB work fine in windows 11.
Only one button detected on my T248. Otherwise, he works perfectly with other racing game.
Using 6.3-8. I tried deleting .local/share/Steam/steamapps/compatdata/3917090/pfx/dosdevices/c:/users/steamuser/AppData/Local/acr but I still get a crash on startup just before the main menu appears.
There was an old issue affecting FFB on RBR with wine - https://bugs.winehq.org/show_bug.cgi?id=52714 Not sure if it is relevant
Any other ideas on how to get 6.3-8 working? Thanks
Proton 6.3-8 works fine for me. I have Moza R5 and both axes and FFB work fine. I also had crashes. but passing "-dx11" without the quotes as a launch option seemed to have fixed that for me. The only issue is that server connectivity doesn't work. It's not too big of an issue in this game however, because the only "multiplayer" element is the leaderboard.
With Proton Experimental online works just fine, so it must be something with the old Proton 6.3..
Deleting acr, using Proton 6.3-8 with -dx11 got Moza R12 working for me, except I can't bind the clutch or Moza handbrake.
Thank you. Adding -dx11 to the end of my steam launch options fixed the crash and the FFB seems to work well with my old DFGT.
PROTON_ENABLE_HIDRAW=0x046d/0xc29a %command% -dx11
There was an old issue affecting FFB on RBR with wine - https://bugs.winehq.org/show_bug.cgi?id=52714 Not sure if it is relevant
RBR stuff
This was a bug inside RBR, it never correctly used DirectInput API. RBR creates an effect with all axes device have, and updates only one axis, which is against Microsoft documentation. It worked fine when device defines only one FFB axis, and it's not the case with the majority of DD wheels today. It was partially mitigated on Windows with registry configuration in RSF launcher. Wine behaves 1:1 with Windows in that matter, except it doesn't have these registry flags. It was fixed by RBR RSF mod developer, after we investigated and wrote them about it. 1 2 3
As of ACR, it doesn't seem to react to changing FFB axes count through SDL, as RBR did... It seems we're dealing with something else there.
I have managed to get my G29 working with this wine-proton patch: https://gist.github.com/davidaf3/77d34da3664262accf797c8f0478c7c4.
It might work for other G29s, but not for different wheels. These are the steps I followed in case anyone is interested in reproducing them for their wheel:
- Make sure the game recognizes your wheel's axes when hidraw is enabled.
- Get the raw HID report descriptor for the wheel. This descriptor is the one ACR sees when using hidraw, so it contains the input format needed for the game to recognize the wheel's axes. In the case of my G29, it also contains an output with a vendor specific usage that DirectInput doesn't understand. The game uses DirectInput to send FFB effects, that's why FFB doesn't work with hidraw.
- Get the HID report descriptor that wine sends when hidraw is disabled. This descriptor contains outputs that DirectInput understands. You can get this report descriptor from the Proton logs.
- Make a new HID report descriptor that combines de inputs of the raw descriptor and the outputs of the descriptor generated by wine.
- Force wine to send the new report descriptor.
- Modify the HID input reports generated by wine to match the format of the new descriptor.
My patch also fixed the direction of the FFB effects that was being set to a wrong value when using the new descriptor.
I haven't figured out yet why the game doesn't recognize the wheel axes by default. DirectInput recognizes them, but ACR doesn't seem to be using DirectInput to read the wheel state. I think the issue is on the game's side. Let's hope they fix it soon.
I have managed to get my G29 working with this wine-proton patch: https://gist.github.com/davidaf3/77d34da3664262accf797c8f0478c7c4.
Amazing!
Can confirm that the patch works for me in proton-10.3. Just had to remember to disable the PROTON_ENABLE_HIDRAW launch option.
Thanks for sharing
Proton 6.3-8 works great with the logitech pro wheel in G923 compatibility mode via new-lg4ff-dkms driver, however I couldn't get the external handbrake(connected via usb) to work with this proton. Other than that FFB, pedals, buttons - all functions without problems. I noticed that with this proton game automatically starts in DX11 mode as mangohud shows DXVK. There might be occasional hitches during shader compilation of new sections of the stage. Overall decent experience.
EDIT: Forgot to mention that at least with this proton I wasn't able to get DLSS to work, however the game looks quite sharp with the default TSR upscaling.
With Proton-6.3-8 my wheel axis (Moza R12) works fine but the pedals that were working fine before (T-LCM), which are not connected through the wheel base, stopped working.
Nevermind, adding ENV{ID_INPUT_JOYSTICK}="1" to the udev rules for the pedals fixed detection on Proton-6.3-8. Weird that this doesn't seem to be required with later versions of Proton.
using t300rs, hid-tmff2 driver.
on Windows, and proton 6.3-8, all devices are recognized and inputs are registered (except hat switches), and FFB works. I think it's game's(or unreal engine's) bug.
on proton-ge 10-26
without PROTON_ENABLE_HIDRAW, analog axes are not registered while buttons are registered (also hat switches don't work), while FFB works(?). (I'm not sure who is responsible for this. maybe both game and wine.)
with PROTON_ENABLE_HIDRAW=0x044f/0xb66e, all input devices (wheel, shifter, handbrake) are not recognized.
I dumped the Windows driver's HID report descriptor, and found that it has 396 bit padding at the end of report 0x07, while hid-tmff2 has 4 bit. So I tried to apply this patch:
diff --git i/src/tmt300rs/hid-tmt300rs.c w/src/tmt300rs/hid-tmt300rs.c
index 00eecee..32acee4 100644
--- i/src/tmt300rs/hid-tmt300rs.c
+++ w/src/tmt300rs/hid-tmt300rs.c
@@ -128,6 +128,8 @@ static u8 t300rs_rdesc_nrm_fixed[] = {
0x75, 0x04, /* Report size (4) */
0x81, 0x42, /* Input (Variable, Absolute, NullState) */
0x65, 0x00, /* Unit (None) */
+ 0x76, 0x8c, 0x01, /* Report size (396) */
+ 0x95, 0x01, /* Report count (1) */
0x81, 0x03, /* Input (Variable, Absolute, Constant) */
0x85, 0x60, /* Report ID (96), prev 10 */
0x06, 0x00, 0xff, /* Usage page (Vendor 1) */
It didn't work. But it worked when I switched the size and report count. This patch on hid-tmff2 driver fixed device recognition and analog axes registration.
diff --git i/src/tmt300rs/hid-tmt300rs.c w/src/tmt300rs/hid-tmt300rs.c
index 00eecee..32acee4 100644
--- i/src/tmt300rs/hid-tmt300rs.c
+++ w/src/tmt300rs/hid-tmt300rs.c
@@ -128,6 +128,8 @@ static u8 t300rs_rdesc_nrm_fixed[] = {
0x75, 0x04, /* Report size (4) */
0x81, 0x42, /* Input (Variable, Absolute, NullState) */
0x65, 0x00, /* Unit (None) */
+ 0x75, 0x01, /* Report size (1) */
+ 0x96, 0x8c, 0x01, /* Report count (396) */
0x81, 0x03, /* Input (Variable, Absolute, Constant) */
0x85, 0x60, /* Report ID (96), prev 10 */
0x06, 0x00, 0xff, /* Usage page (Vendor 1) */
I think this is a bug in Wine (different behavior from Windows with an incomplete(?) HID report descriptor).
But hid-tmff2 is missing output HID report descriptor so the FFB doesn't work.