ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.39k stars 1.07k forks source link

After last Steam update Logitech G29 Wheel not working anymore in Proton #6323

Closed kallestrop closed 1 year ago

kallestrop commented 1 year ago

Your system information

Please describe your issue in as much detail as possible:

steam-sysinfo.txt steam-227300.log

rLy07 commented 1 year ago

I noticed the same in ETS2 with my G29. Also in Dirt rally 2 the wheel is detected as an xbox 360/one controller if I use proton 7.0 but if I switch back to 6.3 it's working fine (7.0 worked in the morning just before I got the steam update). The same can be observed in ACC which worked before with proton 7.0 but not anymore, switching back to 6.3 works. Another thing I noticed is that yesterday steam didn't detect the wheel at all when I went into Settings->Controller but today it's detected as a PS controller there.

mjdolanart commented 1 year ago

Yep I have the same or similar issue , same steam package version .... It's not limited to proton I think. Native Dirt 4 also does not work plus proton ACC and automobilista 2. Some buttons respond but no wheel or pedal input at all. Tested in oversteer so wheel working fine problem is confined to steam. Is detected as a PS3 controller in steam. Is working in 6.3.8 ... but I think this is a wider problem than proton.

Toomoch commented 1 year ago

I have the same issue with my G29 and f1 22, it is a steam client issue.

phil0x2e commented 1 year ago

I have a similar issue. My G29 doesn't work anymore in Dirt Rally 2.0. The game now only recognizes it as a xbox360 controller.

EDIT: For me it doesn't even work with Proton 6.3.8

CatalinPuscoci commented 1 year ago

I personally believe it's a steam issue judging by the fact that you don't even touch proton by the time the xbox 360 controller device is created in your system, and the guy above that mentioned it affects native titles.

kisak-valve commented 1 year ago

For transparency, I transferred this issue report to the Proton issue tracker because of the feedback that Proton 6.3 is unaffected while Proton 7.0 is having an issue. In general, we want to track issues with games run with Proton in the Proton issue tracker.

It would be nice for a Proton dev to evaluate this issue first, and if they find that this is indeed a Steam client issue, they can give me a ping to transfer this issue report back to the steam-for-linux issue tracker.

CatalinPuscoci commented 1 year ago

Another weird thing is that proton-GE 7.38 used to work but the same proton-GE 7.38 now doesn't work (I tried f1 22 in particular)

mjdolanart commented 1 year ago

Proton 7 and experimental used to work too before the steam client update. My best GUESS is that proton 6 and earlier do not rely on the the steam client to identify the controller, proton 7 and later does. The steam client is now misidentifying the G29 . This would explain why 6 works but 7, exp and native games (which previously worked fine) do not. .... I may be way off the mark , but fits what I'm seeing.

mjdolanart commented 1 year ago

Ok a little more testing ACC in 6.3.8. Although the wheel and pedals are working the DPAD seems to be registering double presses.

Automoblilista 2 is still not working for me at all in 6.3.8

carvalhods commented 1 year ago

Same issue with ETS2 and G29

moacirrf commented 1 year ago

Same problem, but it works with Proton 5.0-10 With new proton versions if i run ./wine control joy.cpl I can see that G29 is detected but the game don't detect. With Proton 5.0-10 i cant run ./wine control joy.cpl with errors:

Proton 5.0/dist/bin > ./wine control joy.cpl
wineserver: using server-side synchronization. 0064:err:module:load_so_dll failed to load .so lib "/run/media/moacirrf/Arquivos/steam/SteamLibrary/steamapps/common/Proton 5.0/dist/bin/../lib64/wine/winebus.sys.so": libudev.so.0: não é possível abrir arquivo compartilhado: Arquivo ou diretório inexistente 0064:err:ntoskrnl:ZwLoadDriver failed to create driver L"\Registry\Machine\System\CurrentControlSet\Services\winebus": c0000142 0034:fixme:service:scmdatabase_autostart_services Auto-start service L"winebus" failed to start: 1114 0024:err:module:load_so_dll failed to load .so lib "/run/media/moacirrf/Arquivos/steam/SteamLibrary/steamapps/common/Proton 5.0/dist/bin/../lib/wine/dinput8.dll.so": libSDL2-2.0.so.0: não é possível abrir arquivo compartilhado: Arquivo ou diretório inexistente 0024:err:module:import_dll Loading library dinput8.dll (which is needed by L"C:\windows\system32\joy.cpl") failed (error c000007a). /run/me/m/Arquivos/steam/SteamLibrary/steamapps/common/Proton 5.0/dist/bin > ./wine winecfg.exe
wineserver: using server-side synchronization. 0064:err:module:load_so_dll failed to load .so lib "/run/media/moacirrf/Arquivos/steam/SteamLibrary/steamapps/common/Proton 5.0/dist/bin/../lib64/wine/winebus.sys.so": libudev.so.0: não é possível abrir arquivo compartilhado: Arquivo ou diretório inexistente 0064:err:ntoskrnl:ZwLoadDriver failed to create driver L"\Registry\Machine\System\CurrentControlSet\Services\winebus": c0000142 0034:fixme:service:scmdatabase_autostart_services Auto-start service L"winebus" failed to start: 1114

