Open Technomancer2 opened 6 years ago
Game works for me, but performance has gotten progressively worse since the first versions of Proton. As stated in other comments and posts, I'm running Ubuntu 18.04, the latest mainline kernel, and Mesa from the Padoka unstable PPA.
GPU: 2x R9 Fury CPU: Ryzen 7 2700X
Works perfectly here. 1070 GTX, 396.54.09
The game runs well most of the time, but at random (might be around an hour of gameplay or so) one of the character 3D models will start distorting, and this distortion won't stop until the game is restarted:
I'm running the game under Arch Linux with Vega 64.
I have the mesa-git repository installed which provides the latest upstream drivers (version at the time of writing is 105843.61b535437e-1
).
I'll try running the game with the more stable Mesa 18.2 since that seems to be new enough to run DXVK. There's also the faint possibility of this being an hardware issue.
EDIT:
This happens on Mesa 18.2 as well.
EDIT:
I've continued playing the game for dozens of hours without encountering the model distortion issue, so a recent Mesa/RADV update probably fixed the issue.
Game runs terribly for me now. It ran great in the early days of Proton, but now there's something wrong with how Proton is running the frame limiting feature of the game. With the frame limiter off, I can easily run 40 - 50 fps, but when I set the frame limiter to 30, my fps struggles to even get to 29 fps, usually hovering between 20 - 25 fps. This didn't happen in older versions of Proton. This occurs on all three versions of Proton currently available on Steam, 3.7-8 stable, 3.7-8 beta, and 3.16-4 beta. In any configuration, the game has become a stuttery mess. This game used to run well, but now it doesn't. I have tried everything, including running the latest amdgpu driver patched kernels, to no avail.
Game was working very well a few days ago, but now the game fails to start. It puts up a white screen, then crashes. I've tried all the Proton versions for that game.
Game works for me under https://github.com/felixdoerre/primus_vk, but if I uses nvidia-xrun to run my whole DE under nvidia it crashes at startup:steam-589360.log System information is the same as https://github.com/ValveSoftware/Proton/issues/103
I get the following output in terminal when trying to run this game with Proton 4.2, with Radeon VII, and Mesa 19 from stable Padoka PPA:
```
Register dump:
rip:0000000000000000 rsp:000000000032f7c8 rbp:000000000032f8b0 eflags:00010202 ( R- -- I - - - )
rax:0000000000000001 rbx:0000000004948748 rcx:0000000004948748 rdx:0000000000000110
rsi:0000000000000000 rdi:0000000004948740 r8:000000000032f910 r9:0000000000000000 r10:0000000000000008
r11:0000000000000246 r12:000000000032f910 r13:0000000000000110 r14:0000000000000001 r15:0000000000000000
Stack dump:
0x000000000032f7c8: 00007f0a175cbab1 0000000000000000
0x000000000032f7d8: 0000000000000001 0000000000000000
0x000000000032f7e8: 000000003c888889 0000000000000000
0x000000000032f7f8: 000000003c888889 0000000000000000
0x000000000032f808: 0000000000000000 0000000000000000
0x000000000032f818: 000000003c888889 0000000000000000
0x000000000032f828: 2000202020202020 0020202020202020
0x000000000032f838: 0000000000000000 0000000000000000
0x000000000032f848: 0000000000000000 0000000000000000
0x000000000032f858: 0000000000000000 0000000000000000
0x000000000032f868: 0000000000000000 0000000000000000
0x000000000032f878: 0000000000000000 0000000000000000
Backtrace:
=>0 0x0000000000000000 (0x000000000032f8b0)
0x0000000000000000: -- no code accessible --
Modules:
Module Address Debug info Name (180 modules)
PE 330000- 5b5000 Deferred physx3_x64
PE 5c0000- 641000 Deferred physx3characterkinematic_x64
PE 650000- 823000 Deferred physx3common_x64
PE 830000- 8ba000 Deferred physx3cooking_x64
PE 8c0000- 9fa000 Deferred apexframework_x64
PE 5ae0000- 5b74000 Deferred openvr_api_dxvk
PE cd20000- cef1000 Deferred apex_clothing_x64
PE cf00000- d035000 Deferred apex_clothinggpu_x64
PE 3b400000- 3b441000 Deferred steam_api64
PE 6a340000- 6a582000 Deferred d3d11
PE 6f200000- 6f381000 Deferred dxgi
ELF 7b400000- 7b825000 Deferred kernel32
With Proton 3.16-4, the backtrace is this:
=>0 0x00007f40674c15b3 in libsdl2-2.0.so.0 (+0x3c5b3) (0x0000000000000000)
0x00007f40674c15b3: movzbl (%rax,%r12,1),%ebp
@kisak-valve Here's a Proton log for this game: steam-589360.log
Same issue when using Proton 4.2-3. I've tried installing a backport libSDL2, version 2.0.9, from ppa:cybermax-dexter/sdl2-backport, but it didn't help.
Same issue as @viggy96 . Whitescreen on startup. Strangely, not using my external gpu, using intel uhd 630, the game runs fine.
This may be a problem with EGPUs as I can also run the game on my internal intel gpu but it just runs too slow to make it playable.
I use multi-gpu setup, and it crashed on launch with segfault due to igpu also having vulkan icd. Workaround that worked for me: set launch options to something like "VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json %command%", where the json file points to your GPU icd
Kudos to Valgusk as this appears to do the trick.
I just followed @valgusk's command as well and now the game runs great. Awesome!
Same issue as OP (Technomancer2). When launching from Steam, the game simply does not launch, despite the first Ni no Kuni game running perfectly on the same box using GEProton8-20. I don't get a whitescreen as reported in some of the comments above, nor do I get a blackscreen as reported in some other locations online (windows troubleshooting posts on steam community mostly).
Also attempted:
VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json" %command%
and (separately) with PROTON_USE_WINED3D=1
. Tried each option under each of the above listed Proton versions. No dice.protontricks 589360 winecfg
and configuring wine to 1920x1080. I actually got an error while using the command as suggested on protondb ("Your wine binary was not upgraded correctly" - despite my system and wine being fully up-to-date. system wine was wine-8.19 Staging), so what I actually ran was WINEPREFIX="/media/ssd/SteamLibrary/steamapps/compatdata/589360/pfx" "/home/myusername/.local/share/Steam/steamapps/common/Proton 7.0/dist/bin/wine64" winecfg
instead and that allowed me to set the resolution. This unfortunately didn't matter at all for running the game.Nino2.exe
then opened it with hexedit Nino2.exe
. Typed Ctrl+G
(goto offset) -> 46924E
-> EB
-> Ctrl+W
(write changes) -> Ctrl+X
(exit). This also had absolutely no effect as far as I could tell (tested against all of the Proton versions listed above).--
Beyond that, valgusk's comment was essentially the same advice as I saw on protondb. I didn't really understand it though; mostly the part about
where the json file points to your GPU icd
I did have already have a /usr/share/vulkan/icd.d/nvidia_icd.json
file with the contents:
{
"file_format_version" : "1.0.0",
"ICD": {
"library_path": "libGLX_nvidia.so.0",
"api_version" : "1.3.242"
}
}
but if some additional configuration was required, then I am unclear what else needed to be done. But being as he mentioned a mutli-gpu setup where I have a single-gpu setup and he had several comments that the game worked for him but performed poorly vs OP and myself can't even launch the game at all, I suspect that he was solving for a different issue.
Might investigate this more later but for now I'm a bit frustrated at spinning my wheels and getting nowhere so I'm going to take a break.
Edit: ofc just after I posted I finally got it... I'm not entirely sure why this works but I'm done debugging for tonight. Basically, I had wrote this up and posted but I had left the game trying to launch in the background while I wrote the post details.. and after posting I realized that and decided to look at processes before moving on.
I think just prior to posting I had completely deleted my compatdata/589360
folder and I had reverted the patched exe changes back to the original exe. When I got it working I had PROTON_USE_WINED3D=1
and GEProton8-20
though I suspect that those don't matter too much. I had listed running processes with pgrep and then decided to kill anything hung (was planning to play something else and thought to clear up any stalled processes first) and ran pkill -9 -if 'wine|589360'
then about a second or two later a window appeared and the game started and I was able to get to the main menu after dismissing a bunch of notification messages about updates. Exiting and attempt to relaunching, I had the same issue as before (not starting) and running pkill -9 -if 'wine|589360'
I was once again able to reach the main menu.
So it seems like some non-critical pre-launch process is getting hung up or stuck in a loop. But based on protondb posts, I suspect that this only happens in some scenarios and I'm just one of the "lucky" ones. I'll try to capture exact processes later and post back with more info.
Ok, did a little more testing today.
While testing under GEProton8-20, I was able to narrow things down a bit more by using pgrep -ifa 'wine|589360'
and killing processes one by one (e.g. kill <pid>
). The process that I was killing which allowed things to proceed was
$ pgrep -ifa '/GE-Proton8-20/files/bin/wineserver'
321815 /home/myusername/.local/share/Steam/compatibilitytools.d/GE-Proton8-20/files/bin/wineserver
Since wineserver should just be a service that allows other things to run, I'm not sure exactly what the actual process that was holding things up was. Trying to find child processes of the wineserver process (e.g. pgrep -P 321815
) gave no results. When pgrepping for 'steam' I saw several processes matching 'DXSETUP.exe' that were always hanging around but killing those had no effect whatsoever.
I wanted to confirm if the issue or my workaround was specific to the launch options or the version I was using.
I can confirm that neither PROTON_USE_WINED3D=1
nor GEProton8-20 are required. I removed all launch all launch options and switched compatibility back to Proton Experimental and the same pkill -9 -if 'wine|589360'
trick worked fine.
Furthermore, while I definitely had the issue again on my first launch under Proton Experimental, one difference was that I only had to do the pkill workaround ONE time (as opposed to having to do it EVERY launch with GE-Proton8-20). On subsequent launches under Proton Experimental, it "just worked" and game came up after a 1-2 second delay. This persisted even after completely closing out of and restarting steam itself, so the launch issue seems to be permanently fixed now.
Hopefully this might help someone else if their game is not launching at all.
From Steam System Info:
Operating System Version:
Fedora Linux 38 (Cinnamon) (64 bit)
Kernel Name: Linux
Kernel Version: 6.5.10-200.fc38.x86_64
X Server Vendor: The X.Org Foundation
X Server Release: 12014000
X Window Manager: Mutter (Muffin)
Steam Runtime Version: steam-runtime_0.20231024.64411
Hello @zpangwin, you've described #6859.
Hello @zpangwin, you've described #6859.
Interesting. Thanks for mentioning it, I see the latest comment claims that "this appears to finally be resolved with driver 545" but unfortunately that version hasn't quite trickled down to Fedora 38 just yet. I just finished NNK2 a couple days ago but I will keep this in mind for anything similar that I might run into in the near future tho.
edit: yup; just installed South Park: Fractured But Whole, same system and with Proton Experimental again, and ran into the exact same thing (e.g. I had to run pkill -9 -if 'wine|488790'
before it would proceed) so I think you are exactly right about it being related to #6859
steam-589360.log
Compatibility Report
System Information
I confirm:
Symptoms
Game tries to start but crashes immediately.
Reproduction
Start the game.