Proton icon indicating copy to clipboard operation
Proton copied to clipboard

VRChat (438100)

Open Goofybud16 opened this issue 6 years ago • 1033 comments

System Information Original System Information - Updated Jan 27, 2019

Problem: Was able to load into the hub successfully after going through tutorial, but most other player models did not render correctly, if at all. Upon restarting the game, it crashes upon loading into the hub. Mouse keeps pulling towards the bottom right. Game locked up on exit with a black screen.

All other behavior appeared to be correct.

Goofybud16 avatar Sep 03 '18 05:09 Goofybud16

I've found a couple workarounds for various issues listed here.

Crash on loading hub world: Setting launch option vrchat://launch?id= with another world id will load that world rather than the hub world. Been using wrld_8ef393c0-a985-4d7e-90f0-33ab10d41ee3:2822 here for the avatar testing world.

Mouse escape in windowed mode: Just set the -screen-fullscreen 1 -screen-width w -screen-height h launch options with the resolution of your screen as w and h.

Mouse sensitivity maxing out when opening/closing game menu: It's pretty annoying but it's fixed temporarily by switching focus from then back to the game by alt-tabbing or using a volume key so a popup showing the current volume quickly grabs and releases focus.

Game locks on exit: Just keep a command line open with killall VRChat.exe to bop the process after exiting :/

System: Ubuntu 18.04.1 LTS | Intel Pentium G3258 | GeForce GTX 750 Ti | Proton 3.7-7 Beta | VRChat 2018.3.1

bytefaux avatar Sep 30 '18 16:09 bytefaux

I have a problem with VRChat even with Stream Output support, the characters and everything on tutorial works fine but you can't load any map after that, the game just freezes.

Hardware/Software info: Proton 3.16-1 GTX: 750 2 GB Driver 396.54.09 CPU: Intel Core 2 Quad Q9550 RAM: 7 GB

Here is the proton log file: steam-438100.log.zip

ghost avatar Oct 14 '18 00:10 ghost

How have things changed with VRChat 2018.4.3? They just performed an engine upgrade along with upgrading various libraries they use.

owlboy avatar Dec 11 '18 21:12 owlboy

@owlboy Not for the better unfortunately. VRChat 2018.4.3 segfaults now before even showing for me.

steam-438100.log

Edit 1: because this maybe related to my old cpu's lack of AVX support. Will update once try it on a supported cpu.

Edit 2: I upgraded to an i7 cpu with AVX support but had the same crashing issue until switching from proton 3.16-6 Beta to 3.16-4. Everything's back to working as well as it did before.

System: Ubuntu 18.04.1 LTS | Intel i7 4790 | GeForce GTX 750 Ti | Nvidia 396.54.09 | Proton 3.16-4 | VRChat 2018.4.4

bytefaux avatar Dec 14 '18 14:12 bytefaux

3.16-6 beta works fine for me at home, the menu and at a 40mb room, but a 220 or so mb would not work, using the tv hangs it, certain characters cause hangs. some of the avatars at 'loli's world' seemed to break it as well (one of the top results for avatar worlds) oh! also -force-d3d11 allegedly helps. System: Gentoo 17.1 | AMD Ryzen 7 1800X | GeForce GTX 1070 | Nvidia 415.25 | Proton 3.16-6 | VRChat 2018.4.4

prototype99 avatar Jan 23 '19 22:01 prototype99

I just tested it with 3.16-6 beta and can confirm that it works to some extent now-- Turning on the TV hangs it though. Going through several avatar worlds, the game seems to work just fine. I did notice a lot of hangs-- the hangs would cause some nasty mouse wackyness. Except for the TV, however, none of the hangs lasted more than a few seconds and the game resumed working after that. The exit button does appear to hang the game, but I don't see that as a huge issue (it is the Exit button....)

Goofybud16 avatar Jan 25 '19 05:01 Goofybud16

ohhhh this reminds me of a few things i forgot to mention! yeah you have to externally end the process to exit. having any sort of controller plugged in seems to make the mouse 'stick'. however the hangs kept going for me. all hangs were related to certain avatars or to certain worlds (i reattempted the 220mb one A LOT and it always hanged seemingly permanently) i also have a terminal log, but i feel like there's not much useful info to obtain from it, the hangs don't SEEM to create any output vrchat-log.txt

prototype99 avatar Jan 25 '19 11:01 prototype99

VRChat has issues closing properly without hanging in some cases on its own on Windows. So that is not surprising.

owlboy avatar Jan 25 '19 18:01 owlboy

Since there isn't an issue for the VRChat VR version, and I believe that they are the same App ID (correct me if I'm wrong), I'm gonna add this here:

Once I got SteamVR working and happy, I was able to play several hours of VRChat in VR with my Vive with almost zero issues. There were 1 or 2 models that didn't render correctly, but that was an issue in desktop as well. Performance is about what I would expect from playing some VR games on Windows ~a year ago (last time I booted into Windows). I DID have Direct Mode working, and everything seemed to "just work" other than the Exit button in VRChat. All of the other bugs I hit seem to be actual bugs in the game itself, and weren't the fault of Proton.

Since my initial report was ~5 months ago, here is a new System Info gist to reflect the software changes that have occurred in that time: System Info. I'll add this to the OP as well.

Goofybud16 avatar Jan 27 '19 17:01 Goofybud16

In desktop mode the map "The Great Pug" crashes after ~10 seconds after you join. Proton 3.16-6 Beta sysinfo.txt steam-438100.zip

Worfhard avatar Feb 02 '19 19:02 Worfhard

I've had that issue with the same map as well. I thought it was an avatar, but the map makes more sense because I kept crashing after turning Safety all the way up to max.

In VR, however, the map seems to be fine.

UPDATE: After posting this, I've tried to go to The Great Pug a few times, and it now crashes the game in VR. I'm not really sure what changed, if anything.

Goofybud16 avatar Feb 03 '19 01:02 Goofybud16

I've put over 100 hours into the game at this point, and can say that it works pretty well. Since my last system specs post, I think I've bumped to Mesa 18.3.x, but that is about the only notable change.

So far the game has been working fine with Proton 3.16-7 Beta.

The only things I've found that consistently crashes me 100% of the time is the ingame embedded web player and some shader-heavy worlds. Any world that has an auto-activated web player will crash me within a minute, hitting the button to turn it on in any world where it must be activated will crash right away. Worlds with lots of really fancy shaders also seem to crash the game, but it could also just be something like shader (re)compilation taking so long that I think the game died.

The game hangs on exit 100% of the time. Sometimes when killing the game (clicking the X until KDE prompts to kill wine), it will completely or partially crash SteamVR. I've noticed this happens more when the game has locked up/crashed; however it handles it perfectly fine sometimes. Restarting SteamVR fixes the issue.

I've also noticed that opening and closing the SteamVR Dashboard overlay too many times too quickly can crash the game as well. I started noticing that with 1.2.10, but that could just be because I've spent many many more hours using 1.2.10 than using any other version.

Other than that, the only crashes I experience are usually things that crash other users as well (IE avatars with just insane shaders, lots of resource-intensive avatars in a small area). If anything I've found that I crash less than some other users who run on Windows, as the game seems to handle extremely resource-intensive avatar shaders "well" (The game drops to 1-2 FPS but keeps rendering which allows me to use the menu to leave the world). It isn't pleasant, but the game does survive.

I've also noticed an issue (although I don't know that I've seen it since Proton 3.16-7 Beta activated) where shaders or something seem to keep running. When avatars have really demanding shaders, if I leave the world to other (empty, decently optimized) worlds, I'll often keep having terrible performance. If I go to a world where I usually get 45 FPS, it will be consistently dropping below 30 despite me being the only person there. Restarting the game (and SteamVR, if SteamVR crashes) will fix this. I'll see if I can reproduce this with Proton 3.16-7 Beta; it may have been fixed.

Overall, I'd say that with decently powerful hardware (see my system specs), the game is absolutely playable and a pretty good experience. It isn't perfect (see above for the issues), but most of the issues are usually avoidable and manageable. I absolutely plan to keep playing the game for the foreseeable future, so long as it stays in the current state (or gets better).

Goofybud16 avatar Feb 18 '19 15:02 Goofybud16

I may have found a fix for the video player crash (also fixes The Great Pug):

Browse to the VRChat folder in steamapps/common.

Browse to VRChat_Data, StreamingAssets, and rename youtube-dl.exe to something other than youtube-dl.exe (for example, youtube-dl.exe.no). This will disable the ingame streaming video player completely, but also fix the crashes. You won't be able to watch videos in maps anymore, but at least the game won't crash.

Goofybud16 avatar Feb 27 '19 17:02 Goofybud16

hmmm.... youtube-dl has a linux version, i wonder if it is possible to redirect it so it uses the native one. considering it's a command line application i imagine the commands are the same on both OSes

prototype99 avatar Feb 27 '19 17:02 prototype99

youtube-dl requires Microsoft Visual C++ 2010 Redistributable Package (x86) per their homepage. https://www.microsoft.com/en-US/download/details.aspx?id=5555

https://rg3.github.io/youtube-dl/download.html

@Goofybud16 Can you confirm this is installed and available for youtube-dl?

owlboy avatar Feb 27 '19 21:02 owlboy

@Goofybud16 Here is a test world that has a Unity Video Player component in it, but it does not use any VRChat video scripts, so it should not call youtube-dl:

https://vrchat.com/home/world/wrld_f994e95a-8c0e-42b2-b894-f9cf6f1c6387

Upon loading, it should autoplay a video from a direct URL. This video should also loop.

If it could be used to test to see if this world also crashes VRChat under Proton, that might help confirm whether youtube-dl is specifically the issue or if it is the video player alone.

Thanks for continuing to test this.

owlboy avatar Feb 27 '19 22:02 owlboy

youtube-dl requires Microsoft Visual C++ 2010 Redistributable Package (x86) per their homepage. https://www.microsoft.com/en-US/download/details.aspx?id=5555

@Goofybud16 Can you confirm this is installed and available for youtube-dl?

As far as what is installed: I just told Steam to use Proton 3.16-6 Beta (and now it uses 3.16-7 Beta after an auto update). I don't see anything for it in the Program Files or Program Files (x86) folders. Whatever Proton and VRChat installed as part of initial setup is all that is installed. What is the best way to install that/check for it?

@Goofybud16 Here is a test world that has a Unity Video Player component in it, but it does not use any VRChat video scripts, so it should not call youtube-dl:

https://vrchat.com/home/world/wrld_f994e95a-8c0e-42b2-b894-f9cf6f1c6387

Upon loading, it should autoplay a video from a direct URL. This video should also loop.

If it could be used to test to see if this world also crashes VRChat under Proton, that might help confirm whether youtube-dl is specifically the issue or if it is the video player alone.

Without Youtube-dl, that world doesn't crash, however it doesn't play a video either.

With Youtube-dl, the same exact thing happens. The video screen is just blank. In the console, I do get the line

Unloading 1 Unused Serialized files (Serialized files now loaded: 2)
UnloadTime: 1.459000 ms
WindowsVideoMedia error 0x80004001 while reading http://thegreatpug.com/video/other/dev_update-1.mp4

Context: Turning DXVA off
Error details: <Empty>
Track types:


(Filename:  Line: 2456)

Thanks for continuing to test this.

Not a problem. I'm just playing the game, most of the testing I've done comes as a result of trying to do something with friends and having it crash me.

As far as "what is the actual problem with the video subsystem", I suspect something on the VRChat side. The first time I go to The Great Pug after an update to the game/map (with youtube-dl), it works. However, all network connectivity outside of other player's movement and voice stops working. Portals don't load, avatars don't load, the menus are broken, and the game log gets filled with NullReferenceExceptions. Trying to Go Home will result in the game loading nothing forever. The second time I join the world, it will crash almost exactly at the 1 minute mark, hanging and maxing out 1 CPU core. Prior to hanging, the game breaks in pretty much the same way. I've had this in other worlds as well. In worlds without an auto-activated video player, the game seems to work fine until it gets turned on. Once it gets turned on, the game instantly hangs.

Goofybud16 avatar Feb 27 '19 23:02 Goofybud16

@Goofybud16 Here is a build of a very basic Unity scene that has a video player configured as it is in my test world in VRC and is playing the same video. The version of Unity used is the same that VRC currently uses. No VRChat code or youtube-dl is involved in this build. I tested on Windows 10 in VMware to confirm the build runs and plays the video as expected.

http://thegreatpug.com/share/test_video_player.zip

(This has Windows, and macOS builds in it. But no Linux build as I don't have the package installed in Unity right now)

owlboy avatar Feb 28 '19 00:02 owlboy

Re: How to install Microsoft Visual C++ 2010 Redistributable Package (x86) for a Proton install.

I am not sure. I actually don't have a Linux box running Proton, and I have never used Proton myself. I am just interested in VRChat, and it running on other platforms. And am trying to help the best I can.

owlboy avatar Feb 28 '19 00:02 owlboy

@Goofybud16 Here is a build of a very basic Unity scene that has a video player configured as it is in my test world in VRC and is playing the same video. The version of Unity used is the same that VRC currently uses. No VRChat code or youtube-dl is involved in this build. I tested on Windows 10 in VMware to confirm the build runs and plays the video as expected.

http://thegreatpug.com/share/test_video_player.zip

(This has Windows, and macOS builds in it. But no Linux build as I don't have the package installed in Unity right now)

I temporarily replaced VRChat with Test Video Player (to replicate as close as possible the environment in use [same wine prefix]) and while it does load up, the video never plays. The video player just stays solid white. If I run with konsole -e %command% (to get a debug log) there isn't really any useful info in the output.

I suspect the problem is that Proton is missing some Windows Media components (or maybe has a bug in some implementation?), and that causes the video to fail to play, which VRChat does not handle well causing it to lock up as it tries to sync playback or something with a video player that isn't playing.

Goofybud16 avatar Mar 04 '19 01:03 Goofybud16

If we could figure out how to make and exe that is called by vrchat (youtube-dl.exe) to run a native linux application, we could have that just redirect the command to native youtube-dl. I have tinkered a little bit with that, but unforunately just renaming an sh script to youtube-dl.exe and making it executeable doesn't work. In my case i tried putting cmd /c start /unix /usr/bin/glxgears in to see if glxgears would run instead of youtube-dl.

On the other hand, looking at the proton logs when running owlboys testworld and the test_video_player shows that "mfplat.dll" is being loaded. "mfplat.dll" is part of the windows media feature pack. I tried replacing the builtin mfplat.dll with a windows native mfplat.dll from the windows media feature pack for windows 7. Unforutnately it fails to load.

JulianGro avatar Mar 17 '19 22:03 JulianGro

Could very well be VRChat embeds some config in their exe? I don't have a windows build environment atm. Testing in proton with a local file I get:

Z:\home\vrvm2\.local\share\Steam\steamapps\common\VRChat\VRChat_Data\Syoutube-dl --print-traffic asdf.mp4
Traceback (most recent call last):
  File "__main__.py", line 19, in <module>
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpcs52imf5\build\youtube_dl\__init__.py", line 472, in main
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpcs52imf5\build\youtube_dl\__init__.py", line 439, in _real_main
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpcs52imf5\build\youtube_dl\YoutubeDL.py", line 416, in __init__
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpcs52imf5\build\youtube_dl\YoutubeDL.py", line 2332, in _setup_opener
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpcs52imf5\build\youtube_dl\utils.py", line 700, in make_HTTPS_handler
  File "C:\Python\Python34\lib\ssl.py", line 439, in create_default_context
  File "C:\Python\Python34\lib\ssl.py", line 390, in load_default_certs
  File "C:\Python\Python34\lib\ssl.py", line 382, in _load_windows_store_certs
ValueError: Empty certificate data

Semi related, appears to be a bug upstream in Python itself:

if sys.platform == "win32":
    from _ssl import enum_certificates, enum_crls

[...]

def _load_windows_store_certs(self, storename, purpose):
        certs = bytearray()
        for cert, encoding, trust in enum_certificates(storename):
            # CA certs are never PKCS#7 encoded

h1z1 avatar Apr 02 '19 13:04 h1z1

I'm having an issue where it just kind of lingers at the login screen. Currently using Proton 4.2-2, has anyone experienced this before?

Casuallynoted avatar Apr 03 '19 23:04 Casuallynoted

Hello @Casuallynoted, please add PROTON_LOG=1 %command% to the game's launch options and drag and drop the generated $HOME/steam-$APPID.log into the comment box.

kisak-valve avatar Apr 03 '19 23:04 kisak-valve

Oh wait! I left it running in the background and it seems to have done it. I've had this issue once on windows with the latest update so maybe it's a VRChat thing! Nevermind!

Casuallynoted avatar Apr 04 '19 00:04 Casuallynoted

Tried it again now after a break, so... I was correct that it did load me into a world but everything else is taking centuries to load, including my avatar, social menu, and eventually the app does crash before loading anything aside from the home world. Logs included:

steam-438100.log

Casuallynoted avatar Apr 04 '19 02:04 Casuallynoted

After upgrading to 4-2.2, I haven't had any issues playing VRChat in VR. I haven't tested desktop mode yet.

Goofybud16 avatar Apr 04 '19 03:04 Goofybud16

After upgrading to 4-2.2, I haven't had any issues playing VRChat in VR. I haven't tested desktop mode yet.

That's really good to hear, are the video panel issues also resolved?

This is what I'm looking at atm, for some reason things don't load and inevitably hang. I can say I use VRC on the windows side of my PC and it's quite fast in terms of loading content. Screenshot from 2019-04-03 23-49-27

Casuallynoted avatar Apr 04 '19 03:04 Casuallynoted

I guess I should clarify that I have seen no new issues in 4.2-2. I have not tested a video panel, I will try that.

Earlier I was able to load into both new worlds and worlds I had already loaded into in addition to loading new and existing avatars.

Update: Tried a world with a video player, immediately crashed me when I had the youtube-dl exe in place.

Goofybud16 avatar Apr 04 '19 04:04 Goofybud16

After upgrading to 4-2.2, I haven't had any issues playing VRChat in VR. I haven't tested desktop mode yet.

That's really good to hear, are the video panel issues also resolved?

This is what I'm looking at atm, for some reason things don't load and inevitably hang. I can say I use VRC on the windows side of my PC and it's quite fast in terms of loading content. Screenshot from 2019-04-03 23-49-27

VRChat saves a log in AppData. Maybe that shows something useful (even if I doubt it).

JulianGro avatar Apr 04 '19 11:04 JulianGro