moacirrf commented 1 year ago

I take care to change the WINEPREFIX before run wine control joy.cpl.

HAV0X1014 commented 1 year ago

I have the same issue in DiRT Rally 2.0 as phil0x2e. I did not change anything, and at first my controls were very messed up (Square and Circle buttons switched, L2 being accelerate), and then the G29 was not recognized at all, instead being replaced with an X-Box 360 controller.

I did as much searching as I could, and found that when DiRT Rally 2.0 is launched, it creates a virtual X-Box 360 controller. Using 'sudo dmesg', I found when it was being created, and used jstest-gtk to find its location. Deleting the device after it was created did not solve the issue.

I tested this on Proton Experimental, Proton 7.0-4 and Proton 6.3-8. No change was found between any version.

Any Steam Controller/Steam Input settings changed made no difference.

To note, the G29 was detected as a Playstation 3 controller instead of a Logitech G29. I am not sure if this is relevant, but I'd like to be as thorough as possible.

leillo1975 commented 1 year ago

Have the same problem with Automobilista 2. I tried proton 7 and 6.3 with the same results When I connect my G29 I see a steam popup informing me that I connected a PS3 gamepad.

berarma commented 1 year ago

This might be the source of the issue: https://github.com/libsdl-org/SDL/commit/f2ce7c5fb25278af9b229efa55e94230a4ca0d51

It seems someone wanted to use the wheel as a PS game controller to play non-driving games.

It's not confirmed, I couldn't test it.

Edit: See also https://github.com/libsdl-org/SDL/commit/33a68f575f484723aa326f8a2d96f2b8a084da4a

CatalinPuscoci commented 1 year ago

@berarma The timeline seems a bit murky, when I look up the arch repos it says that sdl2 hasn't been updated since 2011-11-02/03(32 and 64 bit) and looking at the versions that commit was not even going to go to the version currently in the repos(2.24.2).

From what I see 2.26.0 is now in the testing repos, so hold your fingers for that update or someone could try the testing repo version if they got the time.

You might be onto something tho

berarma commented 1 year ago

@berarma The timeline seems a bit murky, when I look up the arch repos it says that sdl2 hasn't been updated since 2011-11-02/03(32 and 64 bit) and looking at the versions that commit was not even going to go to the version currently in the repos(2.24.2).

From what I see 2.26.0 is now in the testing repos, so hold your fingers for that update or someone could try the testing repo version if they got the time.

You might be onto something tho

Doesn't Steam/Proton ship its own libraries?

CatalinPuscoci commented 1 year ago

Checking the system information I posted initially it seems there's no override/pinning/loading of another sdl version

Willdrick commented 1 year ago

Can confirm that multiple games are showing the same behaviour on a fresh install, some seem to work when switching to G27 mode in Oversteer, but it's a non ideal workaround. As @berarma points out, the wheel suddenly appears as a PS3 controller, which was not eveng showing up on the steam settings up until this issue started.

berarma commented 1 year ago

I've updated my previous comment with another suspicious commit: https://github.com/libsdl-org/SDL/commit/33a68f575f484723aa326f8a2d96f2b8a084da4a

Is it possible the gamecontroller database has been backported to older SDL versions? I can see this definition in my libSDL files inside the steam folder, maybe because they're the latest version, but I'm not sure when are these used.

I'm not doing any claims, I know little about the way Steam/Proton links libraries, but I find this findings very suspicious. Take it cautiously and I hope someone can completely discard it or confirm it.

moacirrf commented 1 year ago

@berarma The timeline seems a bit murky, when I look up the arch repos it says that sdl2 hasn't been updated since 2011-11-02/03(32 and 64 bit) and looking at the versions that commit was not even going to go to the version currently in the repos(2.24.2).

