ValveSoftware / Proton

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

ChilloutVR (661130) #6044

Open Sora012 opened 1 year ago

Sora012 commented 1 year ago

Compatibility Report

System Information

I confirm:

Symptoms

When you join any world and interact with a media player the game crashes.

Reproduction

Create a new instance world (public, friends, friends of friends etc), interact with a media player the game crashes.

steam-661130.log Player.log <- Line 2225

CrispyPin commented 1 year ago

Until this is fixed you can use --disable-videoplayers in the launch options

CrispyPin commented 1 year ago

I have a different issue though, the game crashes after about 2 minutes regardless of what I do. It has now crashed more than 5 times in a row and yesterday I had no issues.

This is suspiciously similar to https://github.com/ValveSoftware/Proton/issues/1199#issuecomment-1150243965 in vrchat, and I don't know of a fix.

The last message in Player.log is always

Crash!!!
SymInit: Symbol-SearchPath: '.;Z:\home\crispypin\.steam\debian-installation\steamapps\common\ChilloutVR;Z:\home\crispypin\.steam\debian-installation\steamapps\common\ChilloutVR;C:\windows;C:\windows\system32;SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols;', symOptions: 534, UserName: 'steamuser'
OS-Version: 10.0.0

EDIT: this was fixed by removing the proton prefix, no clue what caused it in the first place though.

yshui commented 1 year ago

This could be the same problem VRChat fixed by updating their AVPro player.

roryyamm commented 1 year ago

I'm getting sound underruns while using ALSA. Any way to fix that?

CarbonNotes commented 1 year ago

The Intro video plays, but appears to have issues:

Screenshot_20220801_232729

