ValveSoftware / Proton

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

Once Human (2139460) #7888

Open alligatorshoes opened 4 months ago

alligatorshoes commented 4 months ago

Compatibility Report

System Information

I confirm:

2 crash logs. Log#1 is a default/clean prefix crash. Log#2 is after installing d3dcompiler_43 and d3dcompiler_47 via protontricks (to reduce the "fixme" spam and make it cleaner to read). Log#1 crash-steam-2139460.log.tar.gz Log#2 smaller-steam-2139460.log.tar.gz

One log of me in game and experiencing the stuttering. As of note, when the game stutters heavily I am seeing the following lines in the log file being generated;

7808.863:0130:0198:fixme:d3dcompiler:skip_dword_unknown     0x00000000
7808.863:0130:0194:fixme:d3dcompiler:skip_dword_unknown Skipping 4 unknown DWORDs:
7808.863:0130:01a0:fixme:d3dcompiler:skip_dword_unknown Skipping 4 unknown DWORDs:
7808.863:0130:01a4:fixme:d3dcompiler:skip_dword_unknown     0xffffffff
7808.863:0130:0190:fixme:d3dcompiler:skip_dword_unknown     0xffffffff
7808.863:0130:01ac:fixme:d3dcompiler:skip_dword_unknown     0x00000000
7808.863:0130:0134:fixme:d3dcompiler:skip_dword_unknown Skipping 4 unknown DWORDs:
etc
ending with
7808.863:0130:01ac:fixme:d3dcompiler:d3dcompiler_shader_reflection_GetDesc iface 00000000299655D0, desc 00000000294EF930 partial stub!

When the game goes back to normal performance, these lines stop being generated. Is this perhaps a DXVK issue? stutter-steam-2139460.log.tar.gz

Symptoms

There are a couple of issues, so I'll try to split them up.

  1. After first run, when choosing a server and clicking on 'Enter Game', the game will crash. It appears to be trying to load an EULA/Privacy Agreement window which you need to click on "Accept" in order to proceed. Downgrading to Proton 6 or Proton 7 allows you to view and accept the EULA, after which you can change back to a newer version of Proton in order to run the game.

  2. Unfortunately, after getting into the game (using the "trick" above), the stutters are terrible and game performance suffers significantly. I've spent hours trying various environment variables and tweaks, and sadly have been unable to find a good approach. At times you can be running fine at high FPS but simply rotating the camera or walking around a little can cause huge FPS drops and frametime jumps. (see stutter-steam logs).

Reproduction

Install the game using latest Proton/Proton experimental. Choose any server, create character and click 'Enter Game'. It should crash.

Once in game using the "trick" above, simply play a little and you should see the same behavior.

joker-119 commented 1 month ago

I was using proton 7.0-6 before which worked fined but it also no longer works today. Using Proton Experimental, Proton 9.0-3, and/or GE-Proton9-14 works but they cause intense stuttering/really low fps drop in places like blackfell or places with high tree density.

Personally I've found Proton Experimental with DXVK_ASYNC=1 to be the smoothest, and have the most issues near water or when traveling very quickly (60-80km/h in the car/ATV seems fine, but 120+ on the bike gets really stuttery, especially when making quick turns or if you go flying off a mountain (let's be honest, who doesn't use their bike as a glider)

xpander69 commented 1 month ago

Personally I've found Proton Experimental with DXVK_ASYNC=1 to be the smoothest, and have the most issues near water or when traveling very quickly (60-80km/h in the car/ATV seems fine, but 120+ on the bike gets really stuttery, especially when making quick turns or if you go flying off a mountain (let's be honest, who doesn't use their bike as a glider)

DXVK_ASYNC doesnt even do anything with official protons with official DXVK builds. Unless you replaced the files with the hacky async ones.

joker-119 commented 1 month ago

Ah, I did not, but I was using it on GE and didn't remove it when switching to official proton so I figured I should include that it's there. Idk if it even does anything on GE proton builds tbh, always figured it couldn't hurt by having it there though whether I notice any difference with it on or not.