From what I see 2.26.0 is now in the testing repos, so hold your fingers for that update or someone could try the testing repo version if they got the time.

You might be onto something tho

Hi guys, i tested with SDL 2.26.0 on Manjaro, still don't working with Proton 7.0.4, but works with Proton 5.0. Games: RFactor 2 City Car Driving

mjdolanart commented 1 year ago

Can confirm that multiple games are showing the same behaviour on a fresh install, some seem to work when switching to G27 mode in Oversteer, but it's a non ideal workaround. As @berarma points out, the wheel suddenly appears as a PS3 controller, which was not eveng showing up on the steam settings up until this issue started.

Works in proton 7 when set to G27 emulation in oversteer in native games and proton ... not ideal

mjdolanart commented 1 year ago

@berarma The timeline seems a bit murky, when I look up the arch repos it says that sdl2 hasn't been updated since 2011-11-02/03(32 and 64 bit) and looking at the versions that commit was not even going to go to the version currently in the repos(2.24.2).

From what I see 2.26.0 is now in the testing repos, so hold your fingers for that update or someone could try the testing repo version if they got the time.

You might be onto something tho

The following turns up in ~/.steam/debian-installation/config/config.vdf when I connect the G29 "SDL_GamepadBind" "03000000de280000ff11000001000000,Steam Virtual Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux 03000000de280000fc11000001000000,Steam Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux 030000006d0400004fc2000011010000,Logitech G29 Racing Wheel,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b24,leftshoulder:b5,leftstick:b11,lefttrigger:b7,rightshoulder:b4,rightstick:b10,righttrigger:b6,start:b9,x:b1,y:b3,"

CatalinPuscoci commented 1 year ago

Can confirm that multiple games are showing the same behaviour on a fresh install, some seem to work when switching to G27 mode in Oversteer, but it's a non ideal workaround. As @berarma points out, the wheel suddenly appears as a PS3 controller, which was not eveng showing up on the steam settings up until this issue started.

Works in proton 7 when set to G27 emulation in oversteer in native games and proton ... not ideal

Definitely not ideal, F1 22 wanted me to select items in the menu by shifting in the 6th gear on the shifter lmao

leillo1975 commented 1 year ago

What concerns me most is that there has been no communication from the developers as the problem is being resolved.

CatalinPuscoci commented 1 year ago

What concerns me most is that there has been no communication from the developers as the problem is being resolved.

I assume everything is at least acknowledged, kisak goes through issues very dilligently and triages them really well. There are many smaller components and many different priorities, and this problem in particular seems rather niche and probably more esoteric than we're led to believe.

It's much more of a healthier mindset to think that problems are looked at as soon as you post about them, cause it's actually the case more often than not.

leillo1975 commented 1 year ago

In my case this means that I don't play anything, as 90% of my games are racing sims, which is why I'm so worried.

moacirrf commented 1 year ago

In my case this means that I don't play anything, as 90% of my games are racing sims, which is why I'm so worried.

Is working with proton 5, cant you use this version?

berarma commented 1 year ago

Simracing isn't a priority at all.

I've found some instances of libSDL inside the steam directory that have the changes I mentioned above.

Someone having this problem could try replacing these instances with another version. The other version that can be found is 2.24. It should be a good replacement.

I know games are supposed to use the system library but I guess that instance is used somewhere in Steam too.

CatalinPuscoci commented 1 year ago

Simracing isn't a priority at all.

I've found some instances of libSDL inside the steam directory that have the changes I mentioned above.

Someone having this problem could try replacing these instances with another version. The other version that can be found is 2.24. It should be a good replacement.

I know games are supposed to use the system library but I guess that instance is used somewhere in Steam too.

Running steam from the terminal outputs Compiled against SDL version 2.25.0 and linked against SDL version 2.25.0

LD_PRELOAD doesn't seem to work (it says wrong ELF class with both 32 and 64 bit libsdl2 and overriding the 32 bit one doesn't even seem to start)

leillo1975 commented 1 year ago

BeamNG.drive don´t work if you open the game with Steam. I tested the Proton version and the Experimental Native version. If you open the native version without Steam, the game works as expected with the wheel. The problem is Steam.

CatalinPuscoci commented 1 year ago

@kisak-valve Does it make a significant difference if you move this issue back to steam-for-linux tracker? I think @leillo1975 confirmed the issue is with steam

Also @leillo1975 I literally bought beamNG.drive 30 minutes ago too lol

Gustash commented 1 year ago

