ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.09k stars 1.05k forks source link

Just Cause 2 (8190) #670

Open stratus-ss opened 6 years ago

stratus-ss commented 6 years ago

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 commented 6 years ago

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 https://github.com/doitsujin/dxvk/issues/567.

pchome commented 5 years ago

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):

TheChosenEvilOne commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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

NoXPhasma commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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

still no joy.

pchome commented 5 years ago

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 commented 5 years ago

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

pchome commented 5 years ago

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

pchome commented 5 years ago

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 :face_with_head_bandage: .

Simmonz commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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

lucifertdark commented 5 years ago

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

NerosTie commented 5 years ago

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 https://github.com/ValveSoftware/Proton/issues/753

legluondunet commented 4 years ago

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 commented 3 years ago

Just Cause 2 (8190)

Issue transferred from https://github.com/ValveSoftware/Proton/issues/4644. @ioannis120 posted on 2021-02-22T13:28:37:

Compatibility Report

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

It does not start it is also here but no the same issue:https://github.com/ValveSoftware/Proton/issues/670

kisak-valve commented 3 years ago

Just cause 2: crash on startup

Issue transferred from https://github.com/ValveSoftware/Proton/issues/4692. @nerzhul posted on 2021-03-25T09:14:32:

Compatibility Report

System Information

I confirm:

<Proton log omitted, please see #4692>

Symptoms

Game crash on startup

Reproduction

Just launch the game

Conmanx360 commented 3 years ago

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 commented 3 years ago

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 commented 2 years ago

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

K0bin commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

steam-8190.log

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

BillFleming commented 2 years ago

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. :+1: 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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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

steam-8190.log

parkerlreed commented 2 years ago

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 commented 2 years ago

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

https://user-images.githubusercontent.com/841440/174467931-414d72d7-ce0e-47e4-ac2a-3e607399e5f6.mp4

parkerlreed commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

@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 commented 2 years ago

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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

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 commented 9 months ago

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 commented 5 months ago

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

steam-8190.log

jessienab commented 5 months ago

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 commented 5 months ago

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

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 commented 5 months ago

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.