Though I will stand corrected, since the patch this morning, proton experimental randomly freezes, typically when hovering over items in my inventory. Game sound continues, but graphics freeze completely, GPU usage goes to 0% and CPU usage for the game drops by half and just sits there forever.

Back to re-testing each proton version I suppose.

joker-119 commented 1 month ago

Do not recommend GE Proton 9-13... xD

Will report back if I find one that's useful and stable for me. Screenshot_20240926_025757

joker-119 commented 1 month ago

Alright so I've tried every Proton and GE version from 7.0.6 to GE 9-14 and Proton Experimental. Anything under Proton/GE 9.0 results in the WinLicense error mentioned above. All Proton GE versions from 9-2 to 9-14 result in black textures as shown above, however the game appears stable. All Official proton builds aside from experimental also resulted in these black textures, and were very stuttery and unstable.

On ProtonDB, someone indicated you can force the game into using d3d12 via it's config file(steamapps/common/Once Human/Documents/GraphicConfig.xml), and that doing so made Proton GE 9-13 functionally equivalent to 7-55 prior to the updates. I however, did not notice much difference with this, and the black textures remained.

Thusfar, the only 'playable' Proton i've found is Experimental, but even with the d3d12 setting set as mentioned on protonDB, there's still stuttering and it occasionally freezes when showing mouseover tooltips.

kieeps commented 1 month ago

Replying to https://github.com/ValveSoftware/Proton/issues/7888#issuecomment-2376561083

I don't have once human installed anymore, but could you do me a favor?

Try the GE 9.x and set the graphics preset settings to low, you can bump all the individual settings to high after, as long as the preset general setting is set to low :-)

That's how I solved some "black texture" weirdness I had

joker-119 commented 1 month ago

So I tested every Proton/GE version from 7-0-6 to 9-14/Experimental.

All proton/GE versions below 9-0 fail to start, with the WinLicense error above.

All GE versions, and all Official Proton versions aside from Experiemental, result in black/neon textures like pictured above.

Proton Experimental is stuttery and unstable (soft-locks graphics when showing a mouseover tooltip randomly).

ProtonDB indicated someone had success making GE 9-13 run equivalent to 7-55 by going into steamappa/common/Once Human/Documents/GraphicConfig.xml and forcing the "use_d3d12" option to 1, however for me, this seemed to have no affect on performance, or the black textures issue I encountered.

joker-119 commented 1 month ago

Replying to https://github.com/ValveSoftware/Proton/issues/7888#issuecomment-2376586495

I have tried this, even on the "Very Low" setting (I tried "Low" first), the black textures remain on Proton GE 9.x versions, and Proton official versions except for Experimental.

kieeps commented 1 month ago

Replying to https://github.com/ValveSoftware/Proton/issues/7888#issuecomment-2376599420

That sucks 😞 I was planning to play some once human again some day, guess this will end up in the "to be continued" pile

joker-119 commented 1 month ago

Well as noted, someone on ProtonDB said forcing the use_d3d12 option in the game config file fixed the stuttering for them on 9-13, and didn't report any texture issues, so the texture issue may not affect everyone, might still be worth trying it out.

I'm not sure what to do for myself at this point, I've reinstalled the game, deleted the prefix, disabled shader pre-caching, etc but issue persists.

corvintheus commented 1 month ago

I also did try everything, I am on steamdeck. I use proton hotfix, experimental, proton 9.0.3, ge-proton 9x nothing seems to work. I even tried the d3d12 option in the game config but no use.

joker-119 commented 1 month ago

I may have made a breakthrough - You need to manually install dxvk via protontricks.

