Open bjconlan opened 6 years ago
It's simply a DRM which is not supported by Proton. It works with a cracked exe. Not related with PhysX at all.
The DRM is: SecuROM 7.40.0005 & SDK
It is working with Proton 7.0-2, but there is heavy audio crackling on the main menu
Specs:
@ranplayer For your black screen issue with 7.0-3RC does it make a difference if you launch the game with
PROTON_USE_WINED3D=1 %command%
@Blisto91 it crashes on launch with WineD3D on: steam-21670-proton70-3-wined3d.tar.gz
Roger. It did crash the first time for my with 7.0-3RC, but after that it worked fine. This was on a amd gpu, but i will test with nvidia as well.
I was debugging the crackling audio and was working on a script that would pull a newer version of the openal.dll
files into the games prefix to fix it. (Which worked)
But then i noticed the actual issue seems to be that when the game installs openal, as part first of the first time setup, for some reason it only replaces protons 64bit symlink openal.dll
. The 32bit one doesn't get replaced and the installer instead leaves a file called OpenAL32.new
. This file is supposed to have been renamed and replace the 32bit symlink.
The audio crackling is because the game doesn't like the openall that proton provides i seems.
Renaming it to replace the proton symlink fixes the audio
mv ~/.steam/steam/steamapps/compatdata/21670/pfx/drive_c/windows/syswow64/OpenAL32.new ~/.steam/steam/steamapps/compatdata/21670/pfx/drive_c/windows/syswow64/openal32.dll
This is for the default steam path.
I'm not sure why the installer the game provides fails to correctly install the 32bit version. I tried running it in regular wine and there both dll's seemed to get replaced.
@ranplayer can you also try with PROTON_NO_ESYNC=1
Do you have any kernel with fsync that you can use?
When i experienced the issue on my similar nvidia setup i had just switched from pulseaudio to pipewire-pulse & pipewire-jack (both pipewire and pulse audio was installed before hand, so just removed pulseaudio by installing pipewire-pulse) and then rebooted. After that it didn't want to start with 7.0-3RC. But i did some other stuff too which i don't remember so it might not be the cause. And i had issues reproducing it after messing with some more stuff.
That's a good data point. I don't think it's pipewire alone as I'm using pipwire-pulse on most of my system and I wasn't able to hit the issue even once.
Yes i don't really believe there is a strong connection either. I also use pipewire-pulse on my main amd setup and there i haven't experienced this issue at all except 1 crash the very first time i started it. And i've been starting it on and off quite alot to debug the audio issue above and some testing for a dxvk pr. both with 7.0-3RC and 7.0-2
Hi, folks. I've tried NO_ESYNC and the latest kernel (5.18) thas has fsync enabled, but no success. I've captured some logging from journal and find some interesting lines:
Jun 15 09:19:03 gamer-desktop pipewire-pulse[1281]: mod.protocol-pulse: client 0x555a82872000 [bionic_commando.exe]: ERROR command:-1 (invalid) tag:4 error:25 (Input/output error)
I've made a little research and found out that some people have issues with pipewire-media-session
and switched to wireplumber
. I've tried the same move, but no success (at least the error vanished)
The other error lines were:
Jun 15 09:28:29 gamer-desktop kwin_x11[981]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 42775, resource id: 10488402, major code: 3 (GetWindowAttributes), minor code: 0
Jun 15 09:28:29 gamer-desktop kwin_x11[981]: qt.qpa.xcb: QXcbConnection: XCB error: 9 (BadDrawable), sequence: 42776, resource id: 10488402, major code: 14 (GetGeometry), minor code: 0
But I don't know what I could try for these ones.
I'm going to share my pipewire config files (located in /etc/pipewire
) (perhaps there are something misconfigured)
@Blisto91 I will try the fix you suggested for the audio crackling as soon as I able to boot the game again. Thank you.
@ranplayer I uploaded a build that I think would be interesting to test here: https://www.codeweavers.com/xfer/alasky/proton-test/ The lock code is just "proton" :) It is a redist build, so you can test it by: 1) Create a folder called compatibilitytools.d here: ~/.steam/steam/compatibilitytool.d 2) Drop the build in that folder 3) Untar the build 4) Reboot Steam 5) The build will now show up as another available Proton version in the drop-down menu when you select which Proton version to use for the game.
@alasky17 it worked ! I've also tried @Blisto91 fix for the audio crackling, and it works as well. Thank you, folks.
Sweet good to hear. Gj alasky
I have opened a PR in the dxvk repo that will default cap the max fps of the game to 144 since the physics in this game is known to break when the frame rate is above that. So hopefully most issues will have been solved soon.
@ranplayer Awesome! The change to fix the crash is a bit risky, so if you happen to use that build with other games and find regressions, please let me know :)
Great, @Blisto91 . I didn't know about this issue, but I realized that using vsync with my 144hz display device fixed the game stuttering.
@alasky17 , I've tested with a few titles, and until now it is fine. If you have a game spec that might crash because of these changes, let me know and I can test some of my titles that fill in this category.
@ranplayer I don't have anything specific - thank you for testing that!
@ranplayer The change I asked you to test with that build is now included in experimental-7.0-20220621. If you set the game to use Proton Experimental, hopefully you will not run into the crash - please let me know if you do :)
I have gone ahead and changed the fps cap to 60 instead of 144 in the pr i have open. See pr comments for reasoning.
In future releases if anyone want to unlock the fps (if it get's merged) they can launch with this variable
DXVK_FRAME_RATE=0 %command%
Or set it to another number if they want to lower or raise it.
Edit: it has been merged.
This game does not launch at the default Proton 9 on Steam Deck, despite being labeled as Playable.
The current workaround is to force it to Proton 5, launch Bionic Commando 2009 then quickly exit out the game, now choose newer Proton versions up to Proton 7.0-6. going above and the game will crash upon boot up and you will have to redo the steps again.
You might need to also rename "OpenAL32.new
" to "OpenAL32.dll
" while you're at it.
I can also confirm it fails to launch on my oled deck with Experimental, it just shows the Steam loading screen, then right back to the library page.
@AL2009man @waspennator This should be fixed on experimental-bleeding-edge. You might need to verify integrity of files. Please let me know if you are still seeing any remaining issues :) If you've got it working on 7.0, I would recommend saving your prefix before testing in case you are still running into some openal failure. We didn't see any issues related to openal in our testing.
Tried it out on my oled deck with Experimental and it seems to launch and work fine now from what I've played, game also sounded alright to me.
after waiting for Experimental-bleeding-edge gets a update, it works, kinda.
During initial installation (or press "Delete Proton files"); it still refuses to launch. However; the current workaround is to press the "Verify integrity of game files" button. Now the game should launch no problem.
Compatibility Report
System Information
GPU: Nvidia GTX670
Driver/LLVM version: Nvidia 396.54
Kernel version: 4.15.0-34-generic (x86_64
Link to full system information report as Gist: https://gist.github.com/bjconlan/9ff7683d15d101f8f015827bb8244785#file-steam-information-txt output.txt
Proton version: 3.7 (1535035861)
I confirm:
NB. I've added an output dump but PROTON_LOG=1 was not populating any file in my home folder, as such I ran the application via:
WINEDEBUG="+timestamp,+pid,+tid,+seh,+debugstr,+module" WINEPREFIX=$PWD/pfx ../../common/Proton\ 3.7/dist/bin/wine ../../common/Bionic\ Commando/bionic_commando.exe > $HOME/output.txt 2>&1
(Also not this is after I installed phyx via winetricks (version PhysX-9.14.0702-SystemSoftware.msi as the version provided in the gamessupport
folder fails to install)Symptoms
Game never presents a window the terminates. I suspected it was because of the required 'physx' dlls not being installed correctly but the application still fails to run.
Reproduction
Run the game via steam (or via pulse on the command line)