Proton: VRChat Desktop Client (438100)

Created on 3 Sep 2018  ·  141Comments  ·  Source: ValveSoftware/Proton

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.

AMD RADV Game compatibility - Unofficial Mesa drivers cw

Most helpful comment

The latest vrchat fix seems to be made with outdated information, ever since we got partial windows-mf support in proton the video players didn't seem to cause instability/crashing (renaming youtube-dl was old news before this update). I do worry that this will "fix" will cause problems after we get full windows-mf support with evr biult into proton. Can confirm that avatars still sometimes fail to load in after the latest update. I do appreciate that the devs are attempting to give us linux users some support tho, hopefully this means a linux port or proper proton support is on its way.

I based disabling the Stream Player around recent reports from Linux users in the community and confirming by directly testing VRChat in Proton itself in Linux (I installed Pop OS onto a spare ssd specifically for the purpose). My testing actually shows that Youtube-DL operates properly through Proton, successfully returning the URL needed to play a video, the video players themselves are what fails. The Unity Video player fails gracefully, simply not playing the video. Meanwhile, the stream player (based on Unity plugin AVPro) crashes VRChat due to the failure, thus I opted to add a check that disables it when running through Proton. This effectively makes it easy for me to know when I can re-enable it, as when Windows MF starts working in Proton, the Unity Player will start working, and thus I'll know to test if the stream player also started working.

All 141 comments

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

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

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

@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

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

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....)

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

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

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.

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

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.

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).

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.

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

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?

@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.

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 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)

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.

@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.

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.

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

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?

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.

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!

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

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

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

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.

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).

I just tested Desktop and was successfully able to load into a world and talk with someone. It seems to work fine for me.

Try disabling the video player (remove the youtube-dl executable) as your issues sound similar to mine when I had the video player enabled.

If anything, the mouse input issues I've had in the past appear to be fixed (which I believe was actually part of some Wine version between 3.16 and 4.2)

I just tested Desktop and was successfully able to load into a world and talk with someone. It seems to work fine for me.

Try disabling the video player (remove the youtube-dl executable) as your issues sound similar to mine when I had the video player enabled.

Disabled video player and it worked for eliminating the crashing! However, everything was still slow to load so I realized my linux machine was connected to both wifi and ethernet. I disconnected from Wifi and now everything loads as it should. I'm wondering if somehow the game gets confused when two internet connections are present. Either way, this looks fantastic so far. I want to hopefully help see if we can't find a solution for Youtube-DL because if so, for all intents and purposes VRChat has a Linux port.

Screenshot from 2019-04-04 10-31-14

There is still a good amount of worlds that crash the game. At least on nvidia.

Oh no :O What are some examples of worlds that crash? Maybe I can get some logs and post them

Sent with GitHawk

I suspect the video player related crashes may be related to Windows Media Player issues in Wine. When I was doing testing earlier in the thread, I did notice Windows Media Player errors. I wonder if installing Windows Media Player or DLLs in the Proton instance would fix the crashes related to the video player?

I suspect the video player related crashes may be related to Windows Media Player issues in Wine. When I was doing testing earlier in the thread, I did notice Windows Media Player errors. I wonder if installing Windows Media Player or DLLs in the Proton instance would fix the crashes related to the video player?

@Goofybud16 That’s a really good question! Do you happen to have the windows media player errors on hand? I’m away from my PC atm but I can try to see if I can do anything. :)

Sent with GitHawk

Do you happen to have the windows media player errors on hand? I’m away from my PC atm but I can try to see if I can do anything. :)

https://github.com/ValveSoftware/Proton/issues/1199#issuecomment-468069940

Check the second half of that comment. That was really the only useful log output I got IIRC

Do you happen to have the windows media player errors on hand? I’m away from my PC atm but I can try to see if I can do anything. :) ...

@Goofybud16

Sweet! Thank you so much, did some research and it appears the same error occurred for the game listed here when loaded in Proton:
https://github.com/ValveSoftware/Proton/issues/1102#issuecomment-419660570

Wondering if perhaps their solution may work here as well. May have to contact the person who got it working and get a general idea as to how they did it :)

Sent with GitHawk

I wasn't able to get it to work. Here is what I tried to do:

Copy

mf.dll
mferror.dll
mfplat.dll
mfreadwrite.dll
msmpeg2adec.dll
msmpeg2vdec.dll
sqmapi.dll

from a Windows 7 install from System32 and SysWOW64 to the respective locations in the Wine Prefix.

Export the entire HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Foundation from a Windows install registry to a file called wmf.reg.

Put

[HKEY_LOCAL_MACHINE\Software\Wine\LicenseInformation]
"msmpeg2adec-AACDecoderV2AddInEnable"=dword:00000001
"msmpeg2adec-AACDecoderV2InSKU"=dword:00000001
"msmpeg2adec-DolbyDigitalDecoderV2AddInEnable"=dword:00000001
"msmpeg2adec-DolbyDigitalDecoderV2InSKU"=dword:00000001
"msmpeg2vdec-H264VideoDecoderV2AddInEnable"=dword:00000001
"msmpeg2vdec-H264VideoDecoderV2InSKU"=dword:00000001
"msmpeg2vdec-MPEG2VideoDecoderV2AddInEnable"=dword:00000001
"msmpeg2vdec-MPEG2VideoDecoderV2InSKU"=dword:00000001

[HKEY_CLASSES_ROOT\CLSID\{271C3902-6095-4c45-A22F-20091816EE9E}]
@="MPEG4 Byte Stream Handler"

[HKEY_CLASSES_ROOT\CLSID\{271C3902-6095-4c45-A22F-20091816EE9E}\InprocServer32]
@="mf.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{477EC299-1421-4bdd-971F-7CCB933F21AD}]
@="File Scheme Handler"

[HKEY_CLASSES_ROOT\CLSID\{477EC299-1421-4bdd-971F-7CCB933F21AD}\InprocServer32]
@="mf.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{48e2ed0f-98c2-4a37-bed5-166312ddd83f}]
@="MFReadWrite Class Factory"

[HKEY_CLASSES_ROOT\CLSID\{48e2ed0f-98c2-4a37-bed5-166312ddd83f}\InprocServer32]
@="mfreadwrite.dll"
"ThreadingModel"="Both"

into a file called mf.reg.

Then, run the following:

export WINEPREFIX=/path/to/SteamLibrary/steamapps/compatdata/438100/pfx
wine start regedit.exe mf.reg
wine64 start regedit.exe mf.reg
wine start regedit.exe wmf.reg
wine64 start regedit.exe wmf.reg
wine regsvr32 msmpeg2vdec.dll
wine regsvr32 msmpeg2adec.dll
wine64 regsvr32 msmpeg2vdec.dll
wine64 regsvr32 msmpeg2adec.dll

This did seem to eliminate the DXVA errors, but the game still doesn't work. When I put a video in the video player in Room of the Rain, it seemed like it wanted to work, but eventually crashed.

The only relevant log section I could see with an error was:

2019.04.07 11:54:39 Log        -  [Network Processing] RPC invoked _SendOnSpawn on SceneEventHandlerAndInstantiator for goofybud


2019.04.07 11:54:39 Exception  -  NullReferenceException: Object reference not set to an instance of an object
VideoSpeaker+PICMIJKCDDD.MoveNext ()
UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress)



2019.04.07 11:54:39 Warning    -  [VRC_TriggerInternal] SpawnVideo (Dynamic Clone 1312513:100003) deferred event Unnamed type OnSpawn because ScreenAnchor to ready

Issues relating to lack of Media Foundation support appears to be tracked here https://github.com/ValveSoftware/Proton/issues/1464 (The issue focused on wmv support, but issues with other video formats are also tracked)

Also, worth noting that the dlls from windows 7 dosn't support all of the MF features required by VRChat, see http://help.vrchat.com/kb/article/21-video-players-arent-working/ (Not sure how many worlds this effects), but is seems proton might not support the newer versions, based on https://github.com/ValveSoftware/Proton/issues/1102#issuecomment-421484508

Really appreciate your insight TheLastRar! Man that’s a shame, so ultimately it comes down to supporting not only Media Foundation but also the latest Media Foundation from Win10.

I have a friend that plays VRChat using windows 7, and most(?) video panels seem work for them, but they have crashed in the "Back to the Future The Ride" map in the past (which says it needs win10).

So the windows 7 version does provide a good amount of support, But yeah, support of the for latest version seems to be required for everything VRChat can do.

Issues relating to lack of Media Foundation support appears to be tracked here #1464 (The issue focused on wmv support, but issues with other video formats are also tracked)

Also, worth noting that the dlls from windows 7 dosn't support all of the MF features required by VRChat, see http://help.vrchat.com/kb/article/21-video-players-arent-working/ (Not sure how many worlds this effects), but is seems proton might not support the newer versions, based on #1102 (comment)

I tried the DLLs from Windows 8.1 originally and they didn't work, so I went back and got the ones from Windows 7, which also didn't appear to work.

I used process explore to see what dlls are loaded by unity to see if any where missed in the workarounds (I used the test scene posted earlier)

