[x] that I haven't found an existing compatibility report for this game.
[x] that I have checked whether there are updates for my system available.
Symptoms
The work described in #5900 enabled advanced DualSense functionality (namely, the speaker and the haptic feedback) for many games, but it seems that Nixxes/Insomniac are using a different method to detect/use this functionality in Marvel's Spider-Man Remastered. While the adaptive triggers work properly, there is no sound coming from the controller's speaker, despite this option being enabled in the game (the same is true for audio through the controller's headphone jack, and the setting of controller vs. headphone vs. auto in the game doesn't affect any of this). Similarly, even though the haptic feedback setting is enabled, the game only uses plain rumble.
With a DualSense connected via a wired connection, open Marvel's Spider-Man Remastered and verify that the relevant settings are set properly (enable controller speaker and haptic feedback).
Load or start a new game.
There is no sound output from the controller when there should be and the vibration used is the regular rumble rather than haptic feedback. For example, web swinging should trigger both of these, but doesn't.
On the same machine, the controller speaker and haptic feedback work as expected when running the game on Windows. This issue has been tested over multiple distributions, including Nobara, CachyOS, PikaOS, and ChimeraOS (and possibly others, but I've lost track at this point). I haven't found a Proton version that doesn't exhibit this issue, having tried all of the 8.0 releases, experimental, the last few GE-Proton releases, and the old fork with the relevant patches applied from before they were upstreamed.
Enabling/disabling Steam Input makes no difference, though I'll note that the adaptive triggers don't quite respond the same way with Steam Input enabled as they do with it disabled (in which case they respond as they do on Windows).
It's worth noting that the patches from #5900 used the audio device name "Wireless Controller", I believe matching what was done for the DS4 controller. However, on Windows, the audio device name for the DualSense speaker is actually "DualSense Wireless Controller". I thought that perhaps other games used a substring check while Spider-Man used an exact string comparison, and @rafaelrgazquez went and made a fork to test this theory. The fork uses the proper name, but the game still doesn't use the controller speaker or haptic feedback. From this we conclude that the game is using some other method to use the controller speaker and haptic feedback(possibly in conjunction with device name tests).
In all cases, the audio device does show up as a quadrophonic audio device in winecfg with the device name changed accordingly. Testing it there works as expected. No other games with support for the advanced DualSense features seem to exhibit this issue. Spider-Man: Miles Morales might, but I don't have it to test myself.
I'm happy to help investigate, though at this stage I'd need some direction. The only thing I could think of trying next was to disassemble the binaries and go hunting for whatever logic controls whether the speaker controller and haptic feedback are detected/used, but I have no clue how to do that (and suspect it would be non-trivial even if I did).
Compatibility Report
System Information
I confirm:
Symptoms
The work described in #5900 enabled advanced DualSense functionality (namely, the speaker and the haptic feedback) for many games, but it seems that Nixxes/Insomniac are using a different method to detect/use this functionality in Marvel's Spider-Man Remastered. While the adaptive triggers work properly, there is no sound coming from the controller's speaker, despite this option being enabled in the game (the same is true for audio through the controller's headphone jack, and the setting of controller vs. headphone vs. auto in the game doesn't affect any of this). Similarly, even though the haptic feedback setting is enabled, the game only uses plain rumble.
steam-1817070.log
Reproduction
On the same machine, the controller speaker and haptic feedback work as expected when running the game on Windows. This issue has been tested over multiple distributions, including Nobara, CachyOS, PikaOS, and ChimeraOS (and possibly others, but I've lost track at this point). I haven't found a Proton version that doesn't exhibit this issue, having tried all of the 8.0 releases, experimental, the last few GE-Proton releases, and the old fork with the relevant patches applied from before they were upstreamed.
Enabling/disabling Steam Input makes no difference, though I'll note that the adaptive triggers don't quite respond the same way with Steam Input enabled as they do with it disabled (in which case they respond as they do on Windows).
It's worth noting that the patches from #5900 used the audio device name "Wireless Controller", I believe matching what was done for the DS4 controller. However, on Windows, the audio device name for the DualSense speaker is actually "DualSense Wireless Controller". I thought that perhaps other games used a substring check while Spider-Man used an exact string comparison, and @rafaelrgazquez went and made a fork to test this theory. The fork uses the proper name, but the game still doesn't use the controller speaker or haptic feedback. From this we conclude that the game is using some other method to use the controller speaker and haptic feedback(possibly in conjunction with device name tests).
In all cases, the audio device does show up as a quadrophonic audio device in
winecfgwith the device name changed accordingly. Testing it there works as expected. No other games with support for the advanced DualSense features seem to exhibit this issue. Spider-Man: Miles Morales might, but I don't have it to test myself.I'm happy to help investigate, though at this stage I'd need some direction. The only thing I could think of trying next was to disassemble the binaries and go hunting for whatever logic controls whether the speaker controller and haptic feedback are detected/used, but I have no clue how to do that (and suspect it would be non-trivial even if I did).