Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Just Cause 2 (8190) #670

Open
stratus-ss opened this issue Aug 26, 2018 · 50 comments
Open

Just Cause 2 (8190) #670

stratus-ss opened this issue Aug 26, 2018 · 50 comments
Labels
Game compatibility - Unofficial Games not expected to work without issues

Comments

@stratus-ss
Copy link

Using Proton 3.7-4 Beta Just Cause 2 crashes on startup with
Unhandled exception: privileged instruction in 32-bit code (0x00449000).

Logs: https://gist.github.com/stratus-ss/6aa9f13c36972cfd0868834d6bce7c50
System info gist: https://gist.github.com/stratus-ss/73e90ae7dcc42caf324190ea36e979cc

I am posting this one because I have seen this error in a few other games I have tried this past weekend. It seems to me there may be a common fix, but this is the game I have put the most time into overall

@legluondunet
Copy link

legluondunet commented Aug 26, 2018

Juste Cause 2 is a DirectX 10 game and I think Proton does not integrate yet the DirectX 10 feature from DXVK (look at the changelog). Anyway, Just Cause 2 is too unstable to be playable with last Wine version and DXVK doitsujin/dxvk#567.

@kisak-valve kisak-valve added the Game compatibility - Unofficial Games not expected to work without issues label Aug 26, 2018
@pchome
Copy link
Contributor

pchome commented Oct 14, 2018

Using Proton 3.16-1 Beta Just Cause 2 can be launched after several attempts.

Overwhelmingly unstable, despite great performance (constant 60 fps).
If anyone wanted to give it a try, here is some hints (noticed when tested earlier DXVK d3d10):

  • don't try to disable vsync, more fps - more frequent crashes
  • HBAO, SSAO and VSync are unstable options, use /FailSafe command-line parameter to restore
  • use e.g. /HBAO=0 /FramerateCap=30 /SSAO=0 /VSync=1 command-line parameters for longer sessions
  • more info : https://pcgamingwiki.com/wiki/Just_Cause_2

@TheChosenEvilOne
Copy link

TheChosenEvilOne commented Oct 17, 2018

I am using Proton 3.16-2 Beta. still unable to launch it
here be the log

System info:

PROCESSOR:          Intel Xeon E5-1607 0 @ 3.00GHz
    Core Count:       4
    Extensions:       SSE 4.2 + AVX
    Cache Size:       10240 KB
    Microcode:        0x714
    Scaling Driver:   intel_pstate powersave

GRAPHICS:           Gigabyte NVIDIA GeForce GTX 750 Ti 2048MB
    Frequency:        1032/2700MHz
    OpenGL:           4.6.0
    Display Driver:   NVIDIA 410.57
    Monitor:          DELL 1908FP
    Screen:           1280x1024

MOTHERBOARD:        INTEL X79
    BIOS Version:     4.6.5
    Chipset:          Intel Xeon E5/Core
    Audio:            Realtek ALC662 rev3
    Network:          Realtek RTL8111/8168/8411

MEMORY:             16384MB

DISK:               160GB Western Digital WD1600JD-55H + 200GB SAMSUNG SP2004C
    File-System:      ext4
    Mount Options:    relatime rw
    Disk Scheduler:   CFQ

OPERATING SYSTEM:   Arch rolling
    Kernel:           4.18.11-arch1-1-ARCH (x86_64)
    Desktop:          KDE Plasma 5.13.5
    Display Server:   X Server 1.20.1
    Compiler:         GCC 8.2.1 20180831 + Clang 7.0.0 + LLVM 7.0.0 + CUDA 10.0
    Security:         KPTI + __user pointer sanitization + Full generic retpoline IBPB IBRS_FW + SSB disabled via prctl and seccomp Protection

@NoXPhasma
Copy link
Contributor

The Game doesn't launch for me as well. In the log file is a trace. steam-8190.log

None of the parameters posted by @pchome helped.

Sysinfo: https://gist.github.com/NoXPhasma/0342aabb8fe583a36509c772718c179d
Proton: 3.16-3 Beta

@pchome
Copy link
Contributor

pchome commented Oct 19, 2018

@NoXPhasma
can be launched after several attempts means dozens (sometimes), where it mostly crashing on loading screen for me.

@NoXPhasma
Copy link
Contributor

I'm not going to smash the launch button just to be lucky at some point. If you look into my log file, you will see that there is a trace, so something wents really wrong and needs to be fixed or considered to be garbage.

@pchome
Copy link
Contributor

pchome commented Oct 19, 2018

If you look into my log file, you will see that there is a trace, so something wents really wrong and needs to be fixed or considered to be garbage.

