ValveSoftware / Proton

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

Nioh (485510) #1287

Open darkpumpkins opened 6 years ago

darkpumpkins commented 6 years ago

I tried running Nioh under Steam Play but it crashed at launch. I was able to reach the launch dialog to configure the game and the graphics settings then when i clicked on launch the game a window appeared then it crashed.

I'm using proton 3.7-5 beta with driver nvidia 396.54 Ubuntu 18.04.1 - gnome 3 Intel core i5-2500k MSI Geforce GTX 970 Gaming 4G 12Go DDR3@1600Mhz

darkpumpkins commented 5 years ago

to complete informations : kernel : 4.15.0-34-generic

and the log : steam-485510.log

kisak-valve commented 5 years ago

From the log: err:winediag:FILE_CreateFile Too many open files, ulimit -n probably needs to be increased

Please read https://github.com/ValveSoftware/Proton/blob/proton_3.7/PREREQS.md#fd-limit-requirements.

darkpumpkins commented 5 years ago

My bad, i did not see that requirement, thanks ! Well now : ulimit -Hn does return me 1048576 But i do still have crash at launch here is my log :

steam-485510.log

darkpumpkins commented 5 years ago

@kisak-valve i also had to use that tutorial => https://phpsolved.com/ubuntu-16-increase-maximum-file-open-limit-ulimit-n/ to increase the ulimit, with your link it not was enough to unlock max number of files open.

jasondewitt commented 5 years ago

I just experienced the exact same problem, Ive set my ulimits to the recommended, and I dont see the too many open files error. My system details:

Arch Linux
4.18.9-arch1-1-ARCH
Ryzen 7 2700X
32GB DDR4
Nivida GTX970
Nvidia driver version 396.54`

Here is my log steamlog-nioh-09222018.log

psy-q commented 5 years ago

Nioh needs ID3D11Multithread which might never be implemented. At least it's not in DVXK yet as far as I know and the game won't run without it.

mbkv commented 5 years ago

It eventually did get implemented, and it seems like it was pulled in, in 3.16-6 beta. But I get a black screen instead of it crashing on launch steam-485510.log

Kubuntu 18.04 Intel Core i5-4690K Radeon RX 580 Series 16Gb DDR3

kernal: 4.15.0-43-generic

psy-q commented 5 years ago

Yeah, I would love to see that person's setup, if it really works, there must be something they forgot to tell us.

Crashes for me with Proton and has the black screen issue with plain WINE + DXVK 1.0. Alt tab or not doesn't make a difference. Tested on AMD RX 580.

vjr2 commented 5 years ago

Do the game works now with 4.2-1? I havent install the game yet yo try

ap4y commented 5 years ago

Do the game works now with 4.2-1? I havent install the game yet yo try

I tested it but still getting black screen while music is playing and I can navigate menus with gamepad :(

vjr2 commented 5 years ago

I just tried and it's the same :(

arzardk commented 5 years ago

@vjr2 @ap4y hello! Can you please test this game with config file? Just create config file with this line dxgi.deferSurfaceCreation = True then add this to game launch options: DXVK_CONFIG_FILE="/path/to/config/file.conf" %command% Keep in mind that movies doesn't work. Thank you!

ap4y commented 5 years ago

Wow it works with dxgi.deferSurfaceCreation = True. Thanks a lot for the tip @arzardk! Cutscenes don't work but this happens with other koei tecmo games, might be related to #1464.

vjr2 commented 5 years ago

Confirmed it works! However if you activate a red tomb the game will crash. Also after a death, the engine somehow slows down until it can't take it anymore and it crashes. Also death light from enemies who died makes the game crash. PROTON_NO_ESYNC=1 wont fix anything. I tried to upload the log but it's above 10 mb

vjr2 commented 5 years ago

Well yeah, I know movies can be fixed. But my aware are the crashes. It crashes for me when killing with critical hit, it crashes at activating a blood tomb and once it crashes for me for no reason. When I'm back home I Will try ti upload the log. Can anyone confirm if the game crashes for you at that situations?

kisak-valve commented 5 years ago

Hello @vjr2, Proton logs should compress well in an archive if you want to attach that log here.

arzardk commented 5 years ago

@vjr2 can confirm that the game crashes for me after killing enemy.

vjr2 commented 5 years ago

Yeah. I'm in the university right now, but when I'm back home i can actually make a video of gameplay with the things that crashes the game. For me were

1) Activate Bloody Grave: 100% confirmed crash for me 2) Kill Enemies: Happened just once. I think aftter a critical hit 3) Random = Pretty erratic, but I have a theory

As I said I can't go back home now, but all of those situation was when the game tried to load the "tornado-like" animation that appears when you activate a bloody grave or when the enemy drops legendary items. But that's just a theory. When I'm back I will upload a video and the log.

Also somebody also have this issues?

darkpumpkins commented 5 years ago

It does work here too with the "dxgi.deferSurfaceCreation = True" but the game randomly crash.

arzardk commented 5 years ago

My log file before crash. steam-485510.zip

Edit: I don't know if it strange or not, but it seems like the game does not generating DXVK cache but only Nvidia specific cache and "steamapp_pipeline_cache" Edit 2: i found DXVK cache for Nioh not in /steamapps/shadercache/485510 folder but in /steamapps/shadercache/0. Very strange.

vjr2 commented 5 years ago

But that means that there has to be a workaround to force or to guide DXVK to generate cache (?). I'm just speculating. I'm going home now, so later I will upload my log

Edit: I've just read a bit of DXVK documentation and it says it's possible to manipulate state cache and it's destination folder. I'm crossing my fingers so that workaround works

arzardk commented 5 years ago

But that means that there has to be a workaround to force or to guide DXVK to generate cache (?). I'm just speculating. I'm going home now, so later I will upload my log

Edit: I've just read a bit of DXVK documentation and it says it's possible to manipulate state cache and it's destination folder. I'm crossing my fingers so that workaround works

It seems like i found another solution but i need you to test this. Put this line into DXVK config file and try to kill some enemies, activate bloody graves and other things: d3d11.maxFeatureLevel = 11_1

Edit: this option doesn't help because my game just crashed after i killed enemy, but before that i tried around six times and nothing happened. This game have a very strange behavior.

vjr2 commented 5 years ago

Interesting. I'm like 300 meters from home. I Will test that ASAP. I'm pretty hopefull about this

vjr2 commented 5 years ago

@arzardk I just tried your command and nothing, I had a crash but at the 4th enemy killed. Also the performance was so much worse with that command. I will show you the log file steam-485510.zip

vjr2 commented 5 years ago

UPDATE: 100% playable when also add: PROTON_FORCE_LARGE_ADDRESS_AWARE=1 to the command line. I've been played for almost half an hour with no issue

Edit: definetly seems to avoid crashes

darkpumpkins commented 5 years ago

Ok i can reproduce the crash at 100% during the training using the bow and making a critical damage to an enemy (headshot ). I added PROTON_FORCE_LARGE_ADDRESS_AWARE=1 but it didn't help in my case. here is my log : steam-485510.log

kernel : 4.18.0-17-generic OS : Ubuntu 18.10 Driver : Nvidia 415.27 ( GTX 1070ti ) Proc : Intel Core i5 2500k@4Ghz Memory : 12Go Desktop : Lxqt with openbox as WM

vjr2 commented 5 years ago

Ok, the game just now crashed for me. As @darkpumpkins said the command didn't help that much. Maybe I was just lucky

vjr2 commented 5 years ago

steam-485510.zip

vjr2 commented 5 years ago

What does my log mean? I don't know what it means

arzardk commented 5 years ago

What does my log mean? I don't know what it means

Your log file is way much bigger than mine. My log file is 1.6 MB and your is 62.1 MB and it is full of d3dcompiler:skip_dword_unknown 0x00000000 and d3dcompiler:d3dcompiler_shader_reflection_GetDesc iface 0x17544140, desc 0x1650f700 partial stub!messages. I don't know exactly but maybe something wrong with your Proton installation or with your GPU driver because i can't find any of these messages in my log.

vjr2 commented 5 years ago

Yeah it's weird, i dont't know, I'm using nvidia's property drivers

Roshless commented 5 years ago

Can confirm same thing happening on RX 580. PROTON_FORCE_LARGE_ADDRESS_AWARE prevents instant crashing on killing first enemy but game still will crash later. Somehow I only crashed once in tutorial area yesterday.

doitsujin commented 5 years ago

Wait, is this actually a 32-bit game?

darkpumpkins commented 5 years ago

how could we know if it's a x86 or x64 process ? I don't know if that process capture could help ( cf joined picture ). nioh_process

Oschowa commented 5 years ago

If that is gnome-system-monitor, you can right-click -> memory-maps and see if there are 32-bit libraries linked into the process. You can also just run file on the nioh.exe in a terminal. That said, the steam store page says it needs a 64bit OS and I think it is extremly unlikely to be acutally 32bit. That also means that PROTON_FORCE_LARGE_ADDRESS_AWARE won't have any effect.

darkpumpkins commented 5 years ago

In that case it seems to be a 64 bits binary for Nioh. I join my memory map capture. depencies

vjr2 commented 5 years ago

The crash pattern it's pretty errátic. I tried again today and it crashed when activating a bloody grave. This case it's turning weird

ap4y commented 5 years ago

Seems like all cutscenes are encoded using wmv3 codec, you can find them in the movies folder. I tried mfplat workaround and wmv9vcm from winetricks but cutscenes still don't work and still getting crashes.

ap4y commented 5 years ago

Crash log with mfplat and codecs in the prefix, looks like wine segfaults

steam-485510.tar.gz

vjr2 commented 5 years ago

Tried with proton 4.2-2 and still crashing :(

ap4y commented 5 years ago

Played a bit more with codecs and noticed that after native mfplat installation wine still had errors related to quartz, so I installed native version of it and started getting errors related to DirectShow apis from dx9. I tried to use faked3d and all errors disappeared from the log but movies still don't play. Another thing I noticed is that with faked3d dxgi.deferSurfaceCreation = True is no longer necessary, I forced it to False and game still works, crashes still there though.

I also noticed there is an ini file under steamapps/compatdata/485510/pfx/drive_c/users/steamuser/My\ Documents/KoeiTecmo/NIOH/nioh.ini with:

[MOVIE]
bUseRecommendedCodec=1
nUseDXVA=1

But flipping those flags didn't result in significant changes in log. Nioh also has it's own log file in the same folder but content is not super useful:

Revision : 56546w
CreateSystem : SUCCESS
MemAlloc( MEM 1 ) : SUCCESS
MemAlloc( MEM 2 ) : SUCCESS
AnalysisDeveiceCaps : SUCCESS
Boot Path : Z:\home\ap4y\games\steam\steamapps\common\Nioh
My Document Path : C:\users\steamuser\My Documents
Boot Path : Z:\home\ap4y\games\steam\steamapps\common\Nioh
My Document Path : C:\users\steamuser\My Documents
CreateGraphicsDevice : SUCCESS
ResetGraphicsDevice : SUCCESS
DirectInput8Create : SUCCESS
SoundSystem : SUCCESS
vjr2 commented 5 years ago

As proton 4.2-3, the game still crashes :(

ap4y commented 5 years ago

I re-tried nioh again today and was able to finish first mission (island not the starting jail) without crashes, previously it was constantly crashing upon killing first enemy. I played about 4 hours across 2 sessions and had no crashes. I have a theory that it's somehow related to steam input, I had to force it off today (along with steam controller profiles) because gamepad was having issues and noticed that crashes disappeared, turning playstation controller profile on caused crash to re-appear. I also switched to amd gpu and manjaro recently, that might have affected this crash too.

arzardk commented 5 years ago

I re-tried nioh again today and was able to finish first mission (island not the starting jail) without crashes, previously it was constantly crashing upon killing first enemy. I played about 4 hours across 2 sessions and had no crashes. I have a theory that it's somehow related to steam input, I had to force it off today (along with steam controller profiles) because gamepad was having issues and noticed that crashes disappeared, turning playstation controller profile on caused crash to re-appear. I also switched to amd gpu and manjaro recently, that might have affected this crash too.

Just tested three times with forced off Steam Input, and on the third try, game is crashed again. Maybe this is somehow related to Steam Input but I highly doubt it. I think that the root of all problems here is Wine or GPU driver. Also, we need some peoples with AMD GPU to confirm effectiveness of your workaround.

psy-q commented 5 years ago

I've played for over an hour on AMD RX 580, amdgpu driver, in a more advanced mission (something around level 82). No crashes, even when doing headshots with the bow or waking up revenants. Used a DS4 controller as input, with "Steam Controller Configuration" disabled.

I will try to finish this and the next mission at some point, that should be ~ 2 hours of testing.

ap4y commented 5 years ago

I played 8 hours in total on PC with rx580 with radv driver and had no crashes. I tested on another PC today with vega 56 and it was crashing as always. On top of that radv driver with vega has severe visual glitches for shadows and reflections, it's pretty much unplayable. amdvlk doesn't have visual glitches with vega but still has usual crashes. I wonder why rx580 works so well.

psy-q commented 5 years ago

I have very few issues with RX 580 and amdgpu overall, I think maybe the older architecture it uses is better understood and more fully implemented in the amdgpu driver? So that might indicate it's something in the driver that causes the crash. I first thought it's one particular shader that crashes all cards, but that doesn't seem to be the case if RX 580 works.

Please give me a few days to verify stability with Nioh, I will try to produce many critical hits, wake up many revenants and do all sorts of things that seem to provoke the crash on other configurations.

kisak-valve commented 5 years ago

Hello @ap4y, please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report. In particular, what video driver versions are you testing with the Vega 56?

ap4y commented 5 years ago

@kisak-valve configs of both PCs are here

Visual glitches on Vega 56 with radv (a bit hard to show with still image, it's actually constantly flickering in the game):

2019-05-03-191151_3360x2560_scrot

Vega 56 with amdvlk:

2019-05-03-191904_3360x2560_scrot

hakzsam commented 5 years ago

Hi folks,

I can reproduce the problem on Vega10 and RADV with mesa-19.0.3/LLVM 8 and mesa-git/LLVM 8. Note that the problem is NOT present with 19.0.2/LLVM 8, it also works fine with LLVM 9. It's actually similar to https://bugs.freedesktop.org/show_bug.cgi?id=110573 I'm working on a fix.