Heyo, I’m not sure how long this has been an issue on Linux for, but it would seem that there aren’t any FFMPEG executables for Linux, and that may be causing that issue.
I’ll update this post if I find some logs to give proof that it doesn’t work.
My current distribution is Kubuntu 22.04.1 LTS (Ubuntu but using the KDE plasma desktop environment).
Update: I should probably update this now that I and many other people in the comments have figured it out.
Check out this reply for a complete guide on how to get video players working completely. (Thank you Dakiny!!)
^TLDR on this one: Manually install SpookySkeleton’s or GloriousEggroll’s custom Proton-GE.
I can give a few things why I think why video players don’t work in linux;
AVPro doesn’t support linux playback on hardware, and the youtube-dl.exe binary that is shipped with VRChat doesn’t run on the official version of proton.
Let me know if I put in anything incorrect or if I should add on to this
I can vouch for this problem as well. I’ve experienced this problem on both on Kubuntu 22.04 and the Steam Deck. I thought I saw a fix for this in older patch notes, but there obviously still seems to be some issues. Just know you’re not the only one.
Can confirm that this still happens in the newest vr chat build, using steam deck beta os and tested with multiple proton versions, experimental, 7, GE7-54
I’m getting a black screen from videos with no audio.
Any updates on this situation? Any fixes or workarounds?
In my case (on Mint btw), I can use video players to stream audio, but they return an error when trying to play video. This is incredibly frustrating because I can’t even participate in most club events, which are half the reason I’m on this game.
Update: I’ve installed all the related codecs and libraries I could think of, disabled vsync and set the avpro launch option but nothing has changed. I’m going to keep researching and trying things until it works.
Alright, after two days of messing around I’m beginning to understand what’s up. All info for this issue is scattered around github and protondb etc. so I’m gonna post all relevant stuff I’ve gathered here for accessibility. This is my experience on Mint, but should be relatively universal advice for popular distros.
VRC no longer uses youtube-dl, they now use the AVPro player which needs to be emulated alongside the game. Add
‘gamemoderun %command% --enable-avpro-in-proton’ to your Steam launch options. (also may need ‘–disable-hw-video-decoding’ which diverts decoding to the software, but not always necessary and can cause other bugs.)
The latest Proton-GE (make sure you get it from the official github!) is recommended as it includes fixes that can resolve player issues. (Videos didn’t work until I installed it.)
Make sure you have the latest wine (9.0+) AND latest winetricks installed. Use the winetricks dll installer to get all the DirectX/DirectShow/Windows Media Framework/Virtual C++ and related video/audio libraries. Use winecfg to set their priority to native->builtin. (I don’t know how much of this is necessary. This is just to ensure maximum compatibility.)
Make sure you have all the GStreamer, FFMpeg and LibAV libraries including RTSP for native compatibility.
At this point, AVPro players should seamlessly load Youtube videos. I’m still unable to load RTSP streams (VRCDN etc.) but am scouring for info that can help with patching it.
Hope this helps for now! I’ll be back if I figure anything else out on my own.
You sure on that? I haven’t checked recently but the way it used to work is that yt-dlp is used to get a direct video link, specifically to a combined mp4 file with audio and video. Due to regular changes in websites in general the yt-dlp.exe that VRChat hands out is checked at least once every session.
yt-dlp can suggest a change to the URL given to avpro, is my understanding of how they work together.
My bad, you’re right. I set up a log last night and saw yt-dlp being used. I guess the major difference is how yt-dl is implemented in the mix now(?) I’m just going off random info from threads…
But!.. While reading over this github thread again
(VRChat (438100) · Issue #1199 · ValveSoftware/Proton · GitHub) I literally just noticed something I must have glossed over a few times. There is a legit well-maintained fork of Proton-GE with an RTSP patch. (Releases · SpookySkeletons/proton-ge-rtsp · GitHub)
Also, it looks like using MPEG-TS instead is the solution. Hopefully, club owners/MCs will pick up on this and everyone will be able to enjoy music events equally in the near future!
Post 1 of detailed guide to Get VR working with Video Players on Linux.
(New posters can only post 5 links and I registered simply to post this.)
Install KDE Plasma Desktop (Linux Mint)
Note: this doesn’t seem to matter. Many guide say you MUST use KDE but I’ve gotten this working with Linux Mint Cinnamon default GNOME.
I don’t Gnome give it a try without then in doubt install? ٩(^‿^)۶
To install KDE Plasma on Linux Mint, run the following command:
sudo apt install kde-plasma-desktop
After installation, log out, and choose KDE from the session options at the login screen.
Ensure Correct Drivers
YOU MUST USE PROPRIETARY DRIVERS. don’t bother trying use the Open source ones - it will not work. Trust me I tried. That said please feel free to prove me wrong, I wish they did work!
Go to Menu > Control Center > Administration > Driver Manager.
Select the correct driver for your system.
Headset Setup in Developer Mode
Your VR headset must be in Developer Mode for some configurations. Follow this YouTube guide.
Installing ALVR (for Streaming VR to the Headset)
Follow this YouTube guide for installing ALVR.
If you can’t find ALVR in the apps, note that it’s hidden under “Unknown Sources” after the Quest software v54 update. To locate it:
Go to the “Search apps” bar.
Click on the search bar and pull down the “All” menu to find it.
Set Steam VR Beta:
Open Steam VR Properties > Betas and choose SteamVR Beta Update.
Let it update and restart Steam.
See Next Post- this tutorial was split as I’m unable to post more than 5 links.
This forum seems to think code is links. (゚ヮ゚)
------------>
SPECIAL NOTE FOR VIDEO PLAYERS. <—
Video players issue have nothing to do with alvr, it’s proton not working properly with video players if you want proton that works with video players, use GE-Proton9-11-rtsp15
Best Configuration Recap: <— YOU WANT THIS ONE. ヽ(゜∇゜)ノ
works in VR with working TV.
If you jumped to this comment but are installing everything for first time see first post above ^
Otherwise here is the best working setup! Enjoy!
If Vrchat plays now GREAT. Now check a video player.
If videos aren’t working in VRChat, you need to emulate the AVPro player. Do the following:
In Steam Launch Options for VRChat, (Geveral > Launch Options) add the following command:
gamemoderun %command% --enable-avpro-in-proton
while this setup worked perfectly for desktop VRchat crashed while using a headset. It seems like compatability settings in Vrchat changed.
Make sure Steam VR is not trying to update! If it is LET IT.
Run Flow (your steps to play Vrchat)
1: open Steam
2: If using Wired ALVR open ADBForwarder
3: open ALVR (it’s in your home folder)
connect headset and look inside
4 :press the notification to allow USB to connect in your headset (look inside)
5: look at ALVR. When it says Connected you’re ready.
6: Return to ALVR and press “Launch steam VR” if it shows. You can also launch steam Vr manually, but this way you can see if ALVR is connected easier.
7: Wait for ALVL to connect ALVR IS WIRELESS BY THE WAY.
Special mention USB/wired Setup for ALVR
ALVR Wired With USB Setup
open Home > abd forwarder
open terminal
drag ADBForwarder into terminal
what you want to see
Platform: Linux
ADBForwarder started.
ADBForwarder
Connected device: (numbers and letters)
Successfully forwarded device: (same numbers and letters)
cool! don’t close this terminal.
go to Home > ALVR Launcher. Open ALVR Launcher with clicking.
press launch
Make sure steam is open > press Launch Steam VR
Do not skip this step. ALVR Wired will not work if you skip this.
Switch the connection streaming protocol to TCP in Settings > Connection.
If your headset is detected, click “Trust.” Click “Edit”, “Add new” and change the IP address to 127.0.0.1
Some guides show a . at the end! do NOT add that! (☉‿☉)
127.0.0.1 NOT 127.0.0.1. ← no period.
If your headset is not detected, click “Add device manually” and use the IP address 127.0.0.1 Use the hostname displayed on your headset screen.
You should be able to set the IP manually from Add Device Manually, looking in headset and setting the number where the XXXX is then clicking add new and setting 127.0.0.1
In my case I could not get ALVR to connect this way. I picked Trust from the detected device then tried to edit the IP.
For some infernal reason adding manually was not working. it was connecting via qifi relentlessly! this was fixed by
clicking edit, setting the IP to 127.0.0.1 clicking Add New setting THAT to 127.0.0.1
clicking save, closing ALVR and clicking edit where it now only had one IP.
Odd. Strange. Worked.
Permission Denied?
Two possible causes for this
1:(one time setup)
ADBForwarder (home > ADBForwarder (folder) or ADBForwarder
ALVR Launcher (home > alvr_launcher_linux> (folder) file ALVR Launcher
doesn’t have properties (tab) > permissions (tab) allow executing file as program (checkmark) selected.
2: you have ALVR open already, close it.
Anti cheat errors
just close Vrchat > and reopen. If keeps happening Close Vrchat AND CLOSE STEAMVR OR YOU WILL GET STUCK IN FOREVER UPDATESgo to properties > Installed files > Verify Integrity of Game Files
after its done make sure Compatibility did not change!
8: Start Vrchat
Open Vrchat from steam and choose launch with VR
(ノ◕ヮ◕)ノ*:・゚✧
Final notes
Where are my photos?!
/Home/.local/share/Steam/steamapps/compatdata/ANUMBER/pfx/drive_c/users/steamuser/Pictures/VRChat
When you get to
/Home/.local/share/Steam/steamapps/compatdata you will see quite a few folders. Do a search in this folder for Vrchat because the camera images are saved VRChat this will let you see which folder has your camera images. Once you find it favorite that folder.
Laggy? Crashy?
turn off Anti Ailisaing.
Graphics Quality > Anti-aliasing
Some worlds I set it to 2x but its usually off. SO MUCH BETTER.
Cups of coffee consumed while testing, crashing, crying and making this guide 26
Time and effort 2 months. Hope it helps you!!!
₊·◟(˶╹̆ꇴ╹̆˵)◜‧・
Script To Launch Faster!
I’ve been playing with a script to get everything to work faster.
Intended for when it all works manually, this will save you so much time having to open all the things Linux requires to play.
Requirements
Python Should be installed?
Note! you use python3 for linux.
Tinker
apt-get install python3-tk
1: save the code as whatever.py (example startvr.py)
2: go to properties > permissions > check “allow execute file as program”
When you want to play
1: open a terminal in the directory
(for mint just left click where it is > open in terminal)
2: type python name.py example python vr.py
3: press enter. you will see a box pop up with buttons!
4: click RUN ALL
it’s going to try to open ADB forwarder (assuming wired)
then open ALVR Launcher
Then open Steam VR
Then Open Vrchat
All in one click
And if something gums up the buttons are there to open each item individually.