Backtraces for this game are considered useless, even when I launch this in environment full of debug symbols -- I can see different points every time.

Backtrace:
=>0 0x7c0da0ce _ZN4dxvk18D3D11DeviceContext15BindFramebufferEi+0x28e() in d3d11 (0x0313fbd8)
Backtrace:
=>0 0x7c0e17e6 _ZN4dxvk21D3D11ImmediateContext9MapBufferEPNS_11D3D11BufferE9D3D11_MAPjP24D3D11_MAPPED_SUBRESOURCE+0x186() in d3d11 (0x0032f1c8)
Backtrace:
=>0 0x7c0b1072 _ZN4dxvk18D3D11DeviceContext18BindShaderResourceEjPNS_23D3D11ShaderResourceViewE+0x52() in d3d11 (0x0302f948)

and so on.

I'm not going to smash the launch button just to be lucky at some point.

Aaa..nd you shouldn't.

@lucifertdark
Copy link

Here's a log from Proton 3.16-4 Beta
steam-8190.log

still no joy.

@pchome
Copy link
Contributor

pchome commented Nov 18, 2018

Fun fact: the game now works for PROTON_USE_WINED3D11=1 (aka DXVK disabled).

I successfully launched it three times in a row, just for curiosity.

d3dx10_42, d3dcompiler_43, d3dcompiler_47 are set to native

@legluondunet
Copy link

legluondunet commented Nov 18, 2018

@pchome does not work for me. Then Winetricks can not install d3dcompiler_47, how did you install it?

@pchome
Copy link
Contributor

pchome commented Nov 18, 2018

I copied it from another prefix into game's directory.
But you can try winetricks from git. There is d3dcompiler_47 verb.

@pchome
Copy link
Contributor

pchome commented Jan 2, 2019

The game is stable for me with DXVK built from current git master.
SSAO should be disabled.

FPS =~50-60 with everything maxed (except AF/AA).
GPU Water Simulation wouldn't work, due to missing D3D10 implementation in nvcuda (this option will only appear if you using nvapi).

Also, see above referenced issue, if you trying to launch the game on odd days 🤕 .

@Simmonz
Copy link

Simmonz commented Jan 16, 2019

Just Cause 2 crashes at startup for me as well. I added PROTON_LOG=1 %command% to the game's launch options and received the following log:

steam-8190.log

My system:

https://gist.github.com/Simmonz/43bcff5808cdb180aa995542353a6bb6

@parkerlreed
Copy link

