ValveSoftware / Proton

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

Hard Reset Redux (407810) #1098

Open meowmeowfuzzyface opened 6 years ago

meowmeowfuzzyface commented 6 years ago

I'm on Ubuntu 18.04 using a Fury X with mesa 18.3.0-devel Padoka PPA.

The game crashes on launch with the message "DirectX 10 Device Not Found".

I believe it's the same as this bug: https://bugs.winehq.org/show_bug.cgi?id=40803

meowmeowfuzzyface commented 6 years ago

Wanted to add other things I've tried:

1.Launch options

PROTON_USE_WINED3D10=1 %command%
PROTON_USE_WINED3D11=1 %command%
PROTON_NO_D3D10=1 %command%
PROTON_NO_D3D11=1 %command%

Only the last one made any difference - it caused it to crash immediately without the DX10 error.

  1. Overrides for the prefix with winecfg for d3d10, d3d10_1, d3d10core, and d3d11.

  2. Making a config.cfg in the config directory with r_fullscreen_refreshes "60000/1000"

  3. Renaming hr.x64.exe to launcher.exe to launch game executable directly.

  4. Setting MaxVersionGL to 40002 in the registry as suggested in the above WINE bug report.

lucifertdark commented 6 years ago

Just to report the game is running perfectly with Nvidia drivers & hardware with "PROTON_USE_WINED3D11=1 %command%" added to launch options. https://gist.github.com/lucifertdark/584c14275612e8e3c4a8070d428d8a02

meowmeowfuzzyface commented 6 years ago

Yes, it seems that DXVK isn't working at all with it, so you have to use WINE DX11. That would make sense since that launch option is the only thing let me get past the error, but it looks like it causes a crash on launch with AMD + mesa.

EDIT: Nope, sorry, it was "PROTON_NO_D3D11=1 %command%" that causes the immediate crash without the error. "PROTON_USE_WINED3D11=1" still gives me the DirectX 10 device not found error.

doitsujin commented 6 years ago

@lucifertdark did you do anything special to get it to work with wined3d?

The game itself works fine on DXVK on Windows, but I was never able to start it on Linux due to the same D3D10 error. It's not obvious why it fails.

lucifertdark commented 6 years ago

@doitsujin I just installed & added the launch option above & it works, it must be the old Linux Nvidia/AMD problem again.

NerosTie commented 6 years ago

The workaround doesn't work with primusrun with an Optimus card.

meowmeowfuzzyface commented 6 years ago

@doitsujin I think the DirectX 10 error is misleading. The game uses DirectX 11, so I believe it first attempts to find a DirectX 11 capable GPU. Failing that, it falls back to DirectX 10. If DX10 is also unavailable, it gives you this error.

I'm not a programmer or anything, but I think the trick to getting this game to work will be to get it to pass this initial DX11 check using either DXVK or WINE's DX11. I'm willing to bet it will work perfectly fine if we could just get it past that.

NoXPhasma commented 6 years ago

For me the game works perfectly out of the box with Proton 3.16-4. Sysinfo: https://gist.github.com/NoXPhasma/9ed85e6b0602b656c812acd013ee121f

meowmeowfuzzyface commented 6 years ago

Seems like this game currently only works on Nvidia cards.

sputniktr02 commented 6 years ago

Game runs out of the box with Proton 3.16-4 beta and performance is great, however, intro videos and in game cinematics are not playing.

https://gist.github.com/sputniktr02/3f410eb3d6206ab7bd35b70c6a1bb12c

NoXPhasma commented 6 years ago

@sputniktr02 Have you played the game on Windows and can confirm that there are actually movies? For what I can say is that there are no movie files in the game folder which could be skipped by the game.

Ok, I checked the Extras menu option, there are movies to watch and those get skipped immediately. So I can confirm that movies don't work.

doitsujin commented 6 years ago

@meowmeowfuzzyface thing is, the game works flawlessly on Windows with DXVK, so this bug is not directly related to D3D11.

sputniktr02 commented 6 years ago

@NoXPhasma I haven't played on Windows but I am currently playing non Redux version and there are videos that plays during loading screen for each level that explains the game story.

NoXPhasma commented 6 years ago

Yeah, I figured that out in the Extras menu. Now is the question what format are those videos? They are packed in the bin files and there seems to be no way to look into them.

sputniktr02 commented 6 years ago