Can confirm that the standalone version of Beam.NG doesn't have this issue. It's specific to Steam games, it seems

berarma commented 1 year ago

Today I've been able to run BeamNG on proton 6.3 and the native port from Steam. Both versions found the wheel, using Proton it worked right away from the start, in the native port it didn't and I couldn't map the inputs but it was recognized as a wheel. I'm using the beta version of Steam.

CatalinPuscoci commented 1 year ago

F1 22 works too with proton 6.3, steam input disabled both steam beta and not steam beta although it's a tad unstable(game crashes a lot)

Freshly installed Asetto Corsa with Proton 5.0 also works.

So unless the game is newer like F1 22, if one can lower the proton verison below 7 and disable steam input they should do so for now as a workaround

ZakMcKrack3n commented 1 year ago

Can you (all) test by disabling steam overlay for the affected games ? (controller emulation / remapping is only injected through there) Maybe they extended support to remap other controllers or your wheels are now included to be remapped by mistake.

CatalinPuscoci commented 1 year ago

Can you (all) test by disabling steam overlay for the affected games ? (controller emulation / remapping is only injected through there) Maybe they extended support to remap other controllers or your wheels are now included to be remapped by mistake.

Is it not the same as disabling steam input by override from the game's properties? But I will test that when I get the chance.

ZakMcKrack3n commented 1 year ago

Is it not the same as disabling steam input by override from the game's properties? But I will test that when I get the chance.

Probably , but someone said there was still a controller mapping notification for him, this should not be happening.

mjdolanart commented 1 year ago

I already had the steam overlay disabled in ACC, AMS2 and DIRT 4 (native). I can also confirm that the G29 is unusable in DIRT 5 (proton) regardless of proton version or oversteer compatibility settings.

Latest steam definitely writes the entry for the G29 ps3 controller into config.vdf (SDL Section) as it appears the SDL 2.26 repo. see my earlier post.

goarvic commented 1 year ago

Downgrading the proton version to 6.x for F1 22 doesn't work for me. I've tried having steam input enabled and disabled and neither, so that workaround doesn't work.

Any progress to solve this issue? I can't use the steering wheel at all. It's very frustrating.

RephlexZero commented 1 year ago

I concur with the issues above. All the same happened to me.

rwl4 commented 1 year ago

Looks like a fix should make it into Steam at some point.

See: https://github.com/libsdl-org/SDL/commit/3b318f981e61debdb5efea67ea09e453b6ea9e6b

slouken commented 1 year ago

Can anyone confirm the fix in the current Steam beta client?

moacirrf commented 1 year ago

Can anyone confirm the fix in the current Steam beta client?

I compiled SDL commenting this lines e replaced my system SDL and still not working with steam, but maybe i did something wrong. Steam uses SDL of my system or it have his own SDL embedded?

RephlexZero commented 1 year ago

Can anyone confirm the fix in the current Steam beta client?

I compiled SDL commenting this lines e replaced my system SDL and still not working with steam, but maybe i did something wrong. Steam uses SDL of my system or it have his own SDL embedded?

steam-native-runtime will use non-packaged libraries, ones on your system.

moacirrf commented 1 year ago

Can anyone confirm the fix in the current Steam beta client?

I compiled SDL commenting this lines e replaced my system SDL and still not working with steam, but maybe i did something wrong. Steam uses SDL of my system or it have his own SDL embedded?

steam-native-runtime will use non-packaged libraries, ones on your system.

I'm using flatpak version, I don't know if I'm using native version, I'll do some more tests tonight. Thanks for the answer.

goarvic commented 1 year ago

Can anyone confirm the fix in the current Steam beta client?

I have tried right now changing steam to beta mode, and apparently it still does not work,

kallestrop commented 1 year ago

Can anyone confirm the fix in the current Steam beta client?

Tested with Steam-Client beta right now, but it's the same behavior as described in my initial post.

slouken commented 1 year ago

Can anyone confirm the fix in the current Steam beta client?

I have tried right now changing steam to beta mode, and apparently it still does not work,

Can you give me more information?

CatalinPuscoci commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/6323#issuecomment-1334163348

I tried it myself with the g29 wheel

So steam beta at the time of this comment still creates the virtual xbox controller

It's picked up with its own name instead of "ps3 controller" image

But for instance f1 22 still detects the xbox controller device With steam input enabled I can't get any input, but with it disabled there is an attempt at mapping buttons that are also present on a normal controller (buttons and paddles work, wheel and pedals do not.)