protonscr

Skyrim Special Edition stuck at loading screen (AMD Threadripper or > 32gb RAM issue)

dxvkclosed
doitsujin/dxvk#699 · opened 2018-10-14 by TRPB · updated 2018-10-14 · 5 comments · github
TTRPB 2018-10-14 github

Skyrim SE gets stuck at the loading screen on certain hardware configurations.

I posted on the Steam forums about this: https://steamcommunity.com/app/221410/discussions/8/1734336452599497070/

With a blank wineprefix (no savegames, no mods, just a fresh install from steam) click "New game". It sits at the loading screen forever.

Almost everyone affected has:

AMD Threadripper 1950x

= 32gb RAM

Software information

Skyrim Special Edition (Steam)

System information

  • GPU: nvidia 980ti
  • Driver: 410 (396.54 also affected)
  • Wine version: 3.18
  • DXVK version: 0.4 - 0.9

There are several systems listed in the steam thread:

/////
Arch Linux
AMD Threadripper 1950x
32gb RAM
nvidia 980ti with 396.54 driver
/////
Ubuntu 18.04
AMD Threadripper 1950x
64gb RAM
Nvidia Titan XP
///
Arch Linux
AMD Threadripper 1950x
32gb RAM
AMD Vega 64
////

Both AMD and nVidia GPUs are affected so it's unlikely to be a driver issue. The common elements are:

32gb or more of RAM
AMD Threadripper 1950x

Apitrace file(s)

The game does not run without DXVK and I get a black screen so cannot get far enough to produce the issue without it.

Log files

SkyrimSE_dxgi.log

What I've tried

Knowing that it only affects high CPU core systems or high RAM systems I have tried the following:

  • taskset -c 0-7 wine steam.exe I wasn't sure whether this would limit just steam.exe, when steam.exe spawns SkyrimSE.exe does this have all 32 cores enabled?

  • Disabling SMT in the bios. This effectively disables half the cores so there are only 16 available. This would be similar to someone playing on a Ryzen 7 (8 cores + smt) and I haven't seen any reports with 16 thread CPUs

  • It seems like it might be a memory issue. I've tried enabling/disabling NUMA in the bios to no effect

  • With NUMA enabled I've tried using numactl -m 0 -t wine Steam.exe to force WINE to only use one bank of memory (effectively limiting it to 16gb in the process)

  • Running off a SSD rather than NVME driver (It could be a scheduler issue??)

None of this made any difference. How else can I debug this?

It used to work

A year ago when I built this system Skyrim + DXVK worked fine. I'm using the Same OS and exactly the same hardware now it does not.

However, I have tried using Lutris and used Wine 3.11 with DXVK 0.41 and it still doesn't work. This makes me think it might be a kernel or disk scheduler change.

Again, apologies if this is not a DXVK issue. It might be a WINE, Kernel or GPU driver problem (this is unlikely as it affects both nvidia and amd gpus). Hopefully you can point me in the right direction to better debug this problem.

Ddoitsujin maintainer 2018-10-14 github

Have you tried disabling the state cache (DXVK_STATE_CACHE=0)?

There shouldn't be any issues no matter how many threads your CPU has, since DXVK uses a fixed set of threads for everything except compiling shaders from the state cache.

By the way, taskset does not disable cores, the game will still see 32 threads. With SMT disabled it will see 16, but the game runs fine with Proton on my Ryzen 2700X, so I doubt it's that.

TTRPB 2018-10-14 github

Have you tried disabling the state cache (DXVK_STATE_CACHE=0)?

I've just tried it ( wine 3.18, dxvk 0.9) and it has no effect. Unfortunately with WINEDEBUG=all steam never seems to start (or it takes so long it seems like it doesn't). Which debug flags are best to enable here?

Ddoitsujin maintainer 2018-10-14 github

Don't know, but unless this is actually an issue with DXVK (and not wined3d), there's not much I can do about it anyway.

Some people on the Steam thread say it works correctly on wine-staging with DXVK, is that still the case?

TTRPB 2018-10-14 github

I've tried both wine-staging and wine 3.18 (and had tried both staging and standard versions of 3.17 before 3.18 was released).

Unfortunately I can't pinpoint whether it's WINE or DXVK because without DXVK I just get a black screen so can't get far enough to test it.

edit: Actually, with 3.18 if I set everything to low I can run SkyrimSE in windowed mode. It displays the intro but freezes at the menu, unfortunately this still isn't far enough to test whether the loading screen issue is down to dxvk

TTRPB 2018-10-14 github

Ok I managed to get vanilla WINE working. I had been playing around with various options and setting OffScreenRenderingMode = backbuffer was the cause of the crash

With everything on low and OffScreenRenderingMode=fbo, it works.

Can confirm it's not a DXVK issue as vanialla wile also crashes at the loading screen. At least I've narrowed it down to WINE.

Launch options