After doing this, Proton 9-14 no longer had the black texture issue. You need to make sure is set to 0 in the GraphicsConfig.xml file (this is the default value if you didn't change it) and append -dx11 to the end of the launch options

%command% -dx11 for example.

It's running buttery smooth with no stuttering, no texture issues.

dlicois commented 1 month ago

The black void issue was fixed in mesa, it's not related to proton.

joker-119 commented 1 month ago

The black void issue was fixed in mesa, it's not related to proton.

The black void was occurring on mesa 24.3.0 until I installed DXVK and forced dx11 launch option, then it went away. There was no mesa update to fix the issue, so you are incorrect. It also immediately comes back if I remove the prefix and let it re-create it without dxvk. It also only occurred on certain proton versions.

PompousG7 commented 1 month ago

I may have made a breakthrough - You need to manually install dxvk via protontricks.

After doing this, Proton 9-14 no longer had the black texture issue. You need to make sure is set to 0 in the GraphicsConfig.xml file (this is the default value if you didn't change it) and append -dx11 to the end of the launch options

%command% -dx11 for example.

It's running buttery smooth with no stuttering, no texture issues.

dxvk doesnt seem to show in protontricks for me. Still somewhat of a noob with linux. Am i missing something?

smirgol commented 1 month ago

The black void issue was fixed in mesa, it's not related to proton.

The black void was occurring on mesa 24.3.0 until I installed DXVK and forced dx11 launch option, then it went away. There was no mesa update to fix the issue, so you are incorrect. It also immediately comes back if I remove the prefix and let it re-create it without dxvk. It also only occurred on certain proton versions.

Maybe it's a regression, as it definitely got fixed in Mesa 24.2.1: Once human black artifacts consume the screen

Until this release I've experienced the black void on anything but low settings. After the release of 24.2.1, I finally could bump it up to the max. Have not played for a while now, so can't say if it's back.

It's also a bit odd that you explicitly would have need to install dxvk - I'd assume that comes with GE/Proton by default. But if that works for you, I might be wrong. :)

Ah, and I'm on a XT 7900XTX GPU, if that matters.

hsmalley commented 1 month ago

I may have made a breakthrough - You need to manually install dxvk via protontricks.

After doing this, Proton 9-14 no longer had the black texture issue. You need to make sure is set to 0 in the GraphicsConfig.xml file (this is the default value if you didn't change it) and append -dx11 to the end of the launch options

%command% -dx11 for example.

It's running buttery smooth with no stuttering, no texture issues.

I still had to use Experimental after manually installing the latest dxvk in the prefix. But that seems to have helped.

I had to use flatpack steam/mesa as the latest mesa on Fedora is 24.1 not 24.2+.

To answer @PompousG7

dxvk doesnt seem to show in protontricks for me. Still somewhat of a noob with linux. Am i missing something?

I don't know if grabbing the latest dxvk (2.4.1) is stricly required. I think we're just throwing stuff at the wall to see what helps at this point.

To manaully install it you need to extract/overwrite the various dxvk dll files into your wine prefix eg

..../steamapps/compatdata/2139460/pfx/drive_c/windows/syswow64 ..../steamapps/compatdata/2139460/pfx/drive_c/windows/system32

Unless I am missing something obvious in the protontricks too!! :laughing:

I missed the obvious, it's in the menu you just have to scroll down farther...

joker-119 commented 1 month ago

latest mesa on fedora is 24.3

protontricks (like winetricks) handles moving the files there for you when you install dxvk through the tool.

I know that I tried the game with proton 9-14 with the -dx11 launch argument and had the black textures. I closed the game, used protontricks to install dxvk (it installed 2.4.1), and started the game up again.

With no other alterations, the black textures were gone.

I then deleted the entire prefix, and repeated the same test again, first without dxvk, and again with dxvk, and the results were the same. no dxvk = black textures, dxvk = playable with minor stuttering

The stuttering is less on 9-14 (for me) than experimental, and it doesn't crash everytime I open my inventory, but it does get laggy when I open it.

hsmalley commented 1 month ago

latest mesa on fedora is 24.3

On Fedora 41 (Beta) :smile:

smirgol commented 1 month ago

I've fired up the game again, using Experimental and GE-Proton9-14. With Experimental things looked good, but I've experienced severe freezes when editing the body of my character for the new season. With GE, there are no freezes, but I can confirm black textures.

Note that this is not the "black void" issue where suddenly the whole screen gets painted with black, but texture errors.

That is a newer issue, which might have been fixed already in the latest dxvk, which would explain why installing / overwriting it from the latest master might fix it. shrugs

joker-119 commented 1 month ago

latest mesa on fedora is 24.3

On Fedora 41 (Beta) 😄

You sure about that there, bud? Screenshot_20240926_141809

joker-119 commented 1 month ago

I've fired up the game again, using Experimental and GE-Proton9-14. With Experimental things looked good, but I've experienced severe freezes when editing the body of my character for the new season. With GE, there are no freezes, but I can confirm black textures.

Note that this is not the "black void" issue where suddenly the whole screen gets painted with black, but texture errors.

That is a newer issue, which might have been fixed already in the latest dxvk, which would explain why installing / overwriting it from the latest master might fix it. shrugs

Give it time, it will still stutter a LOT, especially when opening your inventory or flying. But it is otherwise 'playable' at least.

Laminin64 commented 1 month ago

System specs:

CPU: 5900x GPU: 3080ti OS: CachyOS Kernel: Linux 6.11.0-5-cachyos-lto DE: KDE Plasma 6.1.5 WM: KWin (Wayland) Proton: Experimental (not bleeding edge) Launch options: DXVK_HUD=fps,frametimes,memory,gpuload,api PROTON_LOG=1 PROTON_HIDE_NVIDIA_GPU=0 PROTON_ENABLE_NVAPI=1 %command%

Game intermittently spikes in frametime causing stutter and fps drops. More noticeable while in combat or when effects are taking place. UI elements (inventory, looting, storage, etc) lag while loading or hovering over item icons. From what I can tell, and correct me if I'm wrong, but the game doesn't run in DX12 even if you set it explicitly in the Graphics-config.xml file. It will still run with DXVK which reports D3D11 FL11_1 from the HUD.

From the 1gb proton log produced in the 7 minutes the game was running before crashing, nothing seems to stick out, just a ton of:

1670.583:0368:0488:fixme:d3dcompiler:skip_u32_unknown Skipping 3 unknown u32s: 1670.583:0368:0488:fixme:d3dcompiler:skip_u32_unknown 0x00000000 1670.583:0368:0488:fixme:d3dcompiler:skip_u32_unknown 0x00000000 1670.583:0368:0488:fixme:d3dcompiler:skip_u32_unknown 0x00000000

This gets spammed for a bit:

1324.612:0368:03a4:fixme:bcrypt:BCryptGenRandom ignoring selected algorithm

and this is what hung and inevitably crashed the process: https://pastebin.com/5hGpCGmL

Proton Hotfix runs better than experimental but it's still pretty unplayable imo, with frametimes spiking to 80ms once a minute. Have over 150 hours in the game as it worked fine with GE7.55 before the latest patch. Hoping a talented individual could come along and help out :+1:

corvintheus commented 1 month ago

I may have made a breakthrough - You need to manually install dxvk via protontricks.

After doing this, Proton 9-14 no longer had the black texture issue. You need to make sure is set to 0 in the GraphicsConfig.xml file (this is the default value if you didn't change it) and append -dx11 to the end of the launch options

%command% -dx11 for example.

It's running buttery smooth with no stuttering, no texture issues.

This fixed the black texture on steamdeck running GE-proton9-14 still have some random spike and when you get to town, can't move anymore. So I set my anti aliasing to low instead of Mid and works fine now 60 fps on meyers without npc but goes bad again when there are npcs and monsters specially when fighting. So I tried 9.0.3 everything goes smooth again but when I teleported back to my home base the stutter goes bad again.

corvintheus commented 1 month ago

Tried every proton 9 I have, GE-proton 9.11, 9.14, 9.0.3, Experimental, Hotfix and I can say some areas are playable and some are not. The version 7.0.6 version are the most stable for me played 233 hours on that proton until the WinLicense DLL shows up.

joker-119 commented 1 month ago

Unfortunately I'm fairly certain the reason proton prior to 9.0 doesn't run is due to an anticheat update in the game.

I don't know how feesible it is to fix that in an older proton version, and the graphics issues were experiencing seems to be a regression of some sort, but at this point it's anyone's guess as to what was added between 7-55 and now that causes it. Since proton older than 9.0 can't launch the game, and 9.0-2 has the issue, it likely started somewhere in the 8.x versions but no way to really pin down exactly where anymore.

Time for everyone to dig through mountains of logs, ig

kieeps commented 1 month ago

Verified what @joker-119 said, -dx11 and dxvk works great :) running protonGE 9.14

Huszyl commented 1 month ago

Verified what @joker-119 said, -dx11 and dxvk works great :) running protonGE 9.14

no stuttering? no lag issues?

Godless-Heathen commented 1 month ago

I installed dxvk via protontricks and added -dx11 at the end of the command line but I still get black textures with Proton 9+. Hotfix worked prior to the update but now doesn't even boot. And experimental lags the game to a stop when I open Memetics, though I can still hear my radio. So, for me at least the game is completely unplayable under Linux. I'm now looking at getting KVM/VFIO working in order to play it...

kieeps commented 1 month ago

Verified what @joker-119 said, -dx11 and dxvk works great :) running protonGE 9.14