These dlls seem Media foundation related, so might be worth looking into (I'm using windows 10, Windows 7 might not have/need all of these)

  • MSAudDecMFT.dll
  • mfcore.dll
  • mferror.dll
  • mferror.dll.mui
  • mfmp4srcsnk.dll
  • mfnetcore.dll
  • mfnetsrc.dll
  • mfplat.dll
  • mfreadwrite.dll
  • mfperfhelper.dll
  • msacm32.dll
  • msmpeg2vdec.dll

Looking further at the test scene, (using a ubuntu VM and wine 4.5)

Adding the following to the mf.reg now has the video player display grey (after 1-2 seconds) instead of white

[HKEY_CLASSES_ROOT\CLSID\{2EEEED04-0908-4cdb-AF8F-AC5B768A34C9}]
@="Drm Scheme Handler"

[HKEY_CLASSES_ROOT\CLSID\{2EEEED04-0908-4cdb-AF8F-AC5B768A34C9}\InprocServer32]
@="mf.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{37A61C8B-7F8E-4d08-B12B-248D73E9AB4F}]
@="Secure Http Scheme Handler"

[HKEY_CLASSES_ROOT\CLSID\{37A61C8B-7F8E-4d08-B12B-248D73E9AB4F}\InprocServer32]
@="mf.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{44CB442B-9DA9-49df-B3FD-023777B16E50}]
@="Http Scheme Handler"

[HKEY_CLASSES_ROOT\CLSID\{44CB442B-9DA9-49df-B3FD-023777B16E50}]
@="Http Scheme Handler"

[HKEY_CLASSES_ROOT\CLSID\{44CB442B-9DA9-49df-B3FD-023777B16E50}\InprocServer32]
@="mf.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{477EC299-1421-4bdd-971F-7CCB933F21AD}]
@="File Scheme Handler"

[HKEY_CLASSES_ROOT\CLSID\{477EC299-1421-4bdd-971F-7CCB933F21AD}\InprocServer32]
@="mf.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{9EC4B4F9-3029-45ad-947B-344DE2A249E2}]
@="Urlmon Scheme Handler"

[HKEY_CLASSES_ROOT\CLSID\{9EC4B4F9-3029-45ad-947B-344DE2A249E2}\InprocServer32]
@="mf.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{E9F4EBAB-D97B-463e-A2B1-C54EE3F9414D}]
@="Net Scheme Handler"

[HKEY_CLASSES_ROOT\CLSID\{E9F4EBAB-D97B-463e-A2B1-C54EE3F9414D}\InprocServer32]
@="mf.dll"
"ThreadingModel"="Both"

The video fails to play further, showing the following error in the console

0050:fixme:urlmon:InternetBindInfo_GetBindString not supported string type 20
0050:fixme:urlmon:ProtocolStream_Seek no cache file, not supported

So it seems that even the windows 7 dlls can run into unimplemented functions

Omg hell yeah!! A grey screen is better than a crash!

Sent with GitHawk

So the crashes when joining maps have been gone for a while now for me.
My game only crashes from vrchat bugs now and somewhat often when a new avatar gets loaded.
Anyone else experiencing this? It feels like my graphics card hangs. The game freezes, and my whole system is EXTREMELY slow, until VRChat, SteamVR and Steam get terminated.
This only happens to me in VR. I have used multiple Nvidia graphics driver versions and use 430 right now, with this happening.

@jug007 It would be interesting to know what avatars cause this. I know that will be hard to track down though. I do know that avatars with high res textures or a lot of large resources cause a hitch still on Windows, so there is a chance it's related to that stress.

If you could collect the Output logs when these crashes happen, they might by chance have an error output in them that would at least point in the right direction.

On Windows they are located here:
C:\Program Files (x86)\Steam\steamapps\common\VRChat

The crashes don't seem to be linked to specific avatars. It seems like the game doesn't "crash" if I have it load one person at a time rather than enabling two people's avatars at once.
Also people changing avatars also doesn't seem to "crash" it. Only enabling avatars of people that are disabled by the safety settings seems to cause this fairly reliably.
Though loading a ton of avatars, because the safety settings allow it also seems to crash the game fairly often.

I think the idea about this being stress related might be somewhat of a thing. Proton seems to amplify already existing bugs in VRChat in some cases. Like VRChat never exiting properly, where as it sometimes exits properly on windows.

VRChat avatars with >1 skinned meshes render only the first mesh (the one named "Body" in Unity), and not others

Issue transferred from https://github.com/ValveSoftware/Proton/issues/2764.
@Icekhaos posted on 2019-06-01T20:39:29:

Compatibility Report

  • Name of the game with compatibility issues: VRChat
  • Steam AppID of the game:438100

System Information

  • GPU: RX480
  • Driver/LLVM version: Mesa 18.2.8, DRM 3.32.0, LLVM 7.0.0
  • Kernel version: 5.2.0-050200rc2-generic
  • Link to full system information report as Gist: Gist
  • Proton version: 4.2-5

I confirm:

  • [Y] that I haven't found an existing compatibility report for this game.
  • [Y] that I have checked whether there are updates for my system available.

steam-438100.log

Symptoms

Player models with more than one skinned mesh (confirmed secondhand by an Unity avatar creator) do not render any skinned meshes besides the only one required by the game, that is, the one named "Body".

Here is the list of meshes, the first group (Mishe) is the unoptimized avatar that does not render properly, and the latter one (MisheOptimized) is an optimized avatar that correctly renders.
UnityMisheOpti

Here is what Mishe looks like:
unknown (1)

Here is what MisheOptimized looks like:
unknown

Reproduction

1: Launch VRChat
2: Enter a hub world
3: Wait for an avatar with multiple skinned meshes
4: Compare screenshots

VRChat avatars with >1 skinned meshes render only the first mesh (the one named "Body" in Unity), and not others

Issue transferred from https://github.com/ValveSoftware/Proton/issues/2764.
@Icekhaos posted on 2019-06-01T20:39:29:

Compatibility Report

  • Name of the game with compatibility issues: VRChat
  • Steam AppID of the game:438100

System Information

  • GPU: RX480
  • Driver/LLVM version: Mesa 18.2.8, DRM 3.32.0, LLVM 7.0.0
  • Kernel version: 5.2.0-050200rc2-generic
  • Link to full system information report as Gist: Gist
  • Proton version: 4.2-5

I confirm:

  • [Y] that I haven't found an existing compatibility report for this game.
  • [Y] that I have checked whether there are updates for my system available.

steam-438100.log

Symptoms

Player models with more than one skinned mesh (confirmed secondhand by an Unity avatar creator) do not render any skinned meshes besides the only one required by the game, that is, the one named "Body".

Here is the list of meshes, the first group (Mishe) is the unoptimized avatar that does not render properly, and the latter one (MisheOptimized) is an optimized avatar that correctly renders.
UnityMisheOpti

Here is what Mishe looks like:
unknown (1)

Here is what MisheOptimized looks like:
unknown

Reproduction

1: Launch VRChat
2: Enter a hub world
3: Wait for an avatar with multiple skinned meshes
4: Compare screenshots


Originally reported by me, thanks for moving.

This happenes on Nvidia if you don't use dxvk (e.g. use just wine instead of proton).

I would definetly take the drivers into scrope, as Vulkan is a fairly new technology and Amd and Nvidia had problems with it in their drivers until just recently (or apparently maybe still).

Actually, if that is cubed shader, you might want to try if the problem occurs with a different shader, as there has been a bug in the AMD graphics drivers in the past where cubed's shader turned invisible (not looking exaclty like these screenshots).

Actually, if that is cubed shader, you might want to try if the problem occurs with a different shader, as there has been a bug in the AMD graphics drivers in the past where cubed's shader turned invisible (not looking exaclty like these screenshots).

I used arktoon shader(That was my unity project, and helped out)
https://gyazo.com/1f798002e30cb0228176b13edd65e317

We originally thought it was the rimlighting or shaders, but he excluded those afaict.

Oh; I have shaders disabled for random people, and those are exhibitng this problem as well. Hope this helps.

I have about 750 hours on VRChat at this point. Other than random graphical corruption issues (which are solved by restarting the game), I haven't noticed any issues like this.

I've got an R9 Fury, and I'm running on Mesa 18.3.4 with Proton 4.2-5 (although I've been playing regularly since Mesa 18.2.x + Proton 3.16 betas).

@Icekhaos Can you try using one of the Mesa PPAs to install a newer version of Mesa (eg 18.3.x or 19.x) and see if that resolves the issue?

Any PPAs you recommend? Does Oibaf's work?

I'd recommend Padoka Stable over Obiaf because Obiaf seems to build git latest mesa instead of stable. Sometimes git latest mesa has bugs that don't make it to a release.

If you have the time, it wouldn't hurt to test both though.

19.0 fixed it. I wonder why that happened though...

19.0 fixed it. I wonder why that happened though...

Likely a bug in Mesa 18.2.x that is fixed in 18.x.3 and newer.

Does anyone know how to get asian characters working?

Does anyone know how to get asian characters working?

I've noticed non-ASCII characters not rendering as well.

I suspect it is a missing font issue because I've heard reports from some of my friends on Windows that they have the same problem.

Cyrillic (Russian) characters are working fine. So there are at least some other fonts that work.

So apparently some of the fonts are "missing":
https://wiki.winehq.org/Font_Replacements
https://bugs.winehq.org/show_bug.cgi?id=13829
https://wiki.winehq.org/Useful_Registry_Keys

According to these resources, wine needs to have font replacements set, for some of the fonts to work.
Proton seems to not have these set. These resources also state the fedora and ubuntu versions of wine, as well as crossover have these replacements in place. So a fairly easy way to test if VRChat is actualy affected by this, would be to run it in wine or crossover and check if japanese characters are showing there.
Apparently you can set these replacements using regedit. To run regedit in proton, just replace its path in the following startup settings: "/mnt/e7b6ce9b-f952-4ee7-9061-34b5f3f5e028/SteamLibrary/steamapps/common/Proton 4.2/proton" waitforexitandrun regedit && echo %command% >/dev/null

I feel like the easiest way to get the right replacements, would be to just copy them from the version of wine that comes from the systems repository.

I've tried to figure out the fonts issue, here's what I learned so far.
VRC uses the fonts BankGothic (nameplates) and Dosis (menus). Which indeed are missing lots of international glyphs. Running notepad with proton in the same environment as the game, you can see this happening.

See a sample

image

To try it for yourself

English: Rome is a beautiful city
Italian: Roma è una bella città
Arabic: روما مدينة جميلة
Chinese (Simplified): 罗马是一座美丽的城市
Chinese (Traditional): 羅馬是一座美麗的城市
Czech: Řím je krásné město
Greek: Ρώμη είναι μια πανέμορφη πόλη
Hebrew: רומא היא עיר יפה
Hindi: रोम एक सुंदर शहर है
German: Rom ist eine schöne Stadt
Japanese: ローマの美しい街です
Korean: 로마는 아름다운 도시입니다
Russian: Рим очень красивый город
Thai: โรมเป็นเมืองที่สวยงาม
Turkish: Roma güzel bir şehir olduğunu
Ukrainian: Рим дуже красиве місто
Vietnamese: Rome là một thành phố xinh đẹp
- by Andrea Denzler for Wine

I found that following the guide on font replacements and the bugreport can resolve the issue in notepad. But the game does not reflect this.

I've tried to link both core fonts (arial, courier, times, etc.) and the fonts used (BankGothic, Dosis) to use TakaoPGothic and DroidSansFallbackFull as fallbacks. Again works fine in notepad to show Japanese text, but no change in the game.

My thinking is that the Unity engine handles fonts differently from regular windows applications. As this https://docs.unity3d.com/Manual/class-Font.html seems to reflect.

For good measure I also tried winetricks corefonts and cjkfonts. So far haven't found a fix.

Re Windows Media Foundation support see #1464

Opened a feature request for the fonts issue.
https://vrchat.canny.io/feature-requests/p/add-font-fallbacks-for-compatiblity
Also the Dosis font is actually available on linux. At least it is in the ubuntu package repository "fonts-dosis".

Does anyone know a way to make Steam not override the youtube-dl.exe with every VRChat update?
Even when root doesn't have rights to modify the file, Steam still overrides it..

Also the Font issue is gone for me. I don't know if it was a Proton update, a VRChat update, or whatever, but I can see japanese names fine now.

It's fixed in Proton 4.11-3. https://github.com/ValveSoftware/Proton/releases/tag/proton-4.11-3

Add missing Chinese, Japanese, and Korean language font.

It looks like though, my method of manually adding it before was possibly incomplete then.

Some world do freeze up when trying to load for me though.
Can you try for example https://www.vrchat.net/home/launch?worldId=wrld_06021428-e14b-4c02-9f57-f5c28f6d6efe

It hangs on a black screen just when loading in the world. Then eventually ubuntu asks me if I want to force kill it.

Hi,

Some world do freeze up when trying to load for me though.
Can you try for example https://www.vrchat.net/home/launch?worldId=wrld_06021428-e14b-4c02-9f57-f5c28f6d6efe

It hangs on a black screen just when loading in the world. Then eventually ubuntu asks me if I want to force kill it.

Does it also hang on an older version of Proton? Or it is a regression of Proton 4.11-3?
Could you test it with an older Proton, such as 4.11-2?
Thanks.

Hey @jzengc I've run through the options available through the steam settings.

  • [ ] Proton 3.7-8
  • [ ] Proton 3.16-9
  • [ ] Proton 4.2-9
  • [ ] Proton 4.11-3
  • [x] Windows

TL;DR all of them don't work. So it isn't a regression between these.

I did the following:

_Pre-populate cache and user login by logging in and attempting to join a cushy instance._

  1. Start VRChat (in windowed, desktop mode) and load to the default home world.
  2. Open menu and search for "cushy" in the worlds tab. Then join a public instance.
  3. Loading screen appears, press "Go" when ready.
  4. Now either freezes on black screen or loads into the world.

proton-vrchat-1199-logs.zip

I've attached the VRChat logs of each of these runs, including just the 4 steps (not the cache pre-populating part). For each proton version and windows.
You can find these in:

  • Proton: <your-steam-library>/steamapps/compatdata/438100/pfx/drive_c/users/steamuser/AppData/LocalLow/VRChat/VRChat/output_log_<timestamp>.txt
  • Windows: C:\Users\<username>\AppData\LocalLow\VRChat\VRChat\output_log_<timestamp>.txt

The logs are not super detailed, but what I found interesting isn't what's there in the proton ones. But _what's not there_ compared to the windows one.

All of the proton logs end at the same point (trimming some whitespace for clarity):

...
2019.09.10 11:57:56 Log - [VRCFlowManagerVRC] Switching active scene:  => megs house
2019.09.10 11:57:56 Log - [VRCFlowManagerVRC] Instantiating VRC_OBJECTS
2019.09.10 11:57:56 Log - [VRCFlowManagerVRC] Hard max is 40

EOF

While the windows version continues like so:

...
2019.09.10 12:07:01 Log - [VRCFlowManagerVRC] Switching active scene:  => megs house
2019.09.10 12:07:01 Log - [VRCFlowManagerVRC] Instantiating VRC_OBJECTS
2019.09.10 12:07:01 Log - [VRCFlowManagerVRC] Hard max is 40
2019.09.10 12:07:02 Log - LoadLevelAsync took 1.531513s
2019.09.10 12:07:02 Log - Loaded asset bundle: megs house
2019.09.10 12:07:02 Log - [VRCFlowManagerVRC] Room instantiate took 22.35867s
2019.09.10 12:07:02 Log - [VRCFlowManagerVRC] Spent 0.06311417s initializing VRC Objects and level
2019.09.10 12:07:02 Log - [VRCFlowManagerVRC] Doing some house-keeping.
2019.09.10 12:07:02 Log - [VRCFlowManagerVRC] Assigning IDs to scene
2019.09.10 12:07:02 Log - [VRCFlowManagerVRC] Spent 0.004928589s assigning network IDs.
2019.09.10 12:07:02 Log - [VRCFlowManagerVRC] Processing scene objects
2019.09.10 12:07:02 Log - [Always] Loading scene's render settings.
2019.09.10 12:07:02 Log - [Always] Creating Scene Dynamic Bone Controller.
2019.09.10 12:07:02 Log - [VRCFlowManagerVRC] Spent 0.09152603s processing scene objects.
2019.09.10 12:07:02 Log - [VRCFlowManagerVRC] Fixing materials
2019.09.10 12:07:02 Log - [VRCFlowManagerVRC] Spent 0.0006790161s fixing materials.
2019.09.10 12:07:02 Log - [VRCFlowManagerVRC] Finalizing scene
2019.09.10 12:07:02 Log - [VRCFlowManagerVRC] Spent 0.01531219s finalizing scene.
2019.09.10 12:07:02 Log - [VRCFlowManagerVRC] Entering world
2019.09.10 12:07:02 Log - [RoomManager] Entering Room: Cushy
2019.09.10 12:07:02 Log - [RoomManager] Joining wrld_06021428-e14b-4c02-9f57-f5c28f6d6efe:82696
2019.09.10 12:07:02 Log - [RoomManager] Joining or Creating Room: Cushy
2019.09.10 12:07:02 Log - [RoomManager] Successfully joined room
2019.09.10 12:07:02 Log - [VRCFlowManagerVRC] Spent 4.959106E-05s entering world.
...

This seems to suggest we're pretty early on in the loading process and it's this LoadLevelAsync function that freezes.

Some world do freeze up when trying to load for me though.
Can you try for example https://www.vrchat.net/home/launch?worldId=wrld_06021428-e14b-4c02-9f57-f5c28f6d6efe

It hangs on a black screen just when loading in the world. Then eventually ubuntu asks me if I want to force kill it.

Have you tried replacing youtube-dl.exe with an empty file? VRChat currently freezes, when a video player gets loaded (like a lot of worlds do). Replacing youtube-dl.exe "fixes" that. Keep in mind that Steam overrides the file on every update; Apparently even if it is read only.

I've not yet @jug007 and I can test later. Bit caught up with other work atm. Perhaps you can test the world I linked and see if the youtube-dl workaround fixes it for you?

@jug007 youtube-dl file was indeed the problem.
Something along these lines let's me load into the world.

#!/usr/bin/env sh
# blank out youtube-dl.exe for VRChat

# Set this to where you've installed VRC.
game_steam_library=${GAME_STEAM_LIBRARY:-"$HOME/.steam/steam"}

ytdl_dir="$game_steam_library/steamapps/common/VRChat/VRChat_Data/StreamingAssets"
mv $ytdl_dir/youtube-dl.exe $ytdl_dir/youtube-dl.exe.bak
echo "" > $ytdl_dir/youtube-dl.exe

I am myself encountering an issue with my mouse. KDE workspaces and some swapping between them can bug out the mouse in a fashion that, when it moves, it will not reset its relative positioning to where it was; this means that, on one frame, it moves, say, 5X and 5Y. If you move the mouse the same amount on the next frame, then, instead of 5:5, it is now 10:10. Move it 25 in the opposite direction, and it becomes -15:-15.

On 4.2, you can reset this by opening and closing the menu. This no longer works in 4.11, but it does go away when the menu is open.

Same mouse issue with Gnome after switching windows in any fashion.
I think when regaining focus VRChat is supposed to "capture" the mouse so it will actually be centred. Moving up or to the sides enough after losing focus once, will move you outside the VRChat window. While normally that should only be possible when you have the menu open.

Hey @jzengc I've run through the options available through the steam settings.

* [ ]  Proton 3.7-8

* [ ]  Proton 3.16-9

* [ ]  Proton 4.2-9

* [ ]  Proton 4.11-3

* [x]  Windows

Thanks for testing! I can reproduce this bug, too.
It should be an issue of Python 3.4 on Wine at first. It can be reproduced by running this .py script on Python 3.4 with Wine:
No, this is another Wine issue.

import ssl

ssl.create_default_context(ssl.Purpose.SERVER_AUTH)

I will take a look at it.

Hi there, I am having an issue on VRChat _(my microphone while working with other games, is not listed in settings)._

My experience with GitHub is limited and I don't want to risk making a thread if this is a sort of 'unofficial' support page _(similarly I don't want to post on this thread and it be off-topic, so I'm sorry if it is)_.

here is a screenshot of the two options I have for my microphone, neither of which work;

https://imgur.com/a/jCNJFSt

If anyone can point me in the right direction, or even offer some practical advice on how to fix such issue I would be very grateful.

@jzengc

Thanks for testing! I can reproduce this bug, too.
~It should be an issue of Python 3.4 on Wine at first. It can be reproduced by running this .py script on Python 3.4 with Wine:~
No, this is another Wine issue.

The script you ran doesn't look like anything that would be specific to python. Although youtube-dl is built from that. As I doubt python has a custom SSL implementation and probably defers to openssl. Maybe it's an issue with something like obtaining root CA certificates from the emulated environment? Although I'd expect that sort of issue to cause trouble all over the place.

@tunanachos, the screenshot you linked shows the options are both "Pulseaudio".
Pulseaudio in a sense is a very general purpose mixer running on your host machine.

Have you tried configuring pulseaudio to use your mic? Using for example Ubuntu's sound options if you're on Ubuntu. Or a utility like pavucontrol?
Note: pulseaudio is also the only available option for me, in spite of having a couple of different mics. And I too need to set them in some pulseaudio control panel.

On a recent OS reinstall, I'm getting:

Failed to initialize graphics.
Make sure you have DirectX 11 installed, have up to date
drivers for your graphics card and have not disabled
3D acceleration in display settings.
InitializeEngineGraphics failed

I wonder if this is a recent change or me just missing some dependency.

Edit I tried the previous OS again with the same VRChat and proton version, which runs fine. Wonder what the problem is. I've tried having steam reinstall the game and proton without success.

Edit2: Aaand that dependency turned out to be vulkan.

sudo apt install libvulkan1 mesa-vulkan-drivers vulkan-utils

@tunanachos, the screenshot you linked shows the options are both "Pulseaudio".
Pulseaudio in a sense is a very general purpose mixer running on your host machine.

Have you tried configuring pulseaudio to use your mic? Using for example Ubuntu's sound options if you're on Ubuntu. Or a utility like pavucontrol?
Note: pulseaudio is also the only available option for me, in spite of having a couple of different mics. And I too need to set them in some pulseaudio control panel.

Hi there, @Beanow thanks for taking time to help me and reply.

If you look closely they are both '_different_' (_at least, there are two different options_)

While checking PulseAudio I can see my microphone bounce up and down when I talk, so why VRChat isn't picking it up is beyond me _(as mentioned, other games don't have this issue; CS:S, CS:GO, TF2 etc)_

Is there a path or somewhere the microphone inputs are set for this game? It's hopeless being able to use this without communication lol :-)

Thanks again for your time and reply, hopefully it'll be solved soon.

@tunanachos I have the same two options. The difference is that one of them is "Default", meaning it will use "Windows" default recording device. Which will point to pulseaudio as it's the only device.
Then there's _just_ Pulseaudio, which is to manually select it (regardless of "Windows" recording device settings).

The only additional routing of audio it does is the in-game settings. You can try cranking up your mic volume everywhere and messing with the mute / push-to-talk V button.

I see, thank-you for clarifying that for me.

While I do enjoy having Linux as my OS almost always it goes over my head when trying to understand it's workings so I'm grateful.

I will give it another go, admittedly I've only played it for an hour or two and it would be hilarious if this whole time I wasn't doing something right.

I'll give it a go soon, turn everything up and see if I can't deafen a few people while asking if my microphone is working or not >:-)