Otherwise, the game seems to work well (And it's even possible to use the Linux build of Unity to upload avatars and worlds as long as you set the build target to Windows)

lautriva commented 1 year ago

Probably related issue When I start the game, its stuck on a black screen with only mouse cursor visible

Temp fix I found: if I press the spacebar during the black screen, the game runs as normal (bring me to "successfully logged in" screen) Maybe the intro video cannot load and spacebar is used to skip it?

kisak-valve commented 1 year ago

Hello @CarbonNotes, please add PROTON_LOG=1 %command% to the game's launch options and attach the generated $HOME/steam-$APPID.log to this issue report as a file. (Proton logs compress well if needed.)

Separately, can you test how the game behaves with the game's launch options set to WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER=1 %command%?

abb128 commented 1 year ago

I launch the game in VR, it logs in and puts me in the home world, and it crashes after about two minutes regardless of what I do, even if I just AFK. The game runs fine up until the crash.

These are the launch options I used in the log but the behavior is the same when it's blank: PROTON_LOG=1 WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER=1 %command% --disable-videoplayers

steam-661130-p.zip

CarbonNotes commented 1 year ago

Maybe the intro video cannot load and spacebar is used to skip it?

That sounds correct. I believe you don't have h264 enabled in your Steam runtime, or you are using an older version of Proton.

please add PROTON_LOG=1 %command% to the game's launch options and attach the generated $HOME/steam-$APPID.log to this issue report as a file. (Proton logs compress well if needed.)

steam-661130.log.gz

WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER=1 %command%

That fixes the loading screen video.

EDIT: Looks like switching to Experimental Bleeding Edge also fixes the video playback without DO_NOT_CREATE_DXGI_DEVICE

CarbonNotes commented 1 year ago

I launch the game in VR, it logs in and puts me in the home world, and it crashes after about two minutes regardless of what I do, even if I just AFK. The game runs fine up until the crash.

I think I'm hitting this issue too... PROTON_NO_FSYNC=1 doesn't help.

I intermittently had the same issue on VRChat as well, and that appeared around the time they switched to their current version of Unity. Chillout and VRChat currently use the same Unity version.

On my system, this shows up as VRAM usage consistently increasing until the game suddenly crashes. It doesn't always do it, though. For reference, I believe my system has AMD Smart Access Memory enabled.

abb128 commented 1 year ago

VRAM usage consistently increasing until the game suddenly crashes

I tested the game a bunch of times while keeping a close eye on VRAM usage and was unable to observe this on my machine. VRAM remains steady and normal (at say, 48%) after loading into the world and does not change. When the game crashes the VRAM simply drops to the level it was before launching the game and that's it. My system does not support AMD Smart Access Memory.

CarbonNotes commented 1 year ago

VRAM remains steady and normal

Were you also watching GTT? When I use RADV_PERFTEST=nosam, instead of VRAM growing, GTT usage increases until the game crashes. I use Radeontop to monitor the usage.

abb128 commented 1 year ago

I checked GTT through radeontop and it is indeed slowly increasing. Of 8165M GTT, it starts at 30% when the game is loaded and steadily increases (despite not doing anything ingame) until hitting about 61% and crashing. If I launch the game in desktop mode GTT remains stable and game doesn't crash.

For testing purposes I tried reducing my GTT size to 2048M. The usage still continues to grow until it reaches 100%, at which point it drops down to about 80%, then keeps growing and the pattern repeats once or twice before staying steady at 100%. The game still crashes after about two minutes.

CarbonNotes commented 1 year ago

So it appears that you are experiencing the exact same issue as I am (just manifesting slightly differently on a different system configuration; SAM vs no SAM).

Seeing as I also experienced an issue with the exact same symptoms on VRChat (which uses the exact same version of Unity) I'm going to make an educated guess that this is likely a Unity-related bug, or a bug related to one of the common shared plugins/libraries that both VRChat and ChilloutVR use; and is not specific to either VRChat or Chillout.

CarbonNotes commented 1 year ago

@abb128: I tried renaming (effectively removing) my Proton Prefix and re-launching the game, and on the first run in VR mode, it seems to behave itself. Do you mind trying this?

It lives at steamapps/compatdata/661130/, rename the 661130 folder.

abb128 commented 1 year ago

@abb128: I tried renaming (effectively removing) my Proton Prefix and re-launching the game, and on the first run in VR mode, it seems to behave itself. Do you mind trying this?

It lives at steamapps/compatdata/661130/, rename the 661130 folder.

This seems to work for me! I tried some more tinkering and it seems to behave if ALL the .config and .json files in steamapps/compatdata/661130/pfx/drive_c/users/steamuser/AppData/LocalLow/Alpha Blend Interactive/ChilloutVR/ are either deleted or left blank (it needs to be COMPLETELY blank, even as much as a {} seems to trigger the crash anyway). It doesn't care about the VideoPlayer folder or the .log files, but deleting camera.config, game.config and moderationIndex.json seems to make it work.

Rather than deleting the files each time, you can create symbolic links to /dev/null and the game will work every time, although your settings will never save:

ln -s /dev/null moderationIndex.json && ln -s /dev/null game.config && ln -s /dev/null camera.config

Log of the game as it behaves and runs normally without crashing after 2 minutes using the above solution: steam-661130.log

CarbonNotes commented 1 year ago

Can confirm that removing those files before launch seems to make the game behave properly. With VRChat, the issue appearing at launch seems to come and go sporadically.

Makes me wonder if there's some race condition there, and the files being missing is enough to alter the timing and fix the issue?

CrispyPin commented 1 year ago

The latest update 2022r168 updated AVPro and "addressed some Linux-related issues with the Video Player". This is the state of it currently, on my system, running Proton Experimental on Arch Linux.

Some videos still cause crashes, I tried playing a movie in Voxie's Chill World and hard crashed.

I tried youtube videos in the Rest and Sleep world. Youtube seems to not cause crashes but still has many problems:

I tried Proton Experimental [bleeding edge]: With bleeding edge movies work too, but have the same issues as youtube.

CarbonNotes commented 1 year ago

That's an AVPro/Proton issue, as VRChat shares a lot of the same problems in the AVPro video players there.

For volume being at 100%, there should be audio playing from an additional channel in Pulse that you can adjust to reduce volume as a temporary workaround.

roryyamm commented 1 year ago

Turns out my earlier 'underrun' problem is in fact a sample rate problem - it seems as though CVR is not only creating crackly audio, but faster than expected crackly audio. Any way to change the sample rate of CVR?

CrispyPin commented 1 year ago

For those of you who are still having the issue that the game won't stay open after 2 minutes unless you link the configs to /dev/null, I just made a mod that saves and loads game settings from a different file, and it seems to work well.

https://github.com/CrispyPin/CVR-ConfigHack

I have not looked into the steps for publishing in the CVR modding discord yet

roryyamm commented 1 year ago

I'm getting a crash when trying to play in VR. I don't exactly have the most complete setup when it comes to this sort of thing - just a headset and a base station - but I don't think that should be causing what I'm seeing. It plays fine until a certain point, and then it just… crashes. More than that, it then will not start again until I restart SteamVR. Of course, it generates a 46 MB log in the process with PROTON_LOG=1:

Proton.1.log

Proton.2.log

The interesting thing is the final few lines of the Unity Player.log, which never seem to change: Player.log

Crash!!!
SymInit: Symbol-SearchPath: '.;Z:\home\(me)\.local\share\Steam\steamapps\common\ChilloutVR;Z:\home\(me)\.local\share\Steam\steamapps\common\ChilloutVR;C:\windows;C:\windows\system32;SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols;', symOptions: 534, UserName: 'steamuser'
OS-Version: 10.0.0
CrispyPin commented 1 year ago

@roryyamm This looks very much like the issue a few of us had above, try removing everything in ~/.local/share/Steam/steamapps/compatdata/661130/pfx/drive_c/users/steamuser/AppData/LocalLow/Alpha Blend Interactive/ChilloutVR/ or replacing the files with symlinks to /dev/null

The reason it won't start again until restarting SteamVR is a bug in SteamVR on Linux (#479)

roryyamm commented 1 year ago

@CrispyPin That seems to have worked, but the workaround mod doesn't seem to save or load settings - it always seems to load the defaults.

CrispyPin commented 1 year ago

@roryyamm hmm weird, are there any errors in the melonloader log? Does the game2.config file get created at all?

It is possible the mod broke with the latest melonloader version, I am still using v0.5.5

roryyamm commented 1 year ago

Melonloader itself turned out to be the issue - it just wasn't running.