no stuttering? no lag issues?

Not really no, I'd have to test different areas out before I can say for sure but so far so good

Huszyl commented 1 month ago

Verified what @joker-119 said, -dx11 and dxvk works great :) running protonGE 9.14

no stuttering? no lag issues?

Not really no, I'd have to test different areas out before I can say for sure but so far so good

Thats great. Can you share how? So i can test it on my end bro?

braiam commented 1 month ago

I installed dxvk via protontricks and added -dx11 at the end of the command line but I still get black textures with Proton 9+. Hotfix worked prior to the update but now doesn't even boot. And experimental lags the game to a stop when I open Memetics, though I can still hear my radio. So, for me at least the game is completely unplayable under Linux. I'm now looking at getting KVM/VFIO working in order to play it...

@Godless-Heathen that's from your mesa version. Use vulkaninfo | grep driverInfo to know the version of mesa you are using. If it's less than 24.1.7 (for 24.1) or 24.2.1 (for 24.2) then check with your distribution if there's a newer release.

joker-119 commented 1 month ago

@Huszyl @kieeps I'd appreciate if you guys removed the @joker-119 from your replies in the future, it causes me to get pinged each time 🤣

kisak-valve commented 1 month ago

Or better yet, don't create reply chains of consecutive comments in the first place.