@tunanachos to be safe, you can look for the VRChat mic indicator lighting up first :smile:

Just quickly, should it be red or translucent when you're talking? I press V (I think) and it turns red, I try and talk but nobody seems to hear me. _(this is going from memory, I wan't to make sure I wasn't muting myself the entire time lol)_.

When red it's muted. When translucent the mic should be open. When speaking you can see the translucent one get more opaque when there's enough sound for voice activation.

image Muted

image Open, no voice activation

image Open, voice activated

Okay, so I'm really quite sure something weird is going on..

I jumped on and went to a _hub_? There were a group of people not doing much, I asked them "_Can anyone hear me?_" several times with the volume on the pavcontrol and in-game on microphone up to 100% and got no answer.

however when they were talking to themselves (and they seemed pleasant enough) they complained "Why can I hear myself??" several times when I was pushing down V to talk at the same time.

I don't know why, how or why again, but I really think for some reason it's picking up and using my output and my input? It's the only thing I can think as to why that would be happening....

Well, so far I don't think it's a problem with Proton + VRChat compatibility. Just a matter of getting your Pulseaudio configuration right.

The other games you mentioned CS:S, CS:GO, TF2 have a native Linux build from what I can tell. So their configuration is probably easier. Unless you're running their windows versions through Proton for some reason.