@doitsujin Hi, DXVK is working for me on Kubuntu 18.10 with Nvidia GTX 860m (396.54.9) screenshot_20181104_165305

NerosTie commented 6 years ago

From https://appdb.winehq.org/objectManager.php?sClass=version&iId=33918:


0031:fixme:wincodecs:FormatConverter_CanConvert Unsupported destination format {f5c7ad2d-6a8d-43dd-a7a8-a29935261ae9}
Maybe it's related to this message?
meowmeowfuzzyface commented 5 years ago

I'm still having the DirectX 10 Device Not Found error with Proton 4.2-1. The above mentioned bug was fixed in WINE 3.21 with this commit, but it does not seem to be fixed in Proton as of yet.

kisak-valve commented 5 years ago

Hello @meowmeowfuzzyface, please add PROTON_LOG=1 %command% to the game's launch options and drag and drop the generated $HOME/steam-$APPID.log into the comment box. Also, please verify you have mesa-vulkan-drivers installed with something like apt policy mesa-vulkan-drivers mesa-vulkan-drivers:i386.

meowmeowfuzzyface commented 5 years ago

steam-407810.log

Output of apt policy mesa-vulkan-drivers mesa-vulkan-drivers:i386:

mesa-vulkan-drivers:
  Installed: 18.2.8-0ubuntu0~18.10.2
  Candidate: 18.2.8-0ubuntu0~18.10.2
  Version table:
 *** 18.2.8-0ubuntu0~18.10.2 500
        500 http://us.archive.ubuntu.com/ubuntu cosmic-updates/universe amd64 Packages
        100 /var/lib/dpkg/status
     18.2.2-0ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu cosmic/universe amd64 Packages
mesa-vulkan-drivers:i386:
  Installed: 18.2.8-0ubuntu0~18.10.2
  Candidate: 18.2.8-0ubuntu0~18.10.2
  Version table:
 *** 18.2.8-0ubuntu0~18.10.2 500
        500 http://us.archive.ubuntu.com/ubuntu cosmic-updates/universe i386 Packages
        100 /var/lib/dpkg/status
     18.2.2-0ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu cosmic/universe i386 Packages

I should also mention that other Proton games are working normally, including GTA V, all 3 Dark Souls games (not the remaster), and Path of Exile.

AwesamLinux commented 5 years ago

Distro: Linux Mint 19.1 Tessa (64 bit) GPU: Vega 56 Driver/LLVM version: Mesa 19.1.0-devel/9.0.0 Kernel version: 5.0.12-050012-lowlatency Proton version: 4.2-3

Game worked out of the box, except that the videos are skipped

media_info.txt steam-407810.log.zip system_info.txt

I see several mentions of mfplat.dll in the logs Videos are: .bin/AVC #1464

(I could play the videos using Xplayer)

meowmeowfuzzyface commented 5 years ago

With mesa 19.0.2 and Proton 4.2-3, I'm still getting the error. So it looks like it may be fixed with mesa 19.1-git. Once it gets to the stable Padoka branch, I'll update and report back.

meowmeowfuzzyface commented 5 years ago

I've updated to mesa 19.1.0 from the Padoka stable PPA. I'm still getting this error.

Here is the log file from my latest attempt: steam-407810.log

And the output of apt policy mesa-vulkan-drivers mesa-vulkan-drivers:i386:

mesa-vulkan-drivers:
  Installed: 19.1.0-0~d~padoka0
  Candidate: 19.1.0-0~d~padoka0
  Version table:
 *** 19.1.0-0~d~padoka0 500
        500 http://ppa.launchpad.net/paulo-miguel-dias/pkppa/ubuntu disco/main amd64 Packages
        100 /var/lib/dpkg/status
     19.0.2-1ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu disco/main amd64 Packages
mesa-vulkan-drivers:i386:
  Installed: 19.1.0-0~d~padoka0
  Candidate: 19.1.0-0~d~padoka0
  Version table:
 *** 19.1.0-0~d~padoka0 500
        500 http://ppa.launchpad.net/paulo-miguel-dias/pkppa/ubuntu disco/main i386 Packages
        100 /var/lib/dpkg/status
     19.0.2-1ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu disco/main i386 Packages
NoXPhasma commented 5 years ago

As @AwesamLinux already mentioned, it needs mfplat. After I've installed mfplat into the prefix, movies are played perfectly fine.