joker-119 commented 1 month ago

Or better yet, don't create reply chains of consecutive comments in the first place.

I don't really see an issue with reply chains when they are direct replies to what's said, it actually helps keep things in context for others.

But removing unnecessary @'s to other people from them should be a courtesy :)

StelardActek commented 1 month ago

The frame drops get worse the longer you play, until you restart the game. Could it be some kind of resource leak?

Godless-Heathen commented 1 month ago

@Godless-Heathen that's from your mesa version. Use vulkaninfo | grep driverInfo to know the version of mesa you are using. If it's less than 24.1.7 (for 24.1) or 24.2.1 (for 24.2) then check with your distribution if there's a newer release.

@braiam yes, I figured that was the issue since my system is on 23.2.1, but I'm having an issue upgrading to 24 on Linux Mint 21.1 which I think is because my OS is a few versions behind. So I'm moving over to LM 22 on my new 4TB NVMe and setting up dynamic bind/unbind for my GPU so I can run Win 11 via KVM/VFIO (VM) for those games that don't play nice with Proton. And I'll still be able to run games with prime-run when my GPU is rebound, much like how a gaming laptop works with an iGPU and dedicated card.

Godless-Heathen commented 1 month ago

The frame drops get worse the longer you play, until you restart the game. Could it be some kind of resource leak?

@StelardActek Yes, there are memory leaks in the game. I'd have System Monitor up on my second monitor as I was playing, and the game would eventually eat up 20+GB and at some point it would just close to desktop. I don't know if it does that under Windows, but I'll be finding out soon.

Daktyl198 commented 1 month ago