Good news... sorta. Proton 4.2 loads it to a black screen (doesn't crash beforehand at least). Had to Alt F4 and wait for the window manager to offer to kill the process.

steam-8190.log

@SimplyCorbett
Copy link

Good news... sorta. Proton 4.2 loads it to a black screen (doesn't crash beforehand at least). Had to Alt F4 and wait for the window manager to offer to kill the process.

steam-8190.log

Proton 3.16-8 beta has always lead to a black screen on Just Cause 2 for me. Takes 2-3 minutes for the screen to load up though.

The game is fully functional on wine 3.21 and above (oldest version I tested) so this is definitely a proton issue.

There's some talk on here about the game being unstable with certain options selected. I don't use vsync, but the game runs butter smooth with everything as high as they can go on Nvidia's latest drivers in regular wine.

@legluondunet
Copy link

legluondunet commented Mar 27, 2019

I tested JC2 with Wine 4.2 staging (Lutris version) + Steam for windows. The game launched and I can go to the aim menu and launch a demo.
With Proton 4.2 nothing happened.
I joined you the Proton log.
steam-8190.log
https://gist.github.com/legluondunet/8570a65372c3f7b9fea9c365c449cc59

@parkerlreed
Copy link

@tsalwierz Ahh thanks. I thought I had tried on 3.16 and was getting the instant crash. Good to know.

@lucifertdark
Copy link

Proton 4.2-3 still no joy getting it to run.
steam-8190.log
https://gist.github.com/lucifertdark/584c14275612e8e3c4a8070d428d8a02

@NerosTie
Copy link

NerosTie commented May 11, 2019

It works with a cracked .exe and then install with protontricks: d3dcompiler_43, d3dcompiler_47 and d3dx10.
It's not a good thing to use a cracked exe, I hope this DRM will be supported.

The DRM is, with no surprise, CEG. See #753

@legluondunet
Copy link

legluondunet commented Apr 20, 2020

This game seems to work with recent Wine-Saging 5.5 version (and so soon in a future Proton version?).

After a lot of tests, I can finally launch this game (steam version).
If you own the game on Steam, try this recipe:
Install Windows Steam client in a 64 bits wineprefix, then you have to install some dll with winetricks:
winetricks d3dcompiler_47 d3dx10_43
and not use wine vanilla but wine-staging 5.5.

@kisak-valve
Copy link
Member

Just Cause 2 (8190)

Issue transferred from #4644.
@ioannis120 posted on 2021-02-22T13:28:37:

Compatibility Report

  • Just Cause 2
  • App ID:8190
    -Proton version:Experimental

https://gist.github.com/ioannis120/c664f015742641d8441b0f4fdddf985b
steam-8190.log

It does not start
it is also here but no the same issue:#670

@kisak-valve kisak-valve changed the title Just Cause 2 (8190) Unhandled exception: privileged instruction in 32-bit code Just Cause 2 (8190) Feb 22, 2021
@kisak-valve
Copy link
Member

Just cause 2: crash on startup

Issue transferred from #4692.
@nerzhul posted on 2021-03-25T09:14:32:

Compatibility Report

  • Name of the game with compatibility issues: Just cause 2
  • Steam AppID of the game: 8190

System Information

  • GPU: RX 5800
  • Driver/LLVM version: mesa 20.3.4
  • Kernel version: 5.11.8-arch1-1
  • Link to full system information report as Gist:
  • Proton version: 5.13

I confirm:

  • that I haven't found an existing compatibility report for this game.
  • that I have checked whether there are updates for my system available.

<Proton log omitted, please see #4692>

Symptoms

Game crash on startup

Reproduction

Just launch the game

@Conmanx360
Copy link
Contributor

Conmanx360 commented Jun 13, 2021

After some debugging myself, I can confirm the game crashes in Proton due to the Steam DRM working improperly. Code that should get mapped to a certain address doesn't, and the game crashes on an invalid instruction due to this.

Even once that's fixed, it tries to compile shaders that are unsupported with Wine's current built-in d3dcompiler and ends up hanging at a black screen. Hopefully this adds some context for anyone trying to work on this in the future.

@JacobSvenningsen
Copy link

I'm curious if this game will end up working on the Steam Deck. Valve did say they couldn't find a game that didn't just work.
Does that mean there's an in-house Steam build with the necessary DRM-implementation in place?

@smintman
Copy link

Works for me on latest beta client and experimental proton. Just had to run some proton fixes to fix direct x issue.

@K0bin
Copy link

K0bin commented Oct 29, 2021

Just had to run some proton fixes to fix direct x issue.

@smintman What DirectX issues are you talking about? I made the game work with DXVK back in 2019, are there any issues with it now?

@smintman
Copy link

Can’t remember the exact error but was something about Direct x 10 fatal error

Looked in proton db and some where suggesting

using

protontricks 8190 dlls d3dx10 d3dcompiler_43 d3dcompiler_47

Which did the trick and ran amazingly. If I could run it without using the above proton ticks that would be even better?

@d10sfan
Copy link

d10sfan commented Oct 29, 2021

steam-8190.log

Seeing a black screen, then a crash when using, after running the protontricks.

@BillFleming
Copy link

BillFleming commented Oct 30, 2021

I have gotten the game to work properly including a workaround for the game staying permanently minimized. The game seems to detect the xbox 1 controller ok as an option menu shows up for x360 controller. The benchmark tool runs. I didn't actually play the game yet though.

Currently you need to switch Proton Experimental to the "bleeding-edge" beta. Then set the following launch options for the game.
PROTON_NO_FSYNC=1 PROTON_NO_ESYNC=1 %command% /borderless=1
Then in steam re-validate the game files then launch it. Launch is kinda slow but it works. 👍
Esync or Fsync may actually work with CEG but I didn't test. Benchmark showed the game running at 144fps at max settings already.

Note that at least for me the game will be permanently stuck minimized if you don't use the borderless command line switch option. This may work differently depending on DE or number of monitors connected. The game doesn't have a borderless switch in the game, just fullscreen on/off so you have to set it on command line. The game has a binary settings file so even if you could set borderless in the settings file it would be difficult.

Edit: also I had ran "protontricks 8190 d3dx10 d3dcompiler_43 d3dcompiler_47" on the prefix.

@Eric1212
Copy link

Eric1212 commented Oct 31, 2021

Actually, i had to flatpak install flathub com.github.Matoking.protontricks and after had to flatpak run com.github.Matoking.protontricks 8190 d3dx10 d3dcompiler_43 d3dcompiler_47 But i confirm, i can open it.

I did not have to "PROTON_NO_FSYNC=1 PROTON_NO_ESYNC=1 %command% /borderless=1" yet.

@Eric1212
Copy link

Eric1212 commented Nov 1, 2021

I did some test on the campain, it's did go well untill the Casino. Unfortually, i do freeze a lot, had to restart the pc many times. I did try "PROTON_NO_FSYNC=1 PROTON_NO_ESYNC=1 %command% /borderless=1" Not but changes. I will wait for @BillFleming to get pass the Casino to see if he also have issues.

@Eric1212
Copy link

Eric1212 commented Nov 3, 2021

Apparently, my problem wasn't Wine-Proton based but windows players also have it.

There is the solution : https://steamcommunity.com/app/8190/discussions/0/154644598510833416/?ctp=23

I did disabled Decals & Bokeh Filter.

Probably that the Casino scene had more gunfights and action than the precedent scenes.

@thaewrapt
Copy link

protontricks 8190 dlls d3dx10 d3dcompiler_43 d3dcompiler_47

After running this command (this is a prerequisite for DXVK's DX10 support, IIRC) the game is playable.

@parkerlreed
Copy link

Proton Experimental with the protonricks from above it gets to splash screen for 1 second and then crashes out

https://gist.github.com/parkerlreed/42118febd90183f763b087bdf25d763c

steam-8190.log

@parkerlreed
Copy link

parkerlreed commented Jun 19, 2022

Seems to bail at ERROR: Could Not Get Primary Adapter Handle right after wine's built-in avrt.dll audio?

EDIT: Finally got a popup saying fatal DirectX error (Same log entries) after switching back to Experiemental.

@parkerlreed
Copy link

Trying WWINED3D ends in the same errors but spits out some more info about typeless format errors.

steam-8190.log

@parkerlreed
Copy link

I don't know what it is or what it was, completely uninstalling the game and prefix, reinstalling, and using the protontricks from above has finally made this game work.

@parkerlreed
Copy link

parkerlreed commented Jun 19, 2022

If it's not one thing it's another... Was able to play a little bit into the tutorial with no issues. Very shortly after getting the first gun and then hopping on the turret to take out helicopter, a weird mouse issue appears.

Anytime the mouse is moving (which is a lot in an FPS...) the frame rate drops to 0. Stop moving the mouse, back to 60

I've seen this in one or two other games but thought they were one offs and don't recall which ones.

https://gist.github.com/parkerlreed/42118febd90183f763b087bdf25d763c

New log if it's at all helpful

steam-8190.log

Video

20220619_015712.mp4

@parkerlreed
Copy link

parkerlreed commented Jun 19, 2022

Appears to be a re manifestation of https://bugs.winehq.org/show_bug.cgi?id=46976

Setting the USB HID polling rate to 125Hz (off the default 1000) and re plugging my G400s allows the game to work properly.

@SeongGino
Copy link

SeongGino commented Sep 23, 2022

Unfortunately I cannot reproduce any noticeable video dropouts with a high polling rate mouse (G502 Hero), so I can't speak for it being anything but a specific hardware quirk.

One thing I've noticed about JC2 is that it has some NV specific effects when nvapi is enabled - unfortunately, current Experimental seems to lack the ability to enable this for other games, but using the GE fork of Proton I can use PROTON_ENABLE_NVAPI and set a dll override for nvcuda to be enabled. Using this allows the Nvidia-exclusive options "Bokeh Filter" and "GPU Water Simulation" to be toggled in the Advanced Display options, but using either causes the game to crash.

A log, for what it's worth.

Given the recent efforts to enable NVAPI in Experimental, will there be plans to allow this game to be enabled for nvapi support in upstream Proton? And if so, could the nvapi-related crashes in this title be addressed? If not, would this be considered a DXVK-NVAPI issue (considering it's only affected by having the NVAPI enabled), or an upstream DXVK one (because of it causing crashes, presumably unimplemented functions in that side)?

@Blisto91
Copy link

Blisto91 commented Sep 23, 2022

@SeongGino You mean running with PROTON_ENABLE_NVAPI=1 in regular Proton doesn't expose the extra options but does with Proton GE?

nvcuda is a dll included with valves wine fork from what i can see. But it doesn't actually contain any code.
Tho i see wine staging have some work/patches for it.

@K0bin
Copy link

K0bin commented Sep 23, 2022

I'm pretty sure the Wine Staging version doesn't support D3D interop, especially not with DXVK.

I think it's possible to implement (a lot of the CUDA interop work is already done for DLSS) but I don't think anyone is going to do it.

@SeongGino
Copy link

@SeongGino You mean running with PROTON_ENABLE_NVAPI=1 in regular Proton doesn't expose the extra options but does with Proton GE?

nvcuda is a dll included with valves wine fork from what i can see. But it doesn't actually contain any code. Tho i see wine staging have some work/patches for it.

Indeed. This is all just history from my experimentation with Batman: Arkham Asylum's PhysX and what I found (typically) allowed real HW accelerated CUDA operations.

I guess I'm not all that surprised that support for these functions in JC2 may not come; I was simply being thorough with reports when going through my PhysX/CUDA-utilizing games library--it's the only game I've found which doesn't work with Nvidia extras. Would be nice if it ever came tho - even if it's just for some minor graphical nicety.

@IceBreak-23
Copy link

So far didn't have any problem playing using the Protontrick method
protontricks 8190 dlls d3dx10 d3dcompiler_43 d3dcompiler_47

tested under Ubuntu 22.04.2 LTS x86_64 with Proton Experimental, full controller support and gyro.

@legluondunet
Copy link

legluondunet commented Sep 23, 2023

The game does not launch, whatever the tips I tested on Protondb.
I can only see the first screen, then the game exits.

https://gist.github.com/legluondunet/8c353105c386d1a121041a3ad1b4a2b4

steam-8190.log

@legluondunet
Copy link

legluondunet commented Dec 14, 2023

I uninstalled the game and reinstalled it today, it launched fine, without any tricks, no need to install anything with protontricks either, you changed something that could explain this good news ?

@waspennator
Copy link

Game still gets stuck on a black screen on launch on my oled deck.

steam-8190.log

@jessienab
Copy link

jessienab commented Apr 25, 2024

I got it working, here are my steps:

  1. Install game
  2. Set to use Proton-GE under Settings (Proton-GE 9_4)
  3. Do not launch the game, run protontricks 8190 dlls d3dx10 d3dcompiler_43 d3dcompiler_47
  4. Launch the game, it should load without issue.

However, I was running into one issue. The game would launch but immediately crash with this error:

Fatal DirectX error!
Code: 1
Result: 0x80004005: E_FAIL
The game will now exit. Try starting the game with /failsafe if the problem persists.

The solution was the install the following packages:

lib32-vulkan-radeon
lib32-vulkan-mesa-layers
lib32-vulkan-icd-loader

DXVK was throwing these errors:

6611.335:0124:0128:err:vulkan:wine_vk_instance_load_physical_devices Failed to enumerate physical devices, res=-3
6611.335:0124:0128:err:vulkan:wine_vkCreateInstance Failed to load physical devices, res=-3
6611.351:0124:0128:trace:loaddll:free_modref Unloaded module L"C:\\windows\\system32\\winevulkan.dll" : builtin
err:   DxvkInstance::createInstance: Failed to create Vulkan 1.1 instance

Thus the missing 32-bit libraries were needed, as the game is indeed 32-bit and not 64-bit.


Arch Linux, 6.6.28-1-lts

proton-ge-custom-bin 1:GE_Proton9_4-1

lib32-vulkan-icd-loader 1.3.279-1
lib32-vulkan-intel 1:24.0.5-1
lib32-vulkan-mesa-layers 1:24.0.5-1
lib32-vulkan-radeon 1:24.0.5-1
vulkan-headers 1:1.3.279-1
vulkan-icd-loader 1.3.279-1
vulkan-intel 1:24.0.5-1
vulkan-mesa-layers 1:24.0.5-1
vulkan-radeon 1:24.0.5-1
vulkan-tools 1.3.269-1

@legluondunet
Copy link

@waspennator @jessienab
I just uninstalled "Just Cause 2" on Steam and reinstall it:

  • default Proton: NOK , black screen
  • experimental Proton: NOK
  • GE-Proton-4: OK

I never need to install anything with Protontricks, I think it is no more necessary, Steam already install all this dependencies at first game launch.

Result could depend your config too, this is mine:

Manjaro 23.1.4 Vulcan
Kernel: x86_64 Linux 6.6.25-1-MANJARO
Proc: AMD Ryzen 9 5900HX
GPU: AMD Radeon RX 6600M
Drivers: Mesa 24.0.2
Resolution: 1920x1080
32 Go RAM
DE: Xfce4

@legluondunet
Copy link

One more thing:
once I launch the game with GE-Proton-4, I can launch it with standard Proton and experimental too...
GE-Proton-4 changed something in game Proton prefix that permit the game to launch with others Proton version too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Game compatibility - Unofficial Games not expected to work without issues
Projects
None yet
Development

No branches or pull requests