madprops commented 2 years ago

Happening with a Radeon RX 460

devilsclaw commented 1 year ago

I have seen this for both DX10 and DX11 and it is usually caused by the nvidia vulkan wrapper being messed up. In : /usr//share/vulkan/icd.d/ you will see nvidia_icd.disabled_by_nv_vulkan_wrapper, nvidia_icd.json, nv_vulkan_wrapper.json

on easy step to copy all three file to somewhere safe and then rename nvidia_icd.disabled_by_nv_vulkan_wrapper to nvidia_icd.json and rm nv_vulkan_wrapper.json and then test.

The other option is to uninstall the nvidia drivers all of time and then reinstall them including prime i think.

NoXPhasma commented 1 year ago

@devilsclaw What distribution are you using? I don't have those files, beside nvidia_icd.json in /usr//share/vulkan/icd.d/.

devilsclaw commented 1 year ago

Ubuntu 22.04 is my current. I can say tough it could happen if the vulkan install is corrupt though it does not matter if it has the wrapper or not. In my cause the wrapper its self was needing a .so file that failed to load and caused that problem but if any of the vulkan files cause it to fail to load this would happen.

waspennator commented 4 weeks ago

Game has seemingly regressed as of proton 9.0. If I try and launch the game with proton Experimental, it'll die within 12-13 seconds of it starting (when the hog loops back around on screen after taking off during the logos). This is troubling since the game is deck verified.

The problem vanishes as soon as I drop to 8.0-5

steam-407810.log

I think this game needs nvapi turned off, cause I see a bunch of nvapi spam and I can get past the logos if I turn off nvapi. Even beat a level without issue.

kisak-valve commented 4 weeks ago

Hello @waspennator, please also share a Proton log from the game running with Proton 9.0. Your choice of wording makes it unclear if you tested the point release and then went on to see how it behaves with Proton Experimental or if you tried the game with Proton Experimental and inferred that it had similar behavior with Proton 9.0.

Regardless, it might be interesting to test what happens with Proton 9.0 and the game's launch options set to PROTON_DISABLE_NVAPI=1 %command%.

waspennator commented 4 weeks ago

Hello @waspennator, please also share a Proton log from the game running with Proton 9.0. Your choice of wording makes it unclear if you tested the point release and then went on to see how it behaves with Proton Experimental or if you tried the game with Proton Experimental and inferred that it had similar behavior with Proton 9.0.

Regardless, it might be interesting to test what happens with Proton 9.0 and the game's launch options set to PROTON_DISABLE_NVAPI=1 %command%.

I get the exact same behavior with 9.0, I usually try to test out things with proton Experimental most times. Log is the same as Experimental with nvapi and it's fixed as soon as I put in the command, the only difference is the fmvs not playing out right, that's fixed up when using Proton Experimental with the new media source.

I also saw a protondb report from another steam deck user who also confirms the game crashes using 9.0 or higher in a short period of time unless you drop down to 8.0-5,

alasky17 commented 3 weeks ago

@waspennator Thank you so much for the report! I disabled nvapi by default for the game in experimental-bleeding-edge for now -- it turns out it is one of those games that fails if it detects NVAPI on AMD GPUs (a known issue). Also thanks for the heads up about the verification status so that we can point it to 8.0-5 until this trickles into 9.0-stable :)

waspennator commented 3 weeks ago

@waspennator Thank you so much for the report! I disabled nvapi by default for the game in experimental-bleeding-edge for now -- it turns out it is one of those games that fails if it detects NVAPI on AMD GPUs (a known issue). Also thanks for the heads up about the verification status so that we can point it to 8.0-5 until this trickles into 9.0-stable :)

Thank you, I also did some more testing later on and I believe the windows version of Shadow Warrior reboot (233130) also suffers from the same nvapi bug that this does. Though that one is set to use the linux version.

waspennator commented 1 week ago

Issue has been solved on proton Experimental and game works fine now which means it can be bumped out of unsupported status, Shadow Warrior 2013 still needs nvapi toggled off cause it still crashes on latest proton Experimental

alasky17 commented 1 week ago

@waspennator Thank you for the reminder! I just pushed an update to bleeding-edge to disable nvapi for Shadow Warrior as well -- another one that fails if nvapi is enabled and it detects an AMD GPU :)