Using Mesa 24.2.3 and Proton Experimental, I'm having an issue where the game runs fine for as long as I keep it open, but as soon as I try to make a new character on a server the game freezes. I cannot make a character, so I can't actually get into the game.

joker-119 commented 1 month ago

Using Mesa 24.2.3 and Proton Experimental, I'm having an issue where the game runs fine for as long as I keep it open, but as soon as I try to make a new character on a server the game freezes. I cannot make a character, so I can't actually get into the game.

Try using proton GE 9-14, it seems much more stable than experimental is, experimental kept soft locking for me when opening my inventory or memetics

MARTINrichard05 commented 1 month ago

A friend on windows sent me this: image looks likle a mem leak

joker-119 commented 1 month ago

Over the course of playing for 6hrs, the game's only using 8-10gb of ram for me. Not really all that impactful of a leak, whatever one there is.

And that certainly wouldn't affect things 5-10mins into the game when it's sitting under 6gb of ram used.

MARTINrichard05 commented 1 month ago

he just showed me a screenshot of his task manager, showing 24gb of ram used with not many apps opened and once human running for a few hours

joker-119 commented 1 month ago

Correct me if I'm wrong, but that screenshot shows once_human consuming just over 5gb of memory, and the windows desktop manager consuming almost 8gb.

I'm not sure if you know this, but Linux (incl. proton) do not have a Windows desktop manager taking more memory than our games.

Screenshot_20241002_090723

The game has been running for approx. 2 hours, and the game is consuming 5.2gb of memory. And I just closed the game, and my system memory usage dropped by about 5.8gb (this accounts for the game and proton stuff combined).

Hardly an issue for a game to be consuming 5gb of ram, memory leak or not, it's memory usage is not relevant to our issues here, as any leak there may be, is obviously not bad enough to cause an issue so quickly into playing the game.

joker-119 commented 1 month ago

On a side-note - I found some threads related to stuttering issues on windows, and noticed that the netease launcher version of the game ships with several vcrun 2017 dll's, while the steam version does not.

I installed vcrun2017 via protontricks, and noticed a significant improvement. By no means is the stuttering gone (especially when opening your inventory/navigating menus), however my 1% lows went up from 18-20fps to 39-45fps, with the average remaining about the same at 81fps.

Results may vary on this, I haven't tested it super thoroughly, but anecdotal evidence suggests it may at least improve the issue somewhat, or at the very least, doesn't make it any worse.

Daktyl198 commented 1 month ago

Try using proton GE 9-14, it seems much more stable than experimental is, experimental kept soft locking for me when opening my inventory or memetics

GE runs the game, but all of the textures in the game are black and/or not loaded. I used GE to get past the initial bit, and have used Experimental since. The performance is awful, and the game hitches a lot. The game tends to crash when trying to enter my "Gear" inventory screen.

joker-119 commented 1 month ago

Try using proton GE 9-14, it seems much more stable than experimental is, experimental kept soft locking for me when opening my inventory or memetics

GE runs the game, but all of the textures in the game are black and/or not loaded. I used GE to get past the initial bit, and have used Experimental since. The performance is awful, and the game hitches a lot. The game tends to crash when trying to enter my "Gear" inventory screen.

Read the rest of the thread, brother.

You need to manually install dxvk latest via proton tricks, and if you have an amdgpu you need the latest version of mesa.

Huszyl commented 1 month ago

Replying to https://github.com/ValveSoftware/Proton/issues/7888#issuecomment-2389708671

@joker-119 you dont experience any lag or stuttering issues now bro?

joker-119 commented 1 month ago

Replying to https://github.com/ValveSoftware/Proton/issues/7888#issuecomment-2389708671

@joker-119 you dont experience any lag or stuttering issues now bro?

Still lag and stuttering issues, but they seem to have gotten less severe after what I did in my last post about tinkering with stuff. It Playable, but only barely.

shelterx commented 1 month ago

I can confirm that the game seems to run decent with GE.Proton9.15. There are still stutters but not as bad as they used to be.