Once human stutters/lags/crashes/corrupt graphics

TLDR:

Once human stutters/lags/crashes/corrupt graphics, I fixed it till they break it again.

I apologize about the formatting, I’ll attempt to do better in any future posts.

The following is my log, journal, and thoughts and settings that work, on the why and how of getting the game running as it should, or as close to it as is possible.

**Ramblings at the front Second Half has the settings.

**Scroll to Steam Load Options for AMD and Nvidia Ok so now lets make it work!!

I’d give you a link there but I’ve no idea how to.

And, CachyOs WIKI is probably one of the most useful websites on the Internet.

Fix: RYFL, RTFW, RTFM, RMFP

Once Human Current Status with the below Setup

AMD:

Random Crashes:

In between the crashes(details below) the game seems to run flawlessly with no stuttering, smooth camera motions, no noticeable lag, no graphical artifacts or tearing, and much faster load times.

I Believe the crashes are a me problem, and due to the Minisforum 790 pro pc running an EGPU XFX 7600 through oculink that has been added on, Lots of PCIe errors in journalctl (suspect crashes come from bus conflicts, as I don’t get them on my older system with a proper pcie 16 slot.)

Pcie errors:

Forgot to copy the error here but its obvious if you have them.

Setting pcie_aspm=off in your kernel prams /etc/sdboot-manage.conf for systemd fixed the pcie error messages but didn’t increase performance as expected with the new Nvidia card. (this seems to only be needed on the UM790 as the old desktop works fine without it)

**expect it’s due to hardware <minisforum um790pro w/ ext gtx5070 via oculink>, oculink shares pci_e bus with m2 drive.

New system will be AMD R9 9950x 32GB Samsung gen 5 nvme WD gen 5 nvme Nvidia RTX 5070 Will update status after a longer session and after building new system.

Cheap hardware that doesn’t respect power profiles causes conflicts that eventually crash the system. There is a way to turn off power profile settings pcie_aspm=off
/etc/sdboot-manage.conf I believe this is what got rid of the pcie errors, didnt find it till I was using the nvidia card so this got documented in both places
sudo sdboot-manage gen after you’ve added the pram to sdboot.

Remaining issues:

Random crashes associated with rng gfx_0.0.0 timeout.(AMD)
Fix:
Will try with an unmoded UM890 pro in a couple weeks, and see if I can replicate
The issues with it, 890 was designed with oculink in mind, and may have a
Different bus setup.

Nvidia:

Currently on old system I9 8700k 16GB Nvidia GTX5070 (No errors in logs game runs

Good), occasional video lags appears to be a slow IO opp / slow shader, clears itself quickly, can get slow textures in a few instances, ingame actionbars/info panels flicker. (Flickering stops when mangohud is disabled)

**Using PROTON_USE_NTSYNC=1 seems to have fixed the IO stutter/lag and made card usage more consistent. (still has a few minor stutters)
** remove mangohud and the minor lags seem to stop (short play through 15mins no lags)

**update old system running almost perfectly still has a minor stutter sometimes
170-235 fps, very high settings game fps limit 120, either game isn’t limiting or mangohud reads fps differently?
Game limit to 60 yields a pretty consistent 120 fps on mangohud.

**droping mangohud seems to remove the last of the stuttering.

Suspected Solutions:

AMD:

Downgrade to mesa 24 video drivers (unsuccessful so far, downgrade seems to work but gnome panics on reboot and desktop fails to launch. If someone knows properly how to make the downgrade work please share.)

Swap to Nvidia card. (this is viable, the settings below yield no stuttering and no graphics laggs)

POP/Ubuntu:

AMD:

(didnt try nvidia on the PoP system)

Do not use kisak ppa right now the drivers there have an issue that makes the game crash with a ring failure error.

uninstall kisak ppa then run refresh install (all mesa 25.* have ring failure that causes game crash use mesa 24.* instead?) <(ppapruge doesn’t seem to work find a better option)> (better option: system refresh from OS upgrade page in settings) remove the ppa and use the system refresh from the upgrade page in settings.

Use cachyos instead, downgrade mesa drivers to 24.* (mileage may vary. So far all I get on downgrading is a broken gnome reboot to a black screen, tried switching to LTS kernel before downgrade, same broken gnome)

**need to get into the weeds on this and learn how its actually done.

Troubleshooting:

journalctl -b -p warning --no-pager go through the logs to see whats really going on.

amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 timeout, signaled seq=1054624, emitted seq=1054626 ←— this is on the minisforum 790 with oculink addon

The above error is what I’m getting that’s causing the amdgpu to reset, crashing the game and desktop, my digging says this is a regression in the mesa driver in the 25.* series, hence my suggestion to downgrade to the mesa 24 series, or swap to Nivida.

I am still trying to get the mesa AMD drivers to downgrade without breaking my desktop.
(on hold till I get back to the 890 system, 2 weeks?)

The crash most frequently happens when changing settings, opening Inventory, Shop, or zoning out of Silos.

**Forgot to copy in the pcie conflict errors I mentioned earlier, pcie_aspm=off seemed to fix it but the system was still crashing.

STEAM LOAD OPTIONS FOR AMD AND NVIDIA OK SO NOW LETS MAKE IT WORK!!

*game-performance is a cachyos thing equivalent to gamemoderun. On ubuntu/PoP, install gamemode use the gamemoderun option on steam.

AMD

PROTON_SET_GAME_DRIVE=1 PROTON_ENABLE_WAYLAND=1 PROTON_FSR4_UPGRADE=1 PROTON_ENABLE_HDR=1 RADV_PERFTEST=gpl PROTON_LOG=1 game-performance %command%

RADV_PERFTEST=gpl may not be needed, my game was running fine with it, so I haven’t tested without. (game running great inbetween crashes, again I think that’s a me problem)

PROTON_SET_GAME_DRIVE=1 (I am unsure why this setting makes such a big difference in game performance but on my system, um790pro it was huge. (Maybe because of cheap hardware and poor bios settings? Unknown cant change them anyways)

**(Probably ignore this setting all together) check ld_preload path for proper .so path may have to symlink to proper location or use LD_PRELOAD=”” or drop this from the load options all together. It didn’t seem to do anything for me either way when it was dropped. ←—--------- This may apply to Nvidia cards as well. This was an issue trying to get mangohud to see if gamemode was actually in use on PoP, was getting lots of errors about some .so lib not being present even though it was. Wound up symlinking to the lib from where gamemode was expecting it and those errors went away, but had to add the path to the preload. Not an issue on cachyos, and was probably only an issue on POP because i was using the mangohud git, since the PoP .deb didn’t want to work at all.

Nvidia: ←—------ Got a 5070 now

PROTON_SET_GAME_DRIVE=1 PROTON_ENABLE_WAYLAND=1 PROTON_DLSS_UPGRADE=1 ENABLE_HDR_WSI=1 PROTON_LOG=1 PROTON_USE_NTSYNC=1 PROTON_NVIDIA_LIBS=1 game-performance %command%

The above works, (NTSYNC=1 got rid of most of the little stutters, )

*Mangohud causes problems itself since its not wayland native and seems to force the game into X11wayland?, which seems to be the cause of most crashes when it disconnects. (Not using mangohud seems to decrease crashes, the crashes all seem to stem from an X11wayland failure), and after the swap im using mangohud again without the failures and crashes, still get lots of journalctl warnings
.
gnome-shell[33410]: (../mutter/src/wayland/meta-wayland-pointer-constraints.c:474):should_constraint_be_enabled: runtime check failed: (meta_wayland_surface_is_xwayland (constraint->surface) || META_IS_WAYLAND_SUBSURFACE (constraint->surface->role)) goes on forever in the log.

**this goes away when mangohud is not launched with the game.
**may still be an issue with mangohud get lots of warnings in journalctl but no crash, but do get flickering actionbars etc

Random Other:

kernel: [UFW BLOCK] IN=eno1 OUT= MAC=01:00:5e:00:00:01:9c:53:22:c9:df:38:08:00 SRC=192.168.88.1 DST=224.0.0.1 (firewall configuration issue lots and lots of this type of warnings)

**don’t use cosmic DE via cachyos it don"t work, use gnome or kde (had some other issues with kde that i ignored by swapping to gnome, mainly DE stability issues, not game issues)

***cosmos desktop in cachyos appears to be the actual cosmos desktop beta from PoP and I could not get the game to fully launch with it. There were a great many cosmic errors about boxes and locks and blahblahblah cosmos failed to……. Swapped back to Gnome and game launches fine and is running mostly great.

Once Human Config:

!!!Edit /home/username/.Steam/Steam/Steamapps/Documents/GraphicConfig.xml
Change <setting_enable_d3d12>0 to 1 (AMD cards wont show DX12 settings but game will run, without this the game will barely launch if it launches at all) <( works better with Nvidia you can set dx12 in video settings before entering the game world)>

AMD:

*This dx12 setting must be done after first run of the game in order for the file to populate on fresh installs. (if you have one of these files pre edited you could possiably put it in the docs folder pre first launch and get a much better result straight away)

Nvidia

*Should be able to set this in graphics settings during first launch.

Proton Prefix Settings:

alldlls=builtin cfc=enabled csmt=force heapcheck orm=backbuffer graphics=wayland renderer=vulkan winversion=10(or 11)

System Settings:

AMD

Depending on your system if your running AMD you need to locate either 20-amdgpu.conf or 10-amdgpu.conf. Possible locations are listed here:

/usr/share/X11/xorg.conf.d/
/etc/X11/xorg.conf.d/

On my systems the .conf file was in: /user/share/X11/xorg.conf.d/10-amdgpu.conf
Then you need to copy all 3 “Option” lines to the config, save and reboot the system (see below my current .conf).

Section “OutputClass”
Identifier “AMDgpu”
MatchDriver “amdgpu”
Driver “amdgpu”
Option “EnablePageFlip” “off”
Option “TearFree” “false”
Option “AsyncFlipSecondaries” “false”
EndSection

**Without these options journalctl gets hammered with page flip failures, which seem to coincide with stuttering/lag in game. For me these were the game changers for smoothness of gameplay on AMDGPU

Increase shader cache size Nvidia 12GB:

sudo nano /etc/environment

#Increase Nvidia’s shader cache size to 12GB

__GL_SHADER_DISK_CACHE_SIZE=12000000000

Increase shader cache size AMD 12GB:

sudo nano /etc/environment

#Enforces RADV Vulkan implementation

AMD_VULKAN_ICD=RADV

#Increase AMD’s shader cache size to 12GB

MESA_SHADER_CACHE_MAX_SIZE=12G

*Reboot after making these settings.

Other Observations:

Use cachyos_proton slr version from Releases · CachyOS/proton-cachyos · GitHub
That should be the version with the anticheats built in, I didn’t notice anticheat being a problem with any of the other versions but better safe than banned. (Try the others at your own risk, I’ve never had a problem with GE_Proton.)

Extract: your proton files to : ~/.steam/steam/compatibilitytools.d

Delete old prefix when switching to cachy proton (or any other vastly different proton) and redo prefix options in protontricks.
Location: ~/.steam/steam/steamapps/compatdata/2139460/pfx

Most of this is pulled from the Cachyos wiki give praise to them if it works for you,

I’ve simply compiled my settings/testings from there and a few other sources (AI Internet searches) into a doc that I can parse and share that will hopefully make it easier for myself and others to get the game running right. I expect many of you know far more than me and have much to add to this doc so please share your experiences/tweaks/settings.

Sorry it’s a rambling mess but I’ve used it as a live document/journal to keep notes for myself editing it into something readable for others seems impossible.**

Small Update since completing the new system build:

Current Status:: Game running great on new system ryzen 9 9050x nvidia 5070 with settings from my previous post + SDL_VIDEODRIVER=wayland in steam launch options. A few log warnings left over (detailed below) but they don’t seem to be afecting performance.

***Do you need my hardware to run the game? I don’t think so I believe you can run it on an AMD 790M IGP with the settings detailed in the above post ( not on max settings but turn it down to mid and it should be fine, I’ll test that in a couple weeks when i get back to the system that has that IGP)

add SDL_VIDEODRIVER=wayland to the proton launch options, this seems to help get rid of many of the xwayland warnings in journalctl, and I believe make things smother overall.

I’ve now put in about 3 hours with the new system, no crashes no lag, my last problems are:

from journalctl:

gnome-shell[1727]: (../mutter/src/wayland/meta-wayland-pointer-constraints.c:474):should_constraint_be_enabled:

** this didn’t show up for the first ~30is minutes in game, but seemed to coincide with alt tabbing into firefox with the game running (makes sense, since xwayland cant find the pointer when it’s in a wayland window, will have to specifically test this aginst timestamps to verify.)

and

kernel: [UFW BLOCK] IN=enp7s0 OUT= MAC=33:33:00:00:00:0c:9c:53:22:c9:df:38:86:dd SRC=fe80:0000:0000:0000:9e53:22ff:fec9:df38 DST=ff02:0000:0000:0000:0000:0000:0000:000c LEN=422 TC=0 HOPLIMIT=1 FLOWLBL=297611 PROTO=UDP SPT=57686 DPT=1900 LEN=382

** firewall waring about a blocked connection? game runs fine so this is on the back burner, would like it out of my logs but i suspect that means turning off the FW which is probably a poor choice.

and

kernel: [UFW BLOCK] IN=enp7s0 OUT= MAC=01:00:5e:00:00:01:9c:53:22:c9:df:38:08:00 SRC=192.168.88.1 DST=224.0.0.1 LEN=32 TOS=0x00 PREC=0x00 TTL=1 ID=15053 DF PROTO=2

** this is another FW warning IP yields “name = all-systems.mcast.net” I suspect this is a connection from Steam thats being blocked as there are far fewer of these than the other one, again, game running great so this is BB till I feel like chasing network issues.

Last one

x86/split lock detection: #DB: ONCE_HUMAN.exe/7499 took a bus_lock trap at address: 0x147476e95

Once Human does have a split lock problem, I could turn split lock protection off but so far I’m not going to as the game is running great (something to consider later if it looks to be a problem)

Cheers

CSCS,

since you wanted it, then deleted your reply here’s cherry picked sysinfo out of bugreport

System:
Kernel: 6.17.0-4-cachyos arch: x86_64
Desktop: GNOME v: 49.0
Mobo: Micro-Star model: MAG X870E TOMAHAWK
CPU:
Info: model: AMD Ryzen 9 9950X
Graphics:
Device-1: NVIDIA GB205 [GeForce RTX 5070]
Network:
Device-1: Realtek RTL8126 5GbE vendor: Micro-Star MSI driver: r8169
Device-2: Qualcomm WCN785x Wi-Fi 7
Drives:
Local Storage: total: 16.82 TiB used: 518.95 GiB (3.0%)
ID-1: /dev/nvme0n1 maj-min: 259:2 vendor: Samsung
model: SSD 970 EVO Plus 1TB size: 931.51 GiB block-size: physical: 512 B
logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial:
fw-rev: 2B2QEXM7 temp: 35.9 C scheme: GPT
SMART: yes health: PASSED on: 187d 4h cycles: 128
read-units: 57,403,291 [29.3 TB] written-units: 63,068,672 [32.2 TB]
ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Samsung model: SSD 9100 PRO 2TB
size: 1.82 TiB block-size: physical: 512 B logical: 512 B speed: 126 Gb/s
lanes: 4 tech: SSD serial: fw-rev: 0B2QNXH7 temp: 31.9 C

Info:
Memory: total: 32 GiB note: