Game Not Working On Steam But working in Bottles

Well I have been using EndeavourOS for the past 6 months so I certainly am not a rookie (I’m a kawaii noobie).

I wanted to play Just Cause 2 on steam through proton and upon trying to launch it , it simply gives me a black screen. I have troubleshooted it in the following ways:

  • Following tinkering steps listed on ProtonDB
    -Verifying Game Files
    -Installing dependencies(lib32-mesa,lib32-vulkan-intel,etc)
    -Tried ProtonGE

Surprisingly trying the same copy of the same game with a crvck in Bottles renders the game perfectly playable with no such issues as steam. Irony is , that it was working just fine 1 month ago on steam .

I believe this to be a result of valve not updating their libraries that proton and steam rely on and since Arch has a rolling release model, this has caused a compatibility break in a very specific game.

I believe the fix would be trying to run the same game on stable-release-ish distro like Manjaro , Ubuntu , etc and see if the game works.But as several members of the community have told me numerous times that my eagerness and shitty habit of re-installin everytime leads to the issue not being solved , so I won’t be taking that route immediately.

Although I could easily apply the crvck and play the game easily without issues and this is the ONLY game that craps out like this , it still would be nice to see it in my steam library.

All thoughts are welcome.
Hitman_Agent47(LolFlasherNoobX On Garuda Forums)

you can easily check your theory by installing steam-native-runtime and starting steam with the native launcher that comes with it - steam then uses the system libraries, not the bundled ones.
If you already do that, try launching steam with the regular launcher so that you use the steam-runtime with the steam-bundled libraries.

You have tried an external Proton, but have you also tried the different Proton versions that steam offers in the compatibility tab of the games steam settings? Whenever I have a problem with the default Proton (extremely rare event for me), switching to proton-experimental or an older proton version fixes it.

Steam Native doesn’t yield any good results either . Steam’s official proton and ge proton , nothing has worked so far.

Steam has many versions of the official proton. Did you try different versions?

1 Like

reading and applying the gained knowledge is not your best skill, hm? :wink:

It appears to be working fine, but install location seems to matter.

Proton 8 and Proton 7 , doesnt work . Earlier worked with Proton 8 and GE.

and what about proton-experimental? It is a weekly updated proton-build …

Nope , no luck so far

Here is a log that I gathered from Proton if it helps , just in case:

Here are the lines that indicate an error:

165.074:0134:0170:err:d3dcompiler:D3DCompile2 Failed to compile shader, vkd3d result -4.
165.074:0134:0170:err:d3dcompiler:D3DCompile2 Shader log:
165.074:0134:0170:err:d3dcompiler:D3DCompile2     <anonymous>:6:160: W5017: Loop unrolling is not implemented.
165.074:0134:0170:err:d3dcompiler:D3DCompile2     <anonymous>:6:225: E5018: Offset must resolve to integer literal in the range -8 to 7.
165.074:0134:0170:err:d3dcompiler:D3DCompile2 ```

This game has been known to have issues for varying reasons for different machines/installs for years. Since the ProtonDB page was already posted, I’ll post the GitHub Proton page as well for the game: Just Cause 2 (8190)

What worked for many people was using either the default proton, experimental or Proton-GE together with protontricks and install the DLL’s:

  • d3dx10
  • d3dcompiler_43
  • d3dcompiler_47

Does that work for you?

Nope , doesn’t . Strangely as I already mentioned . The game with a crack runs absolutely perfect outside of steam through bottles/lutris.

After seeing your post, I bought the game to see if it would launch for me. It doesn’t launch until you run “protontricks 8190 dlls d3dx10 d3dcompiler_43 d3dcompiler_47”, several people in the comments of the game in Protondb mentioned it.

You bought it ! For the sake of my post ! Wow , Thanks Man ! Well the required dlls were already installed as per protontricks.

I was just curious and I can still refund it. Since it worked for me maybe there something that’s causing trouble in the the current prefix that Just Cause 2 is installed in. If you uninstall the game through Steam it will delete the location where the prefix is located in. Then when you reinstall it, it will create a clean prefix. Then run “protontricks 8190 dlls d3dx10 d3dcompiler_43 d3dcompiler_47” and then try launching the game?

I can still delete the prefix tho . Wait lemme try

Just go to Steam, right click on the game. Then go to “Manage”, then finally click on “Uninstall” That will delete the game id directory that the prefix is located in. Then select the game again and then click install, it will then redownload the game and create a new clean prefix. After installation is done run “protontricks 8190 dlls d3dx10 d3dcompiler_43 d3dcompiler_47” from the command-line and it will install the needed things in the new prefix.

I have just deleted the prefix through protontricks , let’s see if my approach works . If not I will just play with the crack.

Just uninstall the game through Steam and then install it again afterwards. That will leave you with a newly created prefix with only the game installed. Then you can install the needed stuff through protontricks what other people on ProtonDB and Github game issue mention.
protontricks 8190 dlls d3dx10 d3dcompiler_43 d3dcompiler_47
I’m jusing, Proton 8.

Prefix location is here: steamapps/compatdata/8190/pfx , 8190 will get deleted if you uninstall the game and recreated when you install it again with a clean prefix with just the game installed.

K, Will try and let you know.

Works after a reinstall . Thanks for the help !