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

NieR Replicant ver.1.22474487139... (1113560) #4777

Open
MagZu opened this issue Apr 23, 2021 · 98 comments
Open

NieR Replicant ver.1.22474487139... (1113560) #4777

MagZu opened this issue Apr 23, 2021 · 98 comments
Labels
Game compatibility - Unofficial Games not expected to work without issues XAudio2 Uses the XAudio2 subsystem

Comments

@MagZu
Copy link

MagZu commented Apr 23, 2021

Compatibility Report

  • Name of the game with compatibility issues: NieR Replicant ver.1.22474487139
  • Steam AppID of the game: 1113560

System Information

I confirm:

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

https://gist.github.com/MagZu/859f606313d7b94f639130f8832c3dd1

Symptoms

Game is supposed to play intro videos when you wait in the title screen. but with proton the game crashes when its about to play the video.
Checking the folder where the video files is i see there is a bunch of .arc files thinking whenever one of them gets played the game will crash. I haven't reached far enough to see this happen. but Ending cut scenes will likely crash the game.

Reproduction

wait in the title screen where it says "Press a key to start" the menu will fade and then game crashes.

@kisak-valve kisak-valve added the Game compatibility - Unofficial Games not expected to work without issues label Apr 23, 2021
@kisak-valve kisak-valve changed the title NieR Replicant ver.1.22474487139 intro video crashes the game NieR Replicant ver.1.22474487139 (1113560) Apr 23, 2021
@kisak-valve kisak-valve added the XAudio2 Uses the XAudio2 subsystem label Apr 23, 2021
@ghost
Copy link

ghost commented Apr 23, 2021

It seems to be a problem with the d3dcompiler_47, install the native version with protontricks

@MagZu
Copy link
Author

MagZu commented Apr 23, 2021

It seems to be a problem with the d3dcompiler_47, install the native version with protontricks

tested and that didnt do the trick. i see kisak added the XAudio2 label so i tried installing xact via protontricks as well. but that didnt do the trick either

@olav-valle
Copy link

olav-valle commented Apr 24, 2021

I know this is probably really unhelpful, especially as I'm my on a phone right now and can't give meaningful rapports, but the game seemed to run fine for about an hour at whatever proton version and settings were pre-defined by Valve. Solid 60@1440, with NPCs glaring at us the whole time.

Specs are: GTX 1080ti, 9900k@stock, 2TB SSD NVMe drives.

I promise I'll update with proper specs and related etc. when I wake up.

@maverck
Copy link

maverck commented Apr 24, 2021

on launch i got a black screen with an audio pop

installing xact64 using protontricks got me into the title screen but as above the game will crash when it tries to play the titlescreen video. Starting a new game resulted in a flat green screen with audio. i didn't try going further.

5900X, 6900XT, 5.11.16-2-MANJARO, mesa-21.0.3

log

nier_green

@Gambloide
Copy link

Given the issue template asks me to confirm not having found any other reports for I game, I take this to mean we should not open multiple reports for the same game. While I don't think I observe the same issue as MagZu, I'll add my report here as a comment. Please advise if I should make this its own issue instead.


Compatibility Report

  • Name of the game with compatibility issues: NieR Replicant ver.1.22474487139
  • Steam AppID of the game: 1113560

System Information

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.

Symptoms

Normal Steam installation. Both with proton experimental and 6.3-2 the game tries to launch, briefly shows an empty black window and then closes again. Journalctl shows unhandled page faults on read access to to 0xffffffffffffffff in 64-bit code at the time of the crash, with other apparently non-critical errors shortly before.

Reproduction

Try to launch the game

@Oschowa
Copy link

Oschowa commented Apr 24, 2021

@Gambloide from your log https://gist.github.com/Gambloide/5ff532a27acb1d5465bf270ee22f3dec#file-gistfile1-txt-L481:
It fails to find a suitable vulkan driver for some reason. I've seen report from at least one other person that this happened to them with mesa 20.3, but was solved when upgrading to mesa 21.0. Not sure why this error only comes up with this game and mesa 20.3 though because it fails before even initializing vulkan.

@NO-ob
Copy link

NO-ob commented Apr 24, 2021

Compatibility Report

  • Name of the game with compatibility issues: NieR Replicant ver.1.22474487139
  • Steam AppID of the game: 1113560

System Information

  • GPU: RX 5700 XT
  • Driver/LLVM version: Mesa 21.0.3-1
  • Kernel version: 5.11.16
  • Link to full system information report as Gist:
  • Proton version: 6.3-2 and experimental

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.

Symptoms

Installed game via steam when launching via steam play the game will load and show a black screen for about a second before immediately closing, this happens with all version of proton I tested 4+

Reproduction

Install game and launch via steam

@kisak-valve
Copy link
Member

Hello @Gambloide, yes, this is the correct place for all feedback related to running NieR Replicant ver.1.22474487139 with Proton.

libGL error: MESA-LOADER: failed to open amdgpu: /overrides/lib/i386-linux-gnu/dri/amdgpu_dri.so: cannot open shared object file: No such file or directory (search paths /overrides/lib/x86_64-linux-gnu/dri:/overrides/lib/i386-linux-gnu/dri) in your Proton log looks abnormal, and your system information doesn't mention pulling that into the Steam Linux Runtime - Soldier container environment.

