Just Cause 2

Just Cause 2

Not enough ratings
How to run Just Cause 2 on Linux
By 🌸 幻 | Valinypse
This guide aims to help those who are unable to play Just Cause 2 on their Linux computers, the steps named here worked for me on Pop!_OS 22.04 (at the moment of writing this) which is based on Ubuntu, so it might be different for you on another distro.

The problemas I managed to solve were a black screen at startup, then I got to surpass it but the game never started even though Steam was telling me it was "running", and after fixing it all I got crashed on the loading screen, then crashed again after intro cinematic and then a stuttering caused by my mouse.

        
  • Fixing the black screen
        
  • Fixing game not opening
        
  • Fixing crash at loading screen
        
  • Fixing crash after intro cinematic
        
  • Fixing stuttering caused by my mouse.
        
  • Extra steps that might help you.

I hope this helps you.
   
Award
Favorite
Favorited
Unfavorite
The black screen issue
First of all, when I tried to run Just Cause 2 via Steam it opened with a black screen, nothing happens and then I'm greeted with the options "Wait" or "Force Quit".

I'm assuming you've already enabled "Enable Steam Play for all other titles" on your Settings/Steam Play menu, probably with "Proton Experimental". We're going to try to install ProtonGE (Made by Thomas Crider a.k.a. "Glorious Eggroll", hence the name), which is a twin project to Proton that added many addions and some of the edits and features from it got merged into Valve's official Proton later.

To install ProtonGE we need to get ProtonUp, here's a link to its GitHub page[github.com], you can also look it up on the Pop_Shop as ProtonUp-Qt.



Here you want to click on "Add version" and, well, install the last version for ProtonGE.

And after finishing it, you need to go to Just Cause on your Steam library, then move to Compatibility and enable "Force the use of a specific Steam Play compatibility tool". Select ProtonGE.



Now the game will launch... theoretically. For some people this seemed to be everything they needed to do to get the game working, but for me it only got rid of the black screen, now the game never opens even though Steam says it is "running".

However to get the next tricks working I still needed ProtonGE, so now let's go to the next steps.
The 32 bit issue
Apparently this game's problems are heavily related to DirectX. Just Cause 2 is too unstable to be playable with last Wine versions and DXVK, and it crashes because it is a 32 bit .exe and it runs out of memory.

On ProtonDB you can see a lot of people saying that you need to use "protontricks 8190 d3dx10 d3dcompiler_43 d3dcompiler_47", that's what helped me so here's what you need to do.

We're going to install Protontricks, a wrapper script that allows you to easily run Winetricks commands for Steam Play/Proton games among other common Wine features, such as launching external Windows executables. This is often useful when a game requires closed-source runtime libraries or applications that are not included with Proton.

Here's a great page about how to get Protontricks[simpler-website.pages.dev], in my case I followed the "Debian and Ubuntu based Linux distros" steps.

sudo apt install -y python3-pip python3-setuptools python3-venv python3 -m pip install --user pipx python3 -m pipx ensurepath

-Close, reopen terminal.

pipx install protontricks

Now you can click on Protontricks on your Applications tab or type "protontricks --gui" on the terminal.


The next thing you need to do is to install "d3dx10" "d3dcompiler_43" and "d3dcompiler_47", this is simple. Just open Protontricks, select Just Cause 2, "Select the default wineprefix", "Install a Windows DLL or component" and then select those named above.

But apparently you can also use this command to install those packages.

"protontricks 8190 d3dx10 d3dcompiler_43 d3dcompiler_47".

After doing this and executing Just Cause 2 with forced ProtonGE on Steam, the game finally opened, but I still had some problems.
Crash at loading screen
After finally getting the game to run it ended up crashing on loading screen.

This problem seems to be very common and has nothing to do with Linux (Apparently). I don't know exactly what causes it, but to get it fixed I just needed to disable "Decals" on "Advanced Display Settings".



I found this thanks to the YouTube user "Stephanus Potgieter" on this video, but he also disables an option called "Bokeh Filter" that I don't see on my game.



I had no idea what "Bokeh" was, but just for educational porpuses here's an explanation from
this entry on Solidly Stated[solidlystated.com]:

Originally posted by solidlystated.com:
The word bokeh is taken from a Japanese word meaning blur or haze. In photography, it is a technique that deals with the look of the out-of-focus areas of a picture. Artistically speaking, the photographer wants both the foreground subject and the background to look good. Using a bokeh technique, the photographer gets more than just a plain blurry background. This usually centers around turning points of blurry light into pleasing shapes, as seen to the right.

If you have a CUDA enabled card with at least 256MB of video memory, you can select the bokeh filter and GPU water in the game’s options menu. The Wikipedia has a full list of CUDA supported cards if you are unsure about your card.

Crash after intro cinematic
After disabling "Decals" I was able to see the intro cinematic but the game instantly crashes when I was supposed to play, so looking online I found this entry from Partition Wizard[www.partitionwizard.com] about solving this issue on Windows 10 that worked for me on my Linux distro.

It asks you to turn off Motion Blur on Display Settings, and "Decals", "Bokeh" and "Bullet Impact" from Advanced Display Settings. I don't have those last two options on my game so I just disabled Motion Blur and... Boom!!!



The game was playing fine as yield.
Stuttering caused by the mouse
Yes, I had to fix a black screen, then a "game not opening" problem, then a crash after loading screen, then a crash after intro cinematic and now a stuttering caused by my mouse's polling rate. I don't even like Just Cause that much, but I do like solving these kind of problem and I want to play this game, so here's how I finally ended my tragicomedy.

This last part is very simple and can help users that are experiencing the same problem on Just Cause 3, your stutter is (probably) caused by the Polling Rate of your mouse.

What's "Polling Rate"? The Polling Rate alludes to how frequently your mouse sensor refreshes its position each second. For instance, on the off chance that you have your mouse set to 125Hz Polling Rate, your mouse will refresh its position 125 times each second.

Just Cause 2 suffers from this when you have a Polling Rate superior to 250 (or 500 according to some people), so you can use a tool called Piper to change this or you can use these following tips.


Type this on console.

sudo gedit /etc/modules

After every text with an # you need to add this.

-r usbhid usbhid mousepoll=x

But change "x" with one of the following values.

1 = 1000Hz
2 = 500Hz
4 = 250Hz
8 = 125Hz
10 = 100Hz (Default)

In my case I want to have my mouse on 250Hz, so I change "x" with "4" and it looks like this.



Now save, close and reboot. You can test your current Polling Rate with this command, again changing the "x" with the number you used.

cat /sys/module/usbhid/parameters/mousepoll x

In my case it looks like this.

cat /sys/module/usbhid/parameters/mousepoll 4

If it answers you with the same number that you're using, it worked. If it answers with "0" everytime you try, even if you followed above steps correctly, it probably means that your Polling Rate can't be change due to hardware limitations.

If nothing here helped, try searching for software related to your mouse.
Extra steps from around the Internet
As I said before, you might need to do something different to get the game to run. I don't know, everything I said on this guide helped me but just in case, here's a list of things that I've seen working for other people.

        
  • Download a cracked .exe (While having installed d3dx10, d3dcompiler_43, d3dcompiler_47, with winetricks and on your game prefix).
        
  • Set "-windowed", "/dxadapter=0" or "/dx11" to launch options.
        
  • Use "/frameratecap=" to cap your framerate without sacrificing latency like you do with vsync.
        
  • Configurable support for forcing the LARGE_ADDRESS_AWARE mode. This can help some games which run out of memory when run in Steam Play, for example Bayonetta.
        
  • Do not use Wine vanilla but "wine-staging 5.5".
        
  • Try installing the Gamemode utility and running the game with the launch setting "gamemoderun %command%".
Conclusion
And that's all. I hope this helped you, it did for me.

If you have something to add or correct on this guide I would appreciate it if you leave it in a comment.

Now enjoy!
3 Comments
ysrd 13 Dec, 2024 @ 3:37pm 
I tried this but in the end I used the launch options: PROTON_NO_FSYNC=1 PROTON_NO_ESYNC=1 %command% /borderless=1
TeaOnTwitch 18 Mar, 2023 @ 2:24am 
Do You Have Nvidia GPU?
Lem0n_Bre4d 14 Jan, 2023 @ 1:29pm 
thanks