Perhaps you can test your setup some more, or try running the windows version of Audacity using Wine and/or Proton to get a better idea of what's going on. But to avoid spamming everyone else in this thread, please try to isolate whether the problem is with Proton :]

That's a fair point to make and I'm totally not disagreeing it could be something with me.. It's just I've never had this issue before - in fact I recall playing MW2 and the voice working, I'm sure I've played other non-linux games _(either through wine or with Steam+Proton)_ and not had the same issue.

With that said and at risk of repeating myself I absolutely agree there is something I could be doing wrong.. I'm just lost as to what and how to address the issue.

I am sorry to both you and anyone else suffering email notification spam - didn't even cross my mind until you mentioned it.

With all that said, is there anywhere I could post elsewhere I might be able to get help? As I originally said I don't want to post in the wrong place or waste peoples time, just want to have fun but I'm totally lost on where or how to start :-)

Thanks and sorry again. I won't reply or post again unless it's something more pertinent.

Seems the Open Beta [for Unity 2018] instantly crashes upon startup.

Renders a few frames and then crashes.

Managed to capture the game log and a Proton log.

output_log_8-55-55_PM.txt

steam-438100.log

Not sure if it's a VRC issue [it is the beta, although the beta should be the release... soon], a Proton issue, SteamVR, etc. Seems to explode when the game log is writing SteamVR stuff.

Okay, so I'm really quite sure something weird is going on..

I jumped on and went to a _hub_? There were a group of people not doing much, I asked them "_Can anyone hear me?_" several times with the volume on the pavcontrol and in-game on microphone up to 100% and got no answer.

however when they were talking to themselves (and they seemed pleasant enough) they complained "Why can I hear myself??" several times when I was pushing down V to talk at the same time.

I don't know why, how or why again, but I really think for some reason it's picking up and using my output and my input? It's the only thing I can think as to why that would be happening....

There is also a bug in vrchat that makes avatars repeat your microphone input. No idea how they got that happening, but if people say "why can i hear myself" it could be that. Pulseaudio doesn't just use your output as input if you don't tell it to. Or rather it cannot even do that until you enable that.

Just tested the open beta again, and wanted to report that it works now. The game successfully loads into a world.

So there is a new mmd dance map called "MMD DANCE STAGE(PV) 0․3A" that crashes the client when you try to play a promotional video. It doesn't seem to use youtube-dl.exe but just an internal video. Because of this the client still crashes, even with youtube-dl.exe removed.
Normally it writes an error message about Media Foundation missing to the proton log.
I have tried mf-install, but that only makes it crash in a different way..

Edit: Just made a bug report. Maybe they will do something eventually ¯_(ツ)_/¯
https://vrchat.canny.io/bug-reports/p/client-closes-with-missing-media-foundation

I also just stumbled across two other issues.
The world "Just moved in" has pens, which seem to work for everyone, but me.
There appears to be a video memory leak present. https://vrchat.canny.io/bug-reports/p/video-memory-leak

Does the vrchat camera not save the images for anyone else?

Does the vrchat camera not save the images for anyone else?

They should be in ~/.local/share/Steam/steamapps/compatdata/438100/pfx/drive_c/users/steamuser/My Pictures/VRChat

youtube-dl.exe support

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3798.
@XLPhere posted on 2020-04-25T11:52:38:

Hey,
youtube-dl.exe still seems to have issues, has anyone found an workaround to it on getting it working? The thing is VRChat runs pretty well at the time of writing this (SteamPlay: Proton 5.0-6). The only issue is that you have to delete or rename/move youtube-dl.exe (at least thats the only way that works for me right now, which obviously consequently disables every youtube-dl powered function in VRC though).

In the thread dedicated to VRChat i also heard something that the (missing?) Microsoft Visual C++ 2010 Redistributable Package (x86) (https://github.com/ValveSoftware/Proton/issues/1199#issuecomment-468045658) is the issue, even though i didn't felt confident enough to tinker with it yet, since i have rather limited knowledge about wine and proton myself.
Anyone has an idea how to fix this? (or maybe even get a global patch on proton for this?)

Why is this a separate issue and not inside the VRChat-thread?

  • Having a separate issue for this problem is probably more organized then having this issue together with several other issues in the VRC's main issue-thread
  • Even though my point of view right now is only related to VRC, this might also be effecting other apps/games that use youtube-dl.exe

Thanks for helping!

@XLPhere I would think that youtube-dl works.
What crashes the client isn't youtube-dl, but trying to play videos. Fortunately almost all videos are accessed through youtube-dl, rather than being integrated into the world.

@jug007 well i have a world, which crashes after a few seconds - renaming youtube-dl.exe prevents the crashing, but then there is no music playing in the background though, like it does on windows -so it looks like an issue with youtube-dl, or am i getting something wrong there?
(EDIT: I just read a bit more in the thread and i saw that it seems to be missing functionality of the windows media foundation on wine? Is there already a ticket open on wine for those features, so we might get support soon?)

@XLPhere there is plenty of tickets for that. Someone at codeweavers is currently doing some work on that as far as I know, but I don't think it will be anywhere close to finished soon, as this has been an issue for years.

VRChat post udon update (438100)

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3934.
@jaydenhawkes123 posted on 2020-06-04T05:52:46:

Compatibility Report

  • Name of the game with compatibility issues: VRChat
  • Steam AppID of the game: 438100

System Information

  • GPU: RX 580
  • Driver/LLVM version: Mesa 20.1.0-rc3 ... aco compiler instead of llvm
  • Kernel version: Linux 5.6.15-1
  • Link to full system information report as Gist:
  • Proton version: Proton 5.0-8 RC testing, Proton 5.*, 4.11, 4.3 and all versions of glorious egroll proton in desktop mode (Could not test glorious egroll proton in vr mode as no vr games seem to launch with glorious egroll proton).
    VR SYSTEM: Valve index full kit

I confirm:

  • [x] that I haven't found an existing compatibility report for this game. (Found one for an older version, game worked fine on proton until its last major update April 2nd)
  • [x] that I have checked whether there are updates for my system available.


Log ended up being half a gig after 5mins of gameplay.... Gist didnt seemt to like it and you can only upload 10M files to github issues. Ended up uploading it to Mega
https://mega.nz/file/3SxxiJIR#jVtIb80nkLFQ8QW2eiIu_rLyxhHQKMdyFNaA-ZyUFGk

Symptoms

(Same problems appear in both desktop mode and vr mode)
Some player avatars dont load in and instead display an error avatar (This was not an issue before the last major update)

Some worlds have broken lighting (e.g japan shrine if you walk forward) giant rays of binding light appear (Also dont think this was an issue before the update) Tried d9vk, same problem, game doesnt seem to work with d3d.

Video players do not play (Both with <Workaround removed by moderator> script and glorious egroll proton)

Users at protondb rename youtube-dl.exe in the game files to something else to avoid a crash in worlds with media players but running <Workaround removed by moderator> seems to also help avoid that crash (Tho the players still don't work)

Reproduction

Start vrchat (Either vr or desktop)

For Error ed models
Join a public world thats almost full, mots of time time you will get a few errored models after the most of the models successfully load in... does seem to depend on luck tho, may need to try a couple worlds

For lighiting bug
Go to Japan shrine and walk forward, Go to black cat world and go upstairs to the bar.

For media player.
Join a world that says you can watch things here and attempt to play a video, nothing will happen if you renamed youtube-dl or you did <Workaround removed by moderator>. You will most likely freeze and crash if you didnt to either of these things.

I can confirm that I have the same issue with avatars failing to load in certain cases, and issues with the video player; but despite not doing any workarounds for it I have no video player related crashes or lighting bugs in any world.

Haven't noticed broken lighting (Nvidia 440.82).
Videoplayers are known to not work, but like dotWAVE the game has not been crashing for me anymore.
Avatars failing to load and general slow loading has been a thing for me since the UDON update.
The avatar thing doesn't happen for me on Windows, but is definetly tied to the update.

I may have potentially found a solution for the errored-out models.

For one, the "zero-modification fix" is just re-join the world again. If you go to the worlds tab, you can find the instance you're in, and hit "Go." Every time I've done that, the avatars that failed to load the first time loaded successfully. That's, at the very least, a temporary, if inconvenient, fix. Once an avatar has been downloaded and stored in the cache, it loads correctly 100% of the time in my experience.

Recently, while debugging some other stuff, I did the following in my VRChat Proton environment:

https://github.com/ValveSoftware/Proton/issues/3706#issuecomment-606068829 (used Winetricks to install vcrun2015 and vcrun2017)
followed by
https://github.com/ValveSoftware/Proton/issues/3706#issuecomment-606307808 (extracting some dlls from a vc_redist runtime into the Windows directory)

Since then, I don't think I've seen any error avatars that failed to load-- and, generally speaking, things seemed to be running all-around better. I haven't had issues with worlds hanging for 5-30 seconds when I try to load in before they would actually download, haven't had avatars hanging on load, haven't had new avatars erroring out when trying to download....

Since those issues don't occur 100% of the time anyways, it could just be I've been lucky and haven't visited enough/cbusy enough worlds yet, or possibly some other changes I made at the same time did it.

Not entirely sure _why_ that fixes it, but I do know that VRChat ships some runtime libraries with it, and I believe using winetricks vcrun[2015,2017] applies some DLL overrides, and that may be what fixes it.

I tried the solution above by running the following commands.
protontricks 438100 vcrun2015
protontricks 438100 --force vcrun2017
cd /home/$USER/.steam/steam/steamapps/compatdata/438100/pfx/drive_c/windows/system32/
wget "https://aka.ms/vs/16/release/vc_redist.x64.exe"
cabextract vc_redist.x64.exe
cabextract a10

Seems to greatly reduce the rate in which avatars spawn as errors (And some avatars that never worked before even after reloading the world... do now), but doesn't completely solve it.
Reloading the current world seems to most of the time successfully load the rest of the avatars though breaks can still happen when people switch avatars.

Lighting bug still present in some worlds for me.

After further playtime, I can confirm the same results. Error avatars vastly reduced, but still present occasionally.

Still, it makes the game much more playable, I can load a world of 30+ avatars now and usually they all load successfully. I went from like 1 in 3 avatars erroring out to probably closer to 1 in 30 or 1 in 60.

As for the lighting bug, are we talking about the one that looks like this?

VRChat_1920x1080_2020-05-23_21-52-55 035

Whatever it is, it's something related to how the game implements bloom. It only appears in worlds that use bloom, and if you can turn bloom off in the world, it fixes the problem. I'm not sure what causes it, and it hasn't always been an issue, but it has been an issue for a little while. I think I've seen it all the way back to maybe October or November, but I don't remember seeing it too much before that [although I may just have not run into worlds that caused it].

I've never seen this bug. Are you on AMD or Nvidia?

I have seen this lighting bug a lot too (just a few days ago too), playing on AMD. Haven't tried turning off bloom in the worlds yet but Japan Shrine was also the first map where I saw this issue occur. In VR view it's flickering a lot and pretty bad to look at.

Otherwise the only issues I had was error avatars and no video playback as well, as reported by others already. Though I never had problems with worlds crashing because of youtube-dl. Youtube-dl always worked flawlessly for me, (checked using a small wrapper logging invocation) it was just playing back which was the issue.

The errored models might actually be a windows problem being made worse through proton, Recently I have found that all the models in the first large public world I join load fine, but then get a 30% error rate in every world after. I found some (I assume windows users) posting about the same issue.
https://steamcommunity.com/app/438100/discussions/5/1643171537287950325/
https://www.reddit.com/r/VRchat/comments/bujbdj/help_metal_error_robots_as_avatars/
https://vrchat.canny.io/bug-reports/p/some-avatars-just-become-error-avatars
Can also confirm that the VR view seems to be flickering alot now, though I think the same is happening in the normal SteamVR home world so it might be steamvr related.

The lighting bug is definitely not a DXVK issue, tried using dxvk on the same hardware while duel booting windows (Dropping the 32bit dxvk ddl's into the vrchat exe folder) and the lighting bugs did not persist (Also seemed to make the game in general run smoother).
Maybe its a problem with amdgpu's implementation of vulkan?

The lighting bug is definately a mesa/AMD issue, it isn't present on Nvidia.
Are you using anything like ACO or other mesa patches?

In my case, I'm running all stock Debian Testing packages. The only change I've made is I grabbed a more recent copy of linux-firmware from upstream, since Debian's package is coming on a year out-of-date.

I just tested with RADV_PERFTEST=aco and the "Summer Solitude" map, and it still has the exact same issue.

I've found both shaders on avatars _and_ objects in worlds can trigger it. I can provide a link to one of the avatar shaders that causes the issue if it'll help.

I tried the solution above by running the following commands.
protontricks 438100 vcrun2015
protontricks 438100 --force vcrun2017
cd /home/$USER/.steam/steam/steamapps/compatdata/438100/pfx/drive_c/windows/system32/
wget "https://aka.ms/vs/16/release/vc_redist.x64.exe"
cabextract vc_redist.x64.exe
cabextract a10

Are there any extra steps to using fix? When I the vcrun2015 and --force vcrun2017 an installer appears, but when I click "install" I get error "0x80070666 Another version is installed".

I also tried deleting the prefix, running the game once and then running those commands again, but I still get the same error.

I thought if I interrupt the first time setup it might prevent Steam from automatically installing "Microsoft VC redist package". If I close the progress window while it's running first time setup and try protontricks again, instead I get error:

/home/theo/.cache/protontricks/proton/Proton 5.0/bin/wine cmd.exe /c echo '%AppData%' returned empty string, error message ""

Any thoughts?

I am using mesa-git and the aco compiler, though if I remember correctly I had the same lighting problem back with standard mesa no aco...
Also the commands
protontricks 438100 vcrun2015
protontricks 438100 --force vcrun2017
Worked back in the proton-08 beta but not in the release, now does give the error "Another version is installed" though when I first run vrchat with the released proton 5.8 it said it was installing vcrun... so maybe those dependencies are automatically installed now.

it said it was installing vcrun... so maybe those dependencies are automatically installed now.

Could be, although the avatars problem persists. Even if I run the wget and cabextract commands alone I get a lot of errored avatars.

To add to this issue, I also get the lighting problem being discussed. With a 5700XT on kernel 5.7.5, mesa 20.1.1-2 and aco enabled.

I believe VRC does include versions of VCRUN.

The protontricks/winetricks commands still set some DLL Overrides that aren't set by default.

Whatever the graphics/bloom bug is, Half-Life: Alyx - Final Hours seems to reproduce it on the Y and X in the title screen [where there's the "BEGIN" button].

In certain maps I get strange looking colours. Attached screenshot:
Screenshot from 2020-07-28 00-51-04

The world I took this screenshot in was called I think Meroom. I also had the problem in Murder 2.

Installed versions:
local/mesa 20.1.4-1
local/linux-zen 5.7.10.zen1-1

Proton 5.0-9.

using the ACO compiler.

Also to add, the latest VRChat release has a fix that disabled video playback in worlds for Proton users: https://docs.vrchat.com/docs/latest-release so renaming youtube-dl should not be necessary anymore.

The latest vrchat fix seems to be made with outdated information, ever since we got partial windows-mf support in proton the video players didn't seem to cause instability/crashing (renaming youtube-dl was old news before this update). I do worry that this will "fix" will cause problems after we get full windows-mf support with evr biult into proton. Can confirm that avatars still sometimes fail to load in after the latest update. I do appreciate that the devs are attempting to give us linux users some support tho, hopefully this means a linux port or proper proton support is on its way.

the video players didn't seem to cause instability/crashing

IIRC, a while ago, VRChat pushed an update that was supposed to address crashing on platforms without proper Media Foundation support.
The crash also effected some versions of Windows 10 and Windows 7 [specifically, I believe it was the N versions].

That seemed to fix it for the most part, although there was still occasionally crashes until the latest update. The latest update seems to have been made with the thought being "it doesn't work anyways-- just turn the entire system off for now." I'm assuming that it's trivial to turn it back on at a later date if Proton gets Media Foundation support that is functional enough to make VRC work properly.

linux port

The way they worded that update gives me hope.

We don't officially support Linux as a platform just yet, but we hope this will hold you over 🐧

The way they worded that update gives me hope.

It would be so great if it was native. I don't have much hope because there was a canny post a while ago that Tupper made suggesting they would one day try to switch to Vulkan. Eventually he closed it because it was impractical.

https://vrchat.canny.io/feature-requests/p/vulkan-support

Using Vulkan would offer very few benefits for a huge amount of work, including (but not limited to) the requirement of re-uploading every single bit of content that has ever existed on VRChat.

I'm guessing for similar reasons it would also make switching to opengl impractical so being forced to stay with directx means never any native port.

I mean, a Linux port bundled with dxvk would be fine and easy to do. I run the game on my windows duel boot using dxvk, purely out of spite for DirectX

The latest vrchat fix seems to be made with outdated information, ever since we got partial windows-mf support in proton the video players didn't seem to cause instability/crashing (renaming youtube-dl was old news before this update). I do worry that this will "fix" will cause problems after we get full windows-mf support with evr biult into proton. Can confirm that avatars still sometimes fail to load in after the latest update. I do appreciate that the devs are attempting to give us linux users some support tho, hopefully this means a linux port or proper proton support is on its way.

I based disabling the Stream Player around recent reports from Linux users in the community and confirming by directly testing VRChat in Proton itself in Linux (I installed Pop OS onto a spare ssd specifically for the purpose). My testing actually shows that Youtube-DL operates properly through Proton, successfully returning the URL needed to play a video, the video players themselves are what fails. The Unity Video player fails gracefully, simply not playing the video. Meanwhile, the stream player (based on Unity plugin AVPro) crashes VRChat due to the failure, thus I opted to add a check that disables it when running through Proton. This effectively makes it easy for me to know when I can re-enable it, as when Windows MF starts working in Proton, the Unity Player will start working, and thus I'll know to test if the stream player also started working.

I have looked far into the youtube-dl issue; running it with the same Proton context as VRChat gives me an error, which I presume is the one stopping VRChat; I'd have to re-do the entire thing to actually figure out what it is. A more proper method is probably to not crash when it is encountered (ie check for the youtube-dl console output).

On the other hand, if one were to rebuild youtube-dl somehow (i tried to do this but could not for the life of me figure out how) it could be made to work without requiring MF, and it would also completely bypass the issue you were having on a few W7 machines.

There is some chatter on youtube-dl's Github about Python 3 wrappers, and if you wanna go the distance, maybe packing the executable in-house would help.

That, or figure out how to tell the .exe in Proton to call native youtube-dl.

I, frankly, have no idea what you are talking about. Youtube-DL does not utilize Windows Media Foundation, as it does not play videos, it merely resolves the true URL of the video and downloads it. The download functionality is not even used in VRChat. VRChat simply passes the result URL to either the Unity Video Player or the AVPro Video Player. Again, in my testing, this operation is performed without a hitch: a result URL is generated and passed back to VRChat, with the VRChat debug logs showing the result. Errors show up at the point that the Unity Video Player or the AVPro Video Player attempt to use the URL to play a video, with AVPro generating a crashing exception that I ultimately was unable to try-catch.

Also, VRChat is designed around the fact that Youtube-DL can be unreliable. If Youtube-DL has a problem, Youtube-DL should crash, and the video players will not be get a url, which they have a case programmed for that simply skips even initializing in the first place. Thus, if Youtube-DL was crashing, VRChat would not. This is why deleting Youtube-DL would appear to stop the crashes on Linux: its absence results in no url, which results in the video players never initializing in the first place.

@Icekhaos Youtube-DL is definitely not the issue, I made a small wrapper which I had running instead of the bundled Youtube-DL to see what the input and output was, there were no issues there at all and it was functionally working fine. I also tried injecting different options to download different encodings / video sizes which didn't change anything. The only thing I noticed was that Youtube-DL wasn't called with youtube-dl.exe as argv[0], but youtube-dl doesn't seem to care about that. I also manually built youtube-dl as exe with a newer python 3.7 version, which also did not change anything.

The only problem there is is the video playback. (which is probably MF related) Though for myself I had never actually the game crash, I suppose it's just some rare worlds which use that other video player that crashes the game which MehStrongBadMeh mentioned. When I played I just had the video never load.

Has anyone tried the video player with GE proton? it has a couple of MF patches which might help

No dice, from my testing.

I did test a couple months ago and it didn't work, however that was only in desktop as for some reason I can't seem to launch any VR game in GE proton, game just closes straight after launch and steam says its "Validating".

In relation to the bloom/lighting bug, DXVK 1.7.2's changelog notes:

Added workarounds for rendering issues on AMD drivers in some Unity Engine games.

I wonder if this fixes the bug?

Screenshots

Screenshot from 2020-10-07 21-34-01
Screenshot from 2020-10-07 21-30-45

Doesn't seem to have made a difference sadly.

Incidentally I'm running with:

~/.local/share/Steam/steamapps/common/Proton\ 4.2/proton

not 5.0 as it seems to crash it.

This issue sounds familiar.

Can someone try with d3d11.enableRtOutputNanFixup = True in dxvk.conf ?

Tried dxvk.conf in the installation directory with d3d11.enableRtOutputNanFixup = True

Can confirm it fixes the bright light issue in worlds with bloom. Thanks.

It hasn't helped with the weird colours issue.

Just confirmed that d3d11.enableRtOutputNanFixup = True in dxvk.conf, placed alongside the VRChat executable, does seem to fix the bloom bug.

Tested with Proton 5.13-2.
Mesa info:
Device: AMD Radeon RX 5700 XT (NAVI10, DRM 3.39.0, 5.9.0-1-amd64, LLVM 11.0.0) (0x731f)
Version: 20.2.2

Also seems that the broken colors in Midnight Rooftop are fixed, but that could be from upgrading my Mesa, upgrading Proton, or the nanfix line.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

lucifertdark picture lucifertdark  ·  3Comments

kforney picture kforney  ·  3Comments

shanefagan picture shanefagan  ·  3Comments

leifmetcalf picture leifmetcalf  ·  3Comments

matou68 picture matou68  ·  3Comments