Starting with Proton 5.13, Proton is run inside that container environment and if there's a library missing for the video driver, that should be evaluated by the runtime devs. Please open a new issue report in https://github.com/ValveSoftware/steam-runtime/issues focusing on that missing library.

Even if that is resolved, you may still encounter the same trouble running the game that others are seeing.

@sonic2kk
Copy link

Also having this crash on an AMD 4700U laptop with Arch Linux. Game boots up fine, initially the logs indicated that it needed the native d3dcompiler_47 but kept crashing. Based on this thread, I'd guess it crashes because of the cutscene. I'm not seeing any errors about missing graphics drivers. Can't test on my main PC though.

Replicant uses a lot of RAM, moreso than other games I've played even on my main PC. The usage jumps up to almost 8GB before crashing, with Replicant using most of that! I haven't seen it mentioned, so something that other players could keep in mind.

@NO-ob
Copy link

NO-ob commented Apr 24, 2021

If anyone is getting black or white screens and crashes immedietly at startup this might help

"If any of you have non-standard english characters in your username, try removing them. I had Japanese quotation marks in mine and that prevented me from being able to boot the game."

@kisak-valve kisak-valve changed the title NieR Replicant ver.1.22474487139 (1113560) NieR Replicant ver.1.22474487139... (1113560) Apr 24, 2021
@NyaomiDEV
Copy link

I might say, those .arc files could be just compressed assets with the movies in them. I wouldn't be surprised if this turns out to be yet another Media Foundation error.

@JacobSvenningsen
Copy link

I haven't reached far enough to see this happen. but Ending cut scenes will likely crash the game

I think I'm at the ending now, and I've played the fight twice now. After having made your choice and the game fades to black, it crashes. Done so both times.
I'd say you're right.
Since it crashed the first time, I put PROTON_LOG=1 in the launch options and tried again. This isn't the full log as it's some 40MB and the first 500k lines is very much the same as the first 800 lines in the attachment.
Log here
Doesn't tell me much, I'd wager @AryToNeX is right with it being a Media Foundation issue.
Not sure how the Glorious Eggroll patches works around it with other games, if it's game specific hacks, or if they've attempted to make a generic workaround.

@etw10
Copy link

etw10 commented Apr 25, 2021

My issue does involve spoilers for the game. I didn't see a way to do hidden text through markdown on github, so symptom is attached as a gist.

Compatibility Report

  • Name of the game with compatibility issues: NieR Replicant ver.1.22474487139
  • Steam AppID of the game: 1113560

System Information

  • GPU: GTX 980Ti
  • Driver/LLVM version: Nvidia 460.67
  • Kernel version: 5.11.0-7614-generic
  • Link to full system information report as Gist:
  • Proton version: 6.3-2

I confirm:

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

Symptoms

Game crash to desktop after selecting story option and load screen.
More detail, contains spoilers, gist

Reproduction

Choose option, game crashes after load screen.

@popsUlfr
Copy link

I'm baffled by what I encounter with the game: when the intro starts the fps go down to 28, when in control it stays at around 80 when turning the camera or when certain animations play it goes back down to 28 and stays there or sometimes at specific angles it shoots up again. I've tried the fps limiting, monitor refresh rate to 60, disabling G-Sync but the low fps problem persists.
This is with Proton 6.3 and Experimental, Ryzen 9 5900X, Nvidia 980Ti (465.24.02)

Interestingly with Glorious Eggroll's Proton 6.5-GE-2 the fps go down to like 17.

System Info Gist

@JacobSvenningsen
Copy link

My issue does involve spoilers for the game. I didn't see a way to do hidden text through markdown on github, so symptom is attached as a gist.

Exactly what I encountered too, @etw10

@Semperverus
Copy link

Semperverus commented Apr 25, 2021

Choose option, game crashes after load screen.

If this is about halfway into the game after a bossfight, I am having the exact same issue. I'm testing to see if I also get crashes at the title screen if I let the game run too long as I suspect its the same issue.

EDIT: Yep, getting the exact same issue when I let a cutscene play on the title screen. Going to launch the game with Steam opened from commandline to pull logs.

EDIT 2:

When it crashes, I get this raw dump:

Unhandled exception: page fault on read access to 0x00000000 in 64-bit code (0x00000001407ae12e).
Register dump:
 rip:00000001407ae12e rsp:000000002a9aeee0 rbp:000000002a9aefe0 eflags:00010206 (  R- --  I   - -P- )
 rax:0000000080004001 rbx:000000000dfe8210 rcx:0000000000000000 rdx:000000002a9aef20
 rsi:000000000dfe8218 rdi:000000002a9af7e8  r8:0000000000000000  r9:0000000000000080 r10:0000000000000000
 r11:000000002a9af7e8 r12:00000000004b2a98 r13:0000000000000001 r14:0000000000000001 r15:0000000140abff00
Stack dump:
0x000000002a9aeee0:  000000002d4795f0 0000000359224d39
0x000000002a9aeef0:  000000002aace450 00000000004e2050
0x000000002a9aef00:  000000002e3adb10 000000002a9aef90
0x000000002a9aef10:  0000000000000000 0000000000000000
0x000000002a9aef20:  0000000000000000 0000000000000000
0x000000002a9aef30:  fffffffffffffffe 000000000dfe8210
0x000000002a9aef40:  000000000dfe8218 000000002a9af0b0
0x000000002a9aef50:  00000000004b2a98 000000002d4795f0
0x000000002a9aef60:  00000000004e2050 000000035908e218
0x000000002a9aef70:  000000002d479620 000000002a9aefb8
0x000000002a9aef80:  000000003c88df37 0000000000000000
0x000000002a9aef90:  000000002e3adb10 00000000004e2050
Backtrace:
=>0 0x00000001407ae12e EntryPoint+0xe013110e() in nier replicant ver.1.2247448713 (0x000000002a9aefe0)
  1 0x00000001407aa91c EntryPoint+0xe012d8fb() in nier replicant ver.1.2247448713 (0x00000001426e3e98)
  2 0x00000001403d3e51 EntryPoint+0xdfd56e30() in nier replicant ver.1.2247448713 (0x000000002a9afaa0)
  3 0x00000001404ef1df EntryPoint+0xdfe721be() in nier replicant ver.1.2247448713 (0x000000002a9afaa0)
  4 0x000000014008322e EntryPoint+0xdfa0620d() in nier replicant ver.1.2247448713 (0x000000002a9afaa0)
  5 0x0000000140086e28 EntryPoint+0xdfa09e07() in nier replicant ver.1.2247448713 (0x0000000000000000)
  6 0x000000014003c6c9 EntryPoint+0xdf9bf6a8() in nier replicant ver.1.2247448713 (0x0000000140ac2488)
  7 0x000000014003c941 EntryPoint+0xdf9bf920() in nier replicant ver.1.2247448713 (0x0000000140ac2488)
  8 0x00000001400693e6 EntryPoint+0xdf9ec3c5() in nier replicant ver.1.2247448713 (0x00000001415add60)
  9 0x0000000140067f7a EntryPoint+0xdf9eaf59() in nier replicant ver.1.2247448713 (0x0000000000000000)
  10 0x00000001407b0619 EntryPoint+0xe01335f8() in nier replicant ver.1.2247448713 (0x0000000000000000)
  11 0x00000001407bc66c EntryPoint+0xe013f64b() in nier replicant ver.1.2247448713 (0x0000000000000000)
  12 0x00000001407b0525 EntryPoint+0xe0133504() in nier replicant ver.1.2247448713 (0x0000000000000000)
  13 0x00000001409598d0 EntryPoint+0xe02dc8af() in nier replicant ver.1.2247448713 (0x0000000000000000)
  14 0x000000007b62c939 EntryPoint+0xffffffffffffffff() in kernel32 (0x0000000000000000)
0x00000001407ae12e EntryPoint+0xe013110e in nier replicant ver.1.2247448713: movq       (%rcx),%rax
Modules:
Module  Address                                 Debug info      Name (69 modules)
PE              3b400000-        3b441000       Deferred        steam_api64
PE              7a850000-        7a854000       Deferred        opengl32
PE              7b000000-        7b0d5000       Deferred        kernelbase
PE              7b600000-        7b812000       Export          kernel32
PE              7bb10000-        7d288000       Deferred        dxgi
PE              7bb10000-        7d288000       Deferred        ntdll
PE             138000000-       13948b000       Deferred        steamclient64
PE             140000000-       16073a000       Export          nier replicant ver.1.22474487139
PE             180000000-       1801ea000       Deferred        gameoverlayrenderer64
PE             1c1ef0000-       1c1f1c000       Deferred        atl100
PE             1c8890000-       1c88f9000       Deferred        d3dcompiler_47
PE             1c8b40000-       1c8b60000       Deferred        msacm32
PE             1c8db0000-       1c8e3c000       Deferred        msvcrt
PE             1d97a0000-       1d97a7000       Deferred        api-ms-win-core-fibers-l1-1-1
PE             1f51e0000-       1f51ef000       Deferred        hid
PE             205950000-       205958000       Deferred        api-ms-win-appmodel-runtime-l1-1-2
PE             21a380000-       21a390000       Deferred        xinput9_1_0
PE             21a7e0000-       21a854000       Deferred        setupapi
PE             228450000-       22847a000       Deferred        propsys
PE             231ae0000-       231b62000       Deferred        rpcrt4
PE             236df0000-       236e49000       Deferred        dsound
PE             23d820000-       23da47000       Deferred        user32
PE             2419a0000-       2419df000       Deferred        wbemprox
PE             24f470000-       24f48f000       Deferred        mpr
PE             26b4c0000-       26b642000       Deferred        gdi32
PE             2739c0000-       273af6000       Deferred        oleaut32
PE             28ebe0000-       28ebe8000       Deferred        api-ms-win-core-sysinfo-l1-2-1
PE             29e400000-       29e435000       Deferred        msctf
PE             2bb750000-       2bb894000       Deferred        comctl32
PE             2bc640000-       2bc650000       Deferred        imagehlp
PE             2c83b0000-       2c8403000       Deferred        winegstreamer
PE             2e3540000-       2e3591000       Deferred        shlwapi
PE             2e8f10000-       2e9028000       Deferred        ole32
PE             2f1fa0000-       2f1fad000       Deferred        version
PE             2f7230000-       2f725d000       Deferred        uxtheme
PE             30c980000-       30c988000       Deferred        api-ms-win-core-synch-l1-2-0
PE             3126f0000-       312709000       Deferred        shcore
PE             317d60000-       317e88000       Deferred        dxvk_config
PE             319900000-       31992f000       Deferred        mfreadwrite
PE             327020000-       327072000       Deferred        combase
PE             32a700000-       32a729000       Deferred        sechost
PE             330260000-       33029f000       Deferred        advapi32
PE             335260000-       335272000       Deferred        rtworkq
PE             336850000-       33687a000       Deferred        mmdevapi
PE             341d30000-       341dfd000       Deferred        quartz
PE             34abc0000-       34abe1000       Deferred        msdmo
PE             351680000-       351688000       Deferred        api-ms-win-core-localization-l1-2-1
PE             359050000-       359303000       Deferred        d3d11
PE             3785e0000-       3785ec000       Deferred        vulkan-1
PE             39a620000-       39a644000       Deferred        msvfw32
PE             3a0440000-       3a04c0000       Deferred        wininet
PE             3a6d40000-       3a6d9c000       Deferred        mfplat
PE             3ad720000-       3ad74f000       Deferred        devenum
PE             3af670000-       3af728000       Deferred        ucrtbase
PE             3afd00000-       3afd1a000       Deferred        imm32
PE             3b8f00000-       3b8fb7000       Deferred        winmm
PE             3be590000-       3be5f0000       Deferred        dbghelp
PE          7ff588620000-    7ff58862b000       Deferred        winspool
PE          7ff590320000-    7ff590324000       Deferred        iphlpapi
PE          7ff590410000-    7ff590414000       Deferred        xaudio2_9
PE          7ff590440000-    7ff590443000       Deferred        winepulse
PE          7ff5b8010000-    7ff5b8013000       Deferred        avicap32
PE          7ff61b3d0000-    7ff61b3d3000       Deferred        lsteamclient
PE          7ff61b8c0000-    7ff61b8c4000       Deferred        winex11
PE          7ff61bcc0000-    7ff61bcc4000       Deferred        ws2_32
PE          7ff61bd20000-    7ff61c5f7000       Deferred        shell32
PE          7ff61e070000-    7ff61e0ba000       Deferred        dinput8
PE          7ff61e110000-    7ff61e114000       Deferred        wined3d
PE          7ff61e510000-    7ff61e514000       Deferred        winevulkan
Threads:
process  tid      prio (all id:s are in hex)
00000020 steam.exe
        00000024    0
        000000bc    0
00000030 services.exe
        00000034    0
        00000038    0
        00000044    0
        00000060    0
        00000078    0
        00000084    0
        000000a8    0
        000000e8    0
0000003c winedevice.exe
        00000040    0
        0000004c    0
        00000050    0
        00000054    0
00000058 plugplay.exe
        0000005c    0
        00000064    0
        00000068    0
        0000006c    0
        0000008c    0
        00000224    0
        00000238    0
00000070 winedevice.exe
        00000074    0
        0000007c    0
        00000080    0
        00000088    0
        00000094    0
        00000098    0
        0000009c    0
        00000220    0
        00000228    0
000000a0 svchost.exe
        000000a4    0
        000000ac    0
        000000b0    0
000000b4 conhost.exe
        000000b8    0
000000c0 explorer.exe
        000000c4    0
        000000cc    0
        000000d8    0
000000e0 rpcss.exe
        000000e4    0
        000000f0    0
        000000f4    0
        000000f8    0
        000000fc    0
        00000100    0
00000110 (D) Z:\home\semperverus\.local\share\Steam\steamapps\common\NieR Replicant ver.1.22474487139\NieR Replicant ver.1.22474487139.exe
        00000114    0
        00000118    0
        0000011c    0
        00000120    0
        00000124    0
        00000128    0
        0000012c    0
        00000130   -2
        00000134   -2
        00000138   -2
        0000013c   -2
        00000140   -2
        00000144   -2
        00000148   -2
        0000014c   -2
        00000150   -2
        00000154   -2
        00000158   -2
        0000015c   -2
        00000160   -2
        00000164   -2
        00000168   -2
        0000016c   -2
        00000170    0
        00000174    0
        00000178    0
        0000017c    0
        00000180    0
        00000184    0
        00000188    0
        0000018c    0
        00000190    0
        00000194   -1
        0000019c   -1
        000001a0   -1
        000001a4    0
        000001a8    1
        000001ac    0
        000001b0    1
        000001b4    1
        000001b8    0
        000001bc    0
        000001d0    0 <==
        000001d4    0
        000001d8    0
        000001dc    0
        000001e0    0
        000001e4    0
        000001e8    1
        000001ec    1
        000001f0    1
        000001f4    1
        000001f8    2
        000001fc    0
        00000200    0
        00000204    0
        00000208    0
        0000020c   -1
        00000214    2
        00000230    0
        00000234    0
        0000023c    0
System information:
    Wine build: wine-6.3
    Platform: x86_64
    Version: Windows 10
    Host system: Linux
    Host version: 5.11.16-zen1-1-zen

@Billli11
Copy link

I might say, those .arc files could be just compressed assets with the movies in them. I wouldn't be surprised if this turns out to be yet another Media Foundation error.

Look like those video is encoded in wmv2 format.

hexdump of MOVIE_ATRACT_GESTALT.arc include this

|.........m.a.j.o|
|.r._.b.r.a.n.d..|
|.....m.p.4.2....|
|.m.i.n.o.r._.v.e|
|.r.s.i.o.n......|
|.0...$.c.o.m.p.a|
|.t.i.b.l.e._.b.r|
|.a.n.d.s.......m|
|.p.4.2.m.p.4.1..|
|.(.W.M./.E.n.c.o|
|.d.i.n.g.S.e.t.t|
|.i.n.g.s.......L|
|.a.v.f.5.8...2.0|
|...1.0.0........|
|........ Se.....|
|.......M[......_|
|\D+.W. U[......_|
|\D+........7....|
|.............8..|
|..,.,.......8...|
|....WMV2..^.....|

@adolson
Copy link

adolson commented Apr 26, 2021

Just got bit by this crash to desktop bug after getting to the half-way point in the game. It ran silky smooth up until then. :\

@JacobSvenningsen
Copy link

After enabling extra tracelogging, by adding +mfplat to usersettings.py, the log contains the following prior to the crash:
14854.850:0114:01cc:trace:mfplat:MFCreateDXGIDeviceManager 0000000020AEEF10, 0000000020AEEF20. 14854.850:0114:01cc:trace:seh:dispatch_exception code=c0000005 flags=0 addr=00000001407AE12E ip=00000001407AE12E tid=01cc 14854.850:0114:01cc:trace:seh:dispatch_exception info[0]=0000000000000000 14854.850:0114:01cc:trace:seh:dispatch_exception info[1]=0000000000000000 14854.850:0114:01cc:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised
I can see that the function MFCreateDXGIDeviceManager hasn't been implemented, which explains the crash

@VennStone
Copy link

Hit the halfway spoiler bug. Ouch, that's a long way from a savepoint.

@etw10
Copy link

etw10 commented Apr 27, 2021

I wonder if <Workaround removed by moderator> for the media foundation stuff will work with some combination of proton versions and it. I tried 6.3-2 and 4.11-13. With 6.3-2 it gives an identical log to running in that version without the script. In 4.11-13 the game wouldn't launch at all. Maybe an older version of Proton GE when some of the media foundation workarounds were baked in? Next time I get a chance I will try some more.

@kisak-valve
Copy link
Member

Hello @etw10, the workaround you linked is legally problematic and has been removed.

@JacobSvenningsen
Copy link

I recall Borderlands having a similar issue where a video being played on a monitor in-game gave people problems. Looking through protondb for that game, someone mentioned that Glorious Eggroll version 6.1-2 made him able to continue the game.
For the heck of it, I tried the same build here, and although the game still crashes when it tries playing the intro video, the produced trace contains significantly more information.

I do realize that Glorious Eggroll is a fork of Proton, so this information probably should go elsewhere, but I think the trace may still provide some value for whomever are tracking this issue, and for anyone currently working on extending the Media Foundation implementation shipped with Wine.

It looks like it instantiates the necessary data structure, then sends chunks of data from the video into a buffer which the device might have to use to play the video, but I suppose the implementation back in Glorious Eggroll 6.1-2 just discarded that data.
Regardless, this seems to run without a problem, and after calling various release and free functions to free up allocated memory, the game then crashes when it calls mfplat::MFllMulDiv

Trace attached from the moment it attempts to play the video
Proton-6.1-GE-2.log

@MagZu
Copy link
Author

MagZu commented Apr 28, 2021

i just want to add. i tested the title video on windows with DXVK and it fails to load the cutscene there aswell.
Game doesnt close it just seem to freeze at a black screen. which confirms the dxgi problem with MFCreateDXGIDeviceManager not being implemented.

Should we perhaps create an issue at the dxvk project? and add a trace log etc.

@JacobSvenningsen
Copy link

@MagZu
If the game crashes on WIndows when using DXVK, and works when you aren't using DXVK, then it might be worthwhile opening an issue.
If by WIndows, it's a WIndows 7 install, then it'll probably crash even without DXVK since the version of Media Foundation shipped with WIndows 7 doesn't have the necessary functionality either.
Minimum supported version is Windows 8, as stated by the API documentation

@doitsujin
Copy link
Collaborator

doitsujin commented May 20, 2021

mfplat still needs some fixes for this to work; with current upstream wine + the DXVK branch above it renders video, but it's all green because wine seems to forget to upload the chroma plane for NV12 textures.

@htdhnsdjetsr
Copy link

htdhnsdjetsr commented Jun 4, 2021

Just got the game and wanted to start playing, tried what was suggested, like proton-ge in the latest version, which got me after a few tries into the main menu and even into the game where I was met with the green screen

Tested with Proton-6.8-GE-1 and Proton-6.9-GE-2 and Proton Experimental got the same issues on all of them

Specs:
Linux tyrus 5.12.9-arch1-1 #1 SMP PREEMPT Thu, 03 Jun 2021 11:36:13 +0000 x86_64 GNU/Linux
AMD Ryzen 5 2600 Six-Core Processor
AMD Radeon RX 590 ( Driver Version: 4.6 (Compatibility Profile) Mesa 21.1.1)

Replying to #4777 (comment)

like here, my screenshot:
2021-06-04_09-48

my game log: https://gist.github.com/ottersarecool/adfc332dd739724db7a78979f8f001e9

sadly can't test further for the next 24 hours since Denuvo already locked me out, god I love these Austrians (NOT)

@htdhnsdjetsr
Copy link

htdhnsdjetsr commented Jun 23, 2021

Replying to #4777 (comment)

I was able to resolve the greenscreen issue by removing the package amdvlk

@alex9k1
Copy link

alex9k1 commented Jul 4, 2021

The game has become hardly playable for me as it fluctuates around 30fps and runs very choppy. Used to run just fine with stable 60fps tho, but haven't payed it in a while since then.

It ran fine again once I switched from Proton Experimental to Proton GE 6.10, but that only lasted until I restarted the game. I also fixed it once by simply reinstalling it, but that also only worked once. Switching around between different Proton version didn't help either, removing the prefix and shaderache (in the Steam directory) also didn't do anything.

So, no idea what causes it or what exactly fixes it :(

I'm on Arch Linux (Kernel 5.12.14) and Radeon VII with Mesa 21.1.3.

EDIT:

I've noticed desktop animations being choppy as well while the game is running. I've disabled vsync in Kwin via environment variables (since AFAIK with Kwin X11 there's no other way anymore to disable it) :

KWIN_X11_REFRESH_RATE=144000
KWIN_X11_NO_SYNC_TO_VBLANK=1
KWIN_X11_FORCE_SOFTWARE_VSYNC=1

For now, this seems to have fixed the issue, even after restarting the game.

@doitsujin
Copy link
Collaborator

doitsujin commented Jul 5, 2021

@alex9k1 Kwin's desktop effects should be disabled while playing, otherwise you'll get stutter and increased latency pretty much everywhere.

That said, the game is known not to play nice with any sort of GPU power management because it synchronizes with the GPU multiple times per frame (which is something no game should ever do, but oh well), so having too much GPU power on something like an RX 6000 GPU will cause issues because it doesn't clock up properly. On my system I need to do echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level in order to be able to play the game at 60 FPS.

@alex9k1
Copy link

alex9k1 commented Jul 5, 2021

@doitsujin Yeah, I usually just disable compositing when I run into issues, which also used to disable vsync as well a few versions back. Although I have to admit, that it hasn't caused any issues for me in quite a while.

I've set set the powerlevel to high, but it didn't help. After disabling vsync with the environment variables however, powerlevel auto is just working fine.

Still wondering why it was running fine 2 times before (one time after changing the Proton version and one time after reinstalling it), but was running bad again after I restarted the game 🤔

EDIT: I've also tried it on Wayland with Kwin - also choppy :/

@alex9k1
Copy link

alex9k1 commented Jul 20, 2021

The issue is back :( Even tried to run it with vblank_mode=0 and Proton GE 6.12-1 but nothing helped.

One thing I've noticed tho is, that this time the game was ~45fps initially. I deleted the prefix and started the game again and now it's at ~35fps

When I change the refresh rate of my display from 144Hz to 60Hz it's back to ~45fps. Noticed, when doing this, the FPS can actually go to stable 60 if I just look at the ground. It kinda doubt that my system (Ryzen 2700X, Radeon VII) isn't fast enough (running the game on medium - high settings), since it ran fine before. GPU load also seems rather relaxed.

@alex9k1
Copy link

alex9k1 commented Jul 28, 2021

Updated to Proton GE 6.13-1, had stable 60fps again even after restarting the game. A day later it was ~45fps again :/

@kkartaltepe
Copy link

  • GPU: nvidia 1070
  • Driver/LLVM version: 495.29.05
  • Kernel version: 5.14.12

This game appears broken on all recent proton releases. The last working release appears to 5.0-10 (Broken releases as of my testing: 5.13-6, 6.3-7, experimental). Performance on 5.0-10 seems fine though.

On broken releases the game crashes before a log can be written.

@doitsujin
Copy link
Collaborator

Can't confirm, game runs fine here on Experimental.

@popsUlfr
Copy link

Denuvo was recently removed, right ?
I can also confirm that the game still works... and I still have the issue with it running in slow motion and capped at 20-30 fps on my 980Ti with low gpu usage :/

@kkartaltepe
Copy link

kkartaltepe commented Oct 21, 2021

It seems I was affected by #5118. After testing older proton versions my prefix was rendered unusable for 5.13+. Deleting the compatdata (warning: loses your save data) fixed the issue if the game not starting before logs could be written.

--- edit
Performance is also fine on 6.3-7 after rebuilding the compatdata directories (At least in facade and seafront where I had saves)

@Awlexus
Copy link

Awlexus commented Nov 26, 2021

Hello, I am affected by this issue on Proton 6.3.8. I only rushed through the comments on this issue, so I'm not sure if this was fixed already and is waiting to be merged
#4777 (comment)

@Keyhaku
Copy link

Keyhaku commented Dec 5, 2021

Hi,

I'm also affected by the problem with cut scenes.
I've tried both proton 6.3.8 and proton-experimental, cleaning the pfx each times (also tried various Glorious Eggroll version without success).

What I experienced with the video at Start Screen (when you wait 30 s without touching anything) :

  • If I enable shader cache, the video begins to play with sound for like 3s then return to Start Screen
  • Else, the game just freeze

As for the cut scene at the end of Chapter 1, the game freezes all the time and I just can't pass it.

I remarked an interesting log when trying proton-experimental :

winegstreamer error: decodebin0: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin0: ../src-gst_base/gst/playback/gstdecodebin2.c(4719): gst_decode_bin_expose (): /GstBin:bin0/GstDecodeBin:decodebin0:
no suitable plugins found:

When trying proton-GE variant (for all plugins) :

GStreamer-WARNING **: 12:24:22.252: Failed to load plugin '${HOME}/.local/share/Steam/compatibilitytools.d/Proton-6.8-GE-1/files/lib64/gstreamer-1.0/libgstdash.so': ${HOME}/.local/share/Steam/compatibilitytools.d/Proton-6.8-GE-1/files/lib64/gstreamer-1.0/libgstdash.so: bad ELF class : ELFCLASS64

So from what I understand, there is a problem with Gstreamer,
From what I read, the videos are in a wmv2 format, so what plugin does it need ? Shall I install it on my computer or it should be included in proton ?

Thank you


Specs :

Graphic Card : AMD Radeon RX 580
O.S. : Solus OS
Kernel : 5.14.16
Mesa lib : 21.2.5

@sonic2kk
Copy link

sonic2kk commented Dec 5, 2021

@Keyhaku Try using a newer release of Proton-GE to start with, the logs you posted indicate you're using 6.8-GE, the most recent version at the moment is 6.21-GE-2.

As for plugins, try installing the gst-plugins-bad and/or gst-plugins-ugly package. I'm unfamiliar with Solus so I'm not sure how you might install them. I also thought GE packaged it's own GStreamer plugins but perhaps not. I remember having to install one of those packages on Arch but a few months ago it worked out of the box with a new-ish GE release.

You might want to reach out to someone on the Proton-GE Discord server if it still doesn't work, as issues with that release are handled by GE. Hopefully you get it sorted!

@Keyhaku
Copy link

Keyhaku commented Dec 5, 2021

I'm not sure it has anything to do with what plugin is installed on my system, since it seems GStreamer 1.8.4 is shipped with proton.

Here is the log with proton-6.3.8 when my system is trying to play the movie (we can see that GStreamer is loaded from proton and not from my system) :
steam-1113560-relevant-part.log

These are parts that I think are relevant :
1/ The video seems to be recognised as MIME type x-ms-asf : GST_EVENT gstevent.c:847:gst_event_new_caps: creating caps event video/x-ms-asf

2/ The plugin specialised in media converting is well charged from proton : GST_PLUGIN_LOADING gstplugin.c:915:_priv_gst_plugin_load_file_for_registry: plugin "${HOME}/.local/share/Steam/steamapps/common/Proton 6.3/dist/lib64/gstreamer-1.0/libprotonmediaconverter.so" loaded

3/ No plugin is found to decode the stream :

decodebin gstdecodebin2.c:4719:gst_decode_bin_expose:<decodebin0> error: no suitable plugins found:
Couldn't set protonvideoconverter0 to READY

0x7f1ad8003140 [INFO]  GST_ERROR_SYSTEM gstelement.c:2234:gst_element_message_full_with_details:<decodebin0>posting message: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin0: Your GStreamer installation is missing a plug-in.
winegstreamer error: decodebin0: ../src-gst_base/gst/playback/gstdecodebin2.c(4719): gst_decode_bin_expose (): /GstBin:bin0/GstDecodeBin:decodebin0:
no suitable plugins found:
Couldn't set protonvideoconverter0 to READY

|ERROR] WINE wg_parser.c:2287:decodebin_parser_init_gst: Failed to play stream
warn:mfplat:media_source_constructor Failed to construct MFMediaSource, hr 0x80004005.

@Keyhaku
Copy link

Keyhaku commented Dec 5, 2021

I've made some more test with proton-experimental and the error messages are the same, nevertheless I put the log here.
steam-1113560-proton-experimental.log

@Keyhaku
Copy link

Keyhaku commented Dec 5, 2021

I have different error messages with Proton-GE-6.21-2 (though the game still freeze),
I don't have tons of warning with wrong ELF Class when loading gstreamer plugins.

The video format is well identified as wmv2 :

asfdemux gstasfdemux.c:2948:gst_asf_demux_add_video_stream: Adding video stream #0, id 1, codec WMV2 (0x32564d57)

GST_EVENT gstevent.c:847:gst_event_new_caps: creating caps event video/x-wmv, wmvversion=(int)2, width=(int)1920, height=(int)1080, codec_data=(buffer)e7ffb480, format=(string)WMV2

But for an unknown reason the data structure seems incorrectly filled :

[WARN] structure gststructure.c:1023:gst_structure_set_field: Trying to set NULL string on field 'language-code' on taglist. Please file a bug.

Or is it something else ?
[WARN] asfdemux gstasfdemux.c:927:asf_demux_peek_object:<asfdemux0> Unknown object 00000000-00000000-00000000-00000000

Anyway I put here the log.

Thank you
steam-1113560-proton-GE-621-2.log

@Keyhaku
Copy link

Keyhaku commented Dec 7, 2021

I've finally figured it out, after increasing log verbosity using GST_DEBUG environment variable, I saw that GStreamer couldn't read the first 64 bytes of the videos. So i though that maybe the videos were corrupted, after launching a check via Steam, the videos were redownloaded and now the videos are well played. I finnaly passed to Chapter 2, hourra !

@Keyhaku
Copy link

Keyhaku commented Dec 7, 2021

So from what I understood, this game can only be played using a proton-GE build since the Gstreamer plugin needed to read the WVM 2 format is only available in the "ugly" plugins. But for licencing issue these plugins cannot be included in "Valve" proton, am i right ?

@htdhnsdjetsr
Copy link

@alex9k1 Kwin's desktop effects should be disabled while playing, otherwise you'll get stutter and increased latency pretty much everywhere.

That said, the game is known not to play nice with any sort of GPU power management because it synchronizes with the GPU multiple times per frame (which is something no game should ever do, but oh well), so having too much GPU power on something like an RX 6000 GPU will cause issues because it doesn't clock up properly. On my system I need to do echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level in order to be able to play the game at 60 FPS.

Just tried that on my RX 6600, clock

speed was at 2,6GHz constant, and NieR was running at ~46fps
2022-01-07_07-47
the green line looks suspicious to me, I tried all that was mentioned here but was not able to get stable 60FPS with my RX 6600 in this specific game.

@htdhnsdjetsr
Copy link

After some tinkering and reading the Proton readme I was able to resolve the FPS issue by simply adding PROTON_USE_WINED3D=1 %command% to my launch options, so I believe this is some kind of dxvk related thing after all with my specific gpu maybe, with opengl it works very good, it might help to try this out if someone else has this weird stuck framerate at around 46.

@doitsujin
Copy link
Collaborator

I can't reproduce the problem here.

@doitsujin
Copy link
Collaborator

doitsujin commented Feb 16, 2022

Turns out that there is a game bug that also happens on Windows on AMD GPUs when Resizeable BAR is enabled that causes low performance. I added a workaround to DXVK.

@popsUlfr
Copy link

popsUlfr commented Feb 16, 2022

Wow, just as a heads up and maybe it helps someone else: the bleeding-edge branch of Proton Experimental has fixed the fps drop issue completely on my 980Ti ! I can finally play the game on linux at the intended speed.

I also tested the new Proton 7.0-1 but the issue is back again unfortunately. So, the issue is present for the normal Proton Experimental without bleeding-edge branch, 6.3-8, 7.0-1, all Glorious Eggroll's proton versions.

I'm not sure what on the bleeding-edge branch has caused this change.

@popsUlfr
Copy link

popsUlfr commented Feb 16, 2022

Turns out that there is a game bug that also happens on Windows on AMD GPUs when Resizeable BAR is enabled that causes low performance. I added a workaround to DXVK.

Oh dear, I love you so much for figuring this out @doitsujin . That's exactly the workaround that fixes the issue for me on all proton versions it seems!

I dropped a dxvk.conf next to the game's executable with d3d11.apitraceMode = True and can confirm the fps issue goes away regardless of the proton version. Thanks!

(Still... I'm intrigued by the fact that the bleeding-edge branch has some sauce that made it work too)

@mohamadaljaf
Copy link

@MagZu If the game crashes on WIndows when using DXVK, and works when you aren't using DXVK, then it might be worthwhile opening an issue. If by WIndows, it's a WIndows 7 install, then it'll probably crash even without DXVK since the version of Media Foundation shipped with WIndows 7 doesn't have the necessary functionality either. Minimum supported version is Windows 8, as stated by the API documentation

In Windows 7, the function MFCreateDXGIDeviceManager is implemented in the dll mshtmlmedia.dll and the game will play videos if this dll is found.

Can someone test this game in Windows 7 mode in Proton? As in, doing winecfg in the prefix and changing the Windows version to 7. The videos will be black but should play if you add mshtmlmedia to system32 and syswow64.

Changing the Windows version can change the behavior of the game so it's worth experimenting to see if it has any benefits (performance, bugs, etc.).

@CorruptComputer
Copy link

Games window is offset in a really odd way when using fullscreen:
(screenshot spans my 3 monitors, the edges of the other 2 windows are the monitor edges)
image

You can see my background bleeding through on the top and right sides of the game window.

Using Fedora 38, Mesa 23.0.3 with a AMD Radeon 6700 XT, and tried on Proton versions 7.0-6, 8.0-2, and Proton Experimental. Same issue appeared in all versions.
My Steam System Info is here: https://gist.github.com/CorruptComputer/f164c2d48606808dbfbc07ee8810efd5
It is out of date because the new Steam UI doesn't let you copy the text from this window:
image

@kisscool
Copy link

kisscool commented May 14, 2023

  • GPU: RX 6500 XT
  • Driver/LLVM version: Mesa 22.2.5
  • Kernel version: 5.15.0-71

The cutscene crash is back in current proton versions : intro video at title scene + cutscene after grimoire noire fight + cutscene after wendy fight + cutscene at shadowlord castle + cutscene towards the end of route E. All those except the intro video are blocking game progression.

Tested on :

  • Proton 8.0-2
  • Proton-experimental
  • GE-Proton8-3
  • GE-Proton7-55

@Str4ngeB0y
Copy link

Str4ngeB0y commented Nov 2, 2024

For anyone having issues with pre-rendered cutscenes not displaying correctly (like showing a test screen for a few seconds instead of the actual cutscene) with the newest GE-Proton version:

Either input this as a startup command:
PROTON_AUDIO_CONVERT=0 PROTON_AUDIO_CONVERT_BIN=0 PROTON_VIDEO_CONVERT=0 PROTON_DEMUX=0 %command%
or
use GE-Proton 9-13 or older

Edit:
Pre-rendered cutscenes can also be played with official Proton when shader pre-caching is enabled. Do note however, that at the time of writing this, the pre-rendered cutscenes only work flawlessly on stable Proton 9.0-3. Using Proton Experimental (even bleeding-edge) has a video and audio desync problem.

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 XAudio2 Uses the XAudio2 subsystem
Projects
None yet
Development

No branches or pull requests