ValveSoftware / Proton

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

Hogwarts Legacy (990080) #6510

Open kzdixon opened 1 year ago

kzdixon commented 1 year ago

Compatibility Report

System Information

I confirm:

Proton Log (had to compress, took a bit to get it to crash but the incorrect shaders on close NPCs was consistently appearing the entire time): steam-990080.log.zip

Symptoms

Reference Pictures: ![2023-02-07-17:54:53-screenshot](https://user-images.githubusercontent.com/10300293/217394257-1d6d5da0-acde-4de9-80c3-1de4d9bb8bb1.png) ![2023-02-07-19:00:29-screenshot](https://user-images.githubusercontent.com/10300293/217394531-0bc0f156-1cc7-4c56-9ef0-1366132930c9.png) ![2023-02-07-19:00:36-screenshot](https://user-images.githubusercontent.com/10300293/217394544-0a0e42b2-b15d-4162-8ae6-8fd0b532b2a9.png)

Reproduction

Simply playing the game on a RX 7900 XTX with Proton using the latest stable driver release seems to result in this issue pretty regularly.

rabidcopy commented 1 year ago

Can't say I can reproduce the missing/black materials on my RX 570, though performance of the game does seem a bit rough. Long pauses/loading between pausing and unpausing the game. Game seems to want a lot of RAM and running without a swapfile is unadvised if you have only 16GB to work with. Used Proton 7.0-6.

kzdixon commented 1 year ago

Looks like RADV_DEBUG=nodcc,nohiz seems to be fixing the LOD/Shading issue so it might be another RDNA3 specific LOD issue like with Hi-Fi Rush... Will add it to my report on the mesa side. Note: This doesn't fix the crashing when sometimes teleporting via fast travel.

KawaiiDinosaur commented 1 year ago

Using Proton Experimental

System: Arch (Kernel 6.1.9-arch1-2) CPU: AMD Ryzen 7 3700X GPU: AMD Radeon RX 6750 XT DRIVER: Mesa 22.3.4 RAM: 16 GB

Looks and runs really well at Ultra Settings in 1440p+FSR2 Quality. The only issues I encountered are:

  1. After around 2 to 3 hours of playing, the game will freeze and crash (memory leak?);
  2. If you set the launch options RADV_PERFTEST=rt and VKD3D_CONFIG=dxr11 it freezes the game during the first load screen.
Aztorius commented 1 year ago

With an RX 6700 I do not have shaders issue. But yes, sometimes with scene loading or fast travel I have an instant crash. Restarting the game allows me to play past that loading screen but it will eventually crash a few scenes later.

SeanMcnabb commented 1 year ago

Played for a few hours, now the game won't launch at all and I am presented with an error box with a link to the following page: https://support.codefusion.technology/pp_inaa2nm/?e=88500006&l=english which I guess is probably broken DRM or something

TsPG128 commented 1 year ago

I can confirm the crashes on my 1060 6gb, though no shader issues.

Looks to me like a memory leak...

Baysul commented 1 year ago

I'm having issues where the game will crash during a loading screen on my 6700 XT.

PedroHLC commented 1 year ago
* before it crashes (and the crashes occurred to me only while on the loading screens between scenes, though not every time), the quest scenes get very laggy.

* Starting the game after the crash the same scene gets repeated because the last save was before the scene, but then the frame rate is fine.

* Then it goes through the same loading screen that crashed before and passes it without crashes

Same crash here, Proton Experimental (bleeding-edge) and Proton-GE 49. I get this in stderr when it crashes:

Win64\HogwartsLegacy.exe: ../src-wine/dlls/ntdll/unix/virtual.c:1481: create_view: Assertion `!((UINT_PTR)base & page_mask)' failed.
nadrolinux commented 1 year ago

I can confirm that game crashes a lot during fast travel/loading screens on my both PC. One with RX 5600 XT and second with RX 6600 XT.

sorat0mo commented 1 year ago

For me the game stays on the "Warning" screen indefinitely. And I suddenly discovered that my game runs fine when I did not focus the window at the game. (That means I have the game running in background, and it shows up just fine as I am typing this. Once I switched back, making it full screen, the game freezes again.

Blisto91 commented 1 year ago

Hello. Could any of you people with the crash issue try something to see if it helps? In /proc/sys/vm/max_map_count up the default value to something like 1000000 and then try to play the game again.

To make it permanent across reboots you'll instead have to add vm.max_map_count = 1000000 to /etc/sysctl.conf This change should kick in after a reboot or if you run sudo sysctl -p

You can read a short description of what it does here https://sysctl-explorer.net/vm/max_map_count/

Steam Deck already ship with a much higher value than default which might be why i haven't seen any report of this on Deck.

Edit: On newer versions of systemd a conf file might need to be created in a different location. See https://github.com/ValveSoftware/Proton/issues/6510#issuecomment-1422921442

kisak-valve commented 1 year ago

systctl -> sysctl?

Blisto91 commented 1 year ago

Whoops. thanks for the spot

TsPG128 commented 1 year ago

@Blisto91 thanks for the idea, i am trying it out now, changed it in proc, will keep you updated

michael-hardeman commented 1 year ago

I was able to play the game 1 time, but trying to launch it again leads to it crashing. The logs are quite strange... Proton Logs Here: https://filebin.net/96b7nxeu1hld0spc

The game seems to enter some kind of loop where it keeps printing:

01ec:warn:d3d12_pipeline_library_load_pipeline: Pipeline "2B1C3EF2891BAC37" does not exist.

then I think it tries to create a new pipline, then it complains that pipeline doesn't exist until it hits:

eventfd: Too many open files
x11drv: Can't allocate handle for display fd
365.751:0118:0210:warn:seh:OutputDebugStringA "Shutdown handler: cleanup.\n"

Hello. Could any of you people with the crash issue try something to see if it helps? In /proc/sys/vm/max_map_count up the default value to something like 1000000 and then try to play the game again.

To make it permanent across reboots you'll instead have to add vm.max_map_count = 1000000 to /etc/systctl.conf This change should kick in after a reboot or if you run sudo systctl -p

You can read a short description of what it does here https://sysctl-explorer.net/vm/max_map_count/

Steam Deck already ship with a much higher value than default which might be why i haven't seen any report of this on Deck

I did try this even though I didn't think it would help with my issue and yeah it didn't help.

Any ideas?

Blisto91 commented 1 year ago

@MichaelAllenHardeman I have been told that might be an esync "issue" (maybe not a issue with esync itself per say, but can trigger it when a low fd limit is set). You could try launching with PROTON_NO_ESYNC=1 %command% and see if that helps? CPU performance might decrease tho. People with kernel 5.16+ use fsync by default instead.

michael-hardeman commented 1 year ago

@Blisto91 game has successfully launched three times in a row with that option. Thanks :+1:

t-jonesy commented 1 year ago

@Blisto91 I think the map count did the trick for the loading screen crashes. I've been able to fast travel to 6 different locations and it still hasn't crashed. My best before the change was 2. My max_map_count was only 65530 before the change

kisak-valve commented 1 year ago

Hello @MichaelAllenHardeman, please verify that ulimit -Hn gives you a high value and not 4096.

KawaiiDinosaur commented 1 year ago

Hello. Could any of you people with the crash issue try something to see if it helps? In /proc/sys/vm/max_map_count up the default value to something like 1000000 and then try to play the game again.

To make it permanent across reboots you'll instead have to add vm.max_map_count = 1000000 to /etc/sysctl.conf This change should kick in after a reboot or if you run sudo sysctl -p

You can read a short description of what it does here https://sysctl-explorer.net/vm/max_map_count/

Steam Deck already ship with a much higher value than default which might be why i haven't seen any report of this on Deck

On newer versions of systemd you need to create a .conf file inside /etc/sysctl.d/. I created file named 99-max_map_count.conf with the parameter vm.max_map_count=1048576.

On the next boot, you can check the value of 1048576 with cat /proc/sys/vm/max_map_count.

Blisto91 commented 1 year ago

Thanks. Edited my comment to link to yours

n3wsw3 commented 1 year ago

Changing vm.max_map_count=1048576 seems to have fixed the crashes in my limited testing.

michael-hardeman commented 1 year ago

ulimit -Hn

$ ulimit -Hn
16384
kisak-valve commented 1 year ago

That's generally too low for eventfd-based thread synchronization to be reliable. The link I posted with the question recommends around a million, and systemd sets it to something like half a million.

michael-hardeman commented 1 year ago

@kisak-valve Is this better?

$ ulimit -Hn
1048576
$ ulimit -Sn
524288
kisak-valve commented 1 year ago

I recall there being downsides to increasing the soft limit, but not any specific details and the soft limit is not relevant to what esync is doing. Regardless, you should test the game without PROTON_NO_ESYNC and re-evaluate for yourself.

nadrolinux commented 1 year ago

@Blisto91 thanks for this tip. vm.max_map_count=1048576 solved issue with a crash during loading/fast travel on my both PC (Fedora 37 on both).

My OS limits looks following: ulimit -Hn: 1048576 ulimit -Sn: 1024

kzdixon commented 1 year ago

Can report that vm.max_map_count=1048576 (thanks https://github.com/ValveSoftware/Proton/issues/6510#issuecomment-1422699309 https://github.com/ValveSoftware/Proton/issues/6510#issuecomment-1422921442) seems to solve the scene-loading crashes. Been playing for several hours today with no issues.

$ ulimit -Hn
524288
$ ulimit -Sn
1024
lfelipe commented 1 year ago

steam-990080.log

Game crashes at startup right after the very first screen with "Warning: Read before playing". This is on kernel 6.2.0-060200rc4-generic with mesa 23.1.0-devel (git-3e2c768), running on Arc 770m.

rialpa84 commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/6510#issuecomment-1421916724

System: CachyOS 6.2.0-rc6-1-cachyos-rc CPU: AMD Ryzen 7 4650G GPU: AMD Radeon RX 6700 XT DRIVER: Mesa 23.1.0_devel.166376.c6ebd2de71d RAM: 32 GB PROTON: ProtonGE-47

I have a 6700 XT and have discovered that if I change any of the graphics settings then the game is prone to crashing and even freezing. Eventually it happens during gameplay and then on subsequent game loads. What I found was that deleting the the game's shader folder steamapps/shadercache/990080, the three .ushaderprecache files at steamapps/compatdata/990080/pfx/drive_c/ProgramData/Hogwarts Legacy/, and the vkd3d shader cache at steamapps/common/Hogwarts Legacy/Phoenix/Binaries/Win64/ after changing any in-game settings or after editing GameUserSettings.ini. Once I did that I was able to play at 2K60 medium with RT Ambient Occlusion enabled for a couple hours when it froze during an Accio.

I also disabled VKD3D shader caching with VKD3D_CONFIG=pipeline_library_app_cache,dxr11.

SeanMcnabb commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/6510#issuecomment-1423451428

I've tried to get get raytracing to work with my 6700xt but after I enabled it with RADV_PERFTEST=rt, enabled ray traced shadows and restarted the game, it won't load. Were you only able to get ambient occlusion to work or did you try for shadows as well?

rialpa84 commented 1 year ago

Replying to #6510 (comment)

I just tried and I was able to get it working with Ambient Occlusion, Shadows, and HDR. Did you also enable VKD3D_CONFIG=dxr11? You have to set both or RTX won't work for our GPUs. I have to wipe every bit of graphics cache upon changing ray tracing settings since it tends to not make it past the title screen after enabling them.

EDIT: After doing a bit more testing before bed last night I realized that Ambient Occlusion is all that I can get to enable from KDE/X11. Turning on either Reflections or Shadows from KDE causes the game to freeze on the warning screen. Turning on Ambient Occlusion works. I wiped all the caches every time I changed a graphics setting.

I have to use an embedded Gamescope session in order to turn on and use Shadows. I don't know if HDR is or isn't a requirement since I haven't tried Shadows in a non-HDR Gamescope session.

I haven't tried Reflections, alone or combined with other RT options, from a Gamescope session. I'll try that today and also try to see if an HDR enabled Gamescope session is necessary, too.

For whatever reason, turning on Reflections from KDE caused the game to not load as well as wiping the caches to force a rebuild didn't work to fix it like it did for the rest of the settings. Even wiping the caches and resetting the settings still caused the game to freeze at the warning screen. I ended up having to wipe my Proton prefix and, unfortunately, I relied to heavily on Steam Cloud Sync so I lost my save game when I did that. The game did load and work after wiping the prefix. I just wish I'd have backed up my save games before going the nuclear route.

zbejas commented 1 year ago

Crashes at every loading screen after around 20minutes of gamepaly. Disabling esync did not help.

SOlsson91 commented 1 year ago

System: Arch (Kernel 6.1.9-arch1-2) CPU: AMD Ryzen 9 5900X GPU: AMD Radeon RX 6800 XT DRIVER: Mesa 22.3.4-1 RAM: 32 GB WM: Bspwm

Tried to run the game in 7.0-6 / Experimental (bleeding and not) / GE 7-49 Primary Issue: But no matter what I do, I get a stable 20fps in the menu and 15-16 fps in the game. No matter what settings I use. With my steamdeck I just started it and got a pretty stable 40 on low.

Tried the launcher options in this thread however no change from what I can see.

Secondary, mostly just a question: Also when starting the game with the Steamdeck I go straight into the menu after the warning text. But on this PC I need to process shaders for a few minutes each time I start?

Not really seen anyone else with this issue.

Aztorius commented 1 year ago

Can confirm that increasing vm.max_map_count fixes the fast travel crashes. I have set it to 262144 and it seems enough.

@SOlsson91 I also have shaders processing at the start but it is relatively fast.

rialpa84 commented 1 year ago

Secondary, mostly just a question: Also when starting the game with the Steamdeck I go straight into the menu after the warning text. But on this PC I need to process shaders for a few minutes each time I start?

Not really seen anyone else with this issue.

That's not really an issue. It's how the game works. Any time I change the in-game settings and it prompts for me to restart the game the shaders will regenerate whenever the game restarts. I've also noticed that shader generation time will vary based on your selected graphics settings. Turning on RT can double the time it takes.

All that combined is what gave me the idea to intentionally wipe all the shader caches after changing graphics settings.

It doesn't happen with the Steam Deck because they ship shader cache for it.

I have a 6700 XT and a 4650G (CPU only) and get 2K60/Medium with Ray Tracing Ambient Occlusion enabled.

rialpa84 commented 1 year ago

To give a warning: I deleted my prefix one too many times so now I can't even open the game because it won't validate with Warner Brothers thanks to Denuvo. This sucks. I had no idea there were limits on trying to get a buggy game to launch. This is so anti-consumer it isn't funny.

Legion495 commented 1 year ago

To give a warning: I deleted my prefix one too many times so now I can't even open the game because it won't validate with Warner Brothers thanks to Denuovo. This sucks. I had no idea there were limits on trying to get a buggy game to launch. This is so anti-consumer it isn't funny.

Yes this sucks. You should try again tomorrow. I also saw this with different games. One gets rate limited. It is quite pathetic because this is meant to slow down the process to crack the game which is essentially deciphering the .exe file.

Also for me the vm.max_map_count fixes the issue with loadingscreen fast travel crashes

5800X3D 6800 XT 32Gb RAM

kisak-valve commented 1 year ago

Hello @SOlsson91, please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

SOlsson91 commented 1 year ago

@kisak-valve Sending over my gist, tried just now and still the same issue, no difference when changing graphics settings and 15-20 fps in game about 30 in menu.

jas3333 commented 1 year ago

@kisak-valve Sending over my gist, tried just now and still the same issue, no difference when changing graphics settings and 15-20 fps in game about 30 in menu.

Check to see if you have amdvlk installed pacman -Qs amdvlk I saw it in your gist. You'll want to remove it if you do, it can cause issues.

SOlsson91 commented 1 year ago

Check to see if you have amdvlk installed pacman -Qs amdvlk I saw it in your gist. You'll want to remove it if you do, it can cause issues.

That was it! Removed amdvlk and lib32-amdvlk. Went from 20 fps low to pretty smooth 100+ fps high. Thanks, time to actually start playing the game.

sjyasuosj commented 1 year ago

I was learning how to do the lumos spell and it crashed the whole PC. I forced a shutdown and after loading my PC back up, it loads the game up to the initial black screen with seizure warning and then crashes the game.

5950x 7900 xtx

t-jonesy commented 1 year ago

@sjyasuosj try going to steamapps/common/Hogwarts Legacy/Phoenix/Binaries/Win64/ and deleting vkd3d-proton.cache and vkd3d-proton.cache.write (if they exist) and in steamapps/compatdata/990080/pfx/drive_c/ProgramData/Hogwarts Legacy/ delete all of the files that start with D3D

I have to do that every time I change the graphics settings or get crashes during launch

sjyasuosj commented 1 year ago

@t-jonesy I don't have vkd3d-proton.cache and vkd3d-proton.cache.write files. I did delete the D3D files. I'm still crashing lol

thatLeaflet commented 1 year ago

I was learning how to do the lumos spell and it crashed the whole PC. I forced a shutdown and after loading my PC back up, it loads the game up to the initial black screen with seizure warning and then crashes the game.

5950x 7900 xtx

I've been experiencing this same PC crashing issue, but I'm able to play again after the crash. After doing Control+Alt+F3, I saw [drm:amdgpu_cs_ioctl [amdgpu]] *ERROR* Failed to initialize parser -125! So it appears to be crashing the amdgpu driver.

This is on Ubuntu 22.10, kernel 5.19.0-29, mesa 22.2.5. Hardware being a Ryzen 5600x and a 6700 XT.

Oh, something extremely weird happened. As I went to play my game again after this crash, the game isn't even listed as installed anymore. Steam just completely forgot about the external disk the game was stored on.

kisak-valve commented 1 year ago

Hello @thatLeaflet, please add PROTON_LOG=1 %command% to the game's launch options, reproduce the crash, and attach the generated $HOME/steam-$APPID.log to this issue report as a file. (Proton logs compress well if needed.) Also, please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

It would be nice to know how the game behaves with an up to date mesa build from a PPA like oibaf or kisak-mesa. That would make it easier for a mesa dev to ponder.

Sylvanas-1977 commented 1 year ago

Getting out of vram error while only using 11 gb vram at the time with hogswarts legacy not sure if related or different issue on my 6900 XT, im playing on Arch Linux to escape AMD radeon driver hell on windows my Linux Experience is limited but good enough to figure out stuff on my own except in this case.

NO-ob commented 1 year ago

Getting out of vram error while only using 11 gb vram at the time with hogswarts legacy not sure if related or different issue on my 6900 XT, im playing on Arch Linux to escape AMD radeon driver hell on windows my Linux Experience is limited but good enough to figure out stuff on my own except in this case.

My display driver is crashing with a 6700xt cant get past the character creator might be the same issue

Sylvanas-1977 commented 1 year ago

Getting out of vram error while only using 11 gb vram at the time with hogswarts legacy not sure if related or different issue on my 6900 XT, im playing on Arch Linux to escape AMD radeon driver hell on windows my Linux Experience is limited but good enough to figure out stuff on my own except in this case.

My display driver is crashing with a 6700xt cant get past the character creator might be the same issue

My system just froze so i guess its happening for me as well darn it, guess i try on windows for now see if its any better there.