Closed XenoPL closed 8 months ago
If it can help with anything, looking at alvr stats page I've noticed streaming bitrate constantly bounces between almost 0Mbps and +1Gbps regardless of set rendering and transcoding resolution. While under windows it stays around 200-230 Mbps where rendering res being set to Pico4 native 2160 and transcoding using scale to 1.8
I tried a mission that had light clouds in it - as a previous experience with heavy clouds made me suspicious. This time I was able to fly through the clouds without much flickering at all ( one brief flicker every 3 or so seconds when light). I did experience occasional periods with almost continuous flicker. Also, when hitting Esc to bring up the translucent resume/exit box the headset would stay blank/grey. The display on my monitor would be fine.
I pulled up the advanced frame timing and was able to see a correlation between the blanking and the reprojected as well as doubling of the yellow area indicating Idle time ( which I understand happens when Interleaved Projection kicks in ). I'll refer to it as "idle jump".
When the mission starts my headset is grey until the first idle jump after which it is grey only during the "idle jumps" themselves.
A bit of internet searching reveals that flickering was a fairly common problem before Async Reprojection was introduced. Note: Async Reprojection is disabled on my setup as it causes a black screen. I don't experience this flickering with any other games.
In the attached BMS2.png the large "idle jump" yellow areas are where I pressed esc to show the exit menu. You can see that the shorter "flickers" were rare (in this particular case).
Hardware: CPU: Ryzen 5 5600G M/B: ASROCK B550M Pro4 RAM: 64GB GPU: NVIDIA GeForce RTX 3060 Ti/PCIe/SSE2 Driver Version: 4.6.0 NVIDIA 535.86.05 VR Headset: HTC Vive
Software
Distribution: Devuan GNU/Linux 5 (daedalus) (64 bit)
Kernel: 6.5.8
Steam Beta Branch: Steam Beta Update
Steam Version: 1706390103
Steam Client Build Date: Sat, Jan 27 1:58 PM UTC -08:00
Steam Web Build Date: Fri, Jan 26 12:26 PM UTC -08:00
Steam API Version: SteamClient021
Proton: GE-Proton8-22
Previously tried Proton 7.0-6 which worked with flickering as well. I'll have to re-test.
My process to get BMS in VR running was:
I was able to install BMS (after running Falcon once to get the 429530/pfx dir ) via:
STEAM_COMPAT_DATA_PATH="/media/ssd2/SteamLibrary/steamapps/compatdata/429530/" WINEPREFIX='/media/ssd2/SteamLibrary/steamapps/compatdata/429530/pfx/' wine './Falcon BMS_4.37.4_Full_Setup.exe'
Then to run the BMS program I went into the Steam Properties for Falcon4 and set the Launch Option to:
bash -c 'exec "${@/common\/Falcon\ 4.0\/falcon4.exe/compatdata\/429530\/pfx\/drive_c\/Falcon\ BMS\ 4.37\/Launcher\/FalconBMS_Alternative_Launcher.exe}"' -- %command%
Note: bash -c 'exec "${@/search/replace}"' -- %command% So here we replace the falcon4.exe with the BMS Alternative Launcher !
cd '/media/ssd2/SteamLibrary/steamapps/compatdata/429530/pfx/drive_c/Falcon BMS 4.37/User/Config/'
echo "set g_nVRHMD 1" >> 'Falcon BMS User.cfg'
Startup Steam and SteamVR
then ran BMS and in the launcher went to:
configure -> hardware -> activate vr support
Applied, ok'd back to launcher and hit launch.
I'm actually running from command line now after getting steam to spit out the debug/non-debug scripts using an additional Launch Option: PROTON_DUMP_DEBUG_COMMANDS=1 PROTON_DEBUG_DIR=$HOME which writes the scripts into $home/proton_yourname
Thanks @JJones780 I think we're onto something. Here if game is able to hear fps close to 72 I can see proper picture, with just flash once per few seconds. If framerate drops it worsens. Funny thing is here render FPS show well past 100FPS, but sim/general fps seem to be anywhere between 40 and 75. Could it be game is throttled by VR runtime, but due inefficiency in stream encoding or elsewehre in VR stack it constantly misses 72 refresh rate.
I saw someone solve a flickering problem that was due to a mismatch in audio settings between their PC and SteamVR... so an interrupt etc. hiccup elsewhere can throw off the VR timing.. shows that it doesn't necessarily have to be a horsepower issue. But yes.. intriguing. Maybe I'll take the time to learn how to do a GPU trace soon to get more hints. Do you have Asyn Projection on your AMD system? The mention of fallback to interleaved reprojection was here and it seems to be up-to-date? Other research seem to indicate interleaved isn't around anymore... or maybe it is and only comes into play where the newer reprojections aren't available? If so then this might solve itself when the newer reprojections are further refined and available for nvidia ( and AMD) on Linux. I also see mentions of OpenCompose - but I'm not ready to go that route yet as it seems a bit unrefined on Linux.
Here audio is not the culprit, with recent OS update, I couldn't connect to the headset with audio on, so 'till this prolem is fixed audio is not going to be routed to the VR device. WRT reprojection setings, in per-game sttings there's "Legacy reprojection" switch, if set to ON I see grey wall no matter what. If set to off,fps timing must be below 11ms to show correct picture, despite I've set my refresh rate to 72Hz which would give ~13ms. It's a pity SteamVR for Linux is in a such sad state.
Just for a note, SteamVR 2.4.1 didn't fix this issue.
Update on the issue: Proton 9.0 beta11 kinda fixed the issue, no empty frames even when frame pacing goes down to 14.7ms, enabling legacy reprojection seem to be fine too and brings frame pacing to about 11ms. Image quality seem to be good. However there's one issue, motion tracking is quite jerky. Even if I try to sit still just looking in front of me, camera is very unstable, pov is constantly jumping. Can't say for sure but it doesn't seem to be much related to dropped frames and frame timing. Camera shakes could occur even if bar graph could be all green and frame timing was less than 10ms. Also there were some single dropped frames, yet I don't notice any camera movement at that moment.
If this one could be fixed I'd call it perfect as perfect seem to be more stable than under Windows.
I'm getting a big single color view in my headset again with recent changes to SteamVR (?). I'm trying a few things but thought I'd ask if you've had a similar experience with the latest SteamVR Beta?
Latest I've tried is 2.6.2, but I've also moved to 4.37 update 4. No problems with empty frames due latency, but picture is distorted.
I finally got the new full install downloaded and reinstalled over a fresh compatdata/429530/. It gets stuck in super slow-mo until focus is taken away... I seem to think I should remember a solution for that? When input focus is away ( really hard to get it going this way but I persisted ) it has perfect visuals and afaict it's performant. I'll try reinstalling again but if this scenario rings a bell please comment. BTW: The problem is with Nvidia and my upside-down 4k tv but others might run into it if Force Composition Pipeline is turned ON in their nvidia settings.
Describe the bug Falcon BMS 4.37u3 running in VR mode correctly shows UI in headset, but once player enter 3D world (actual gameplay) headset display goes solid grey. VR companion window on monitor shows correct 3Dworld, where I can see head-tracking also works. Lowering GFX quality in the game config tool (disabled shadows, environment mapping etc...) , reducing rendering and/or transcoding resolution and bitrate, using different codec to h264 or HEVC, forcing software encoder in ALVR made no permanent difference. Once on pure chance after some changes in ALVR settings headset started started to interleave empty frames with correct ones. But it only happen if I was flying training mission no. 2, in any other case picture stayed blank for whole time. Some more changes in ALVR to lower video stream quality made headset display empty frames regardless of which mission had been flown. I couldn't reproduce this behaviour with reverting changes I've made.
A clear and concise description of what the bug is.
To Reproduce Steps to reproduce the behaviour:
Expected behavior Same picture of actual gameplay should be show both on screen and in the headset, picture shouldn't flash or flicker, game shouldn't crash nor freeze.
System Information (please complete the following information): Hardware: CPU: Ryzen 5 5600X M/B MSI B550A-PRO RAM Patriot Viper Red DDR4 3733 MHz cl 17 GPU: Saphire Radeon RX 5700XT BE VR Headset Pico4 128MB
Software
Additional context In non-VR mode game runs fine, very stable with good (close to Windows native or better) performance. Looking at game internal FPS counter and ALVR stats, performace should be good enough for this game to meet headset refresh rate. It also runs fine on the same computer, but using Windows10, windows version of ALVR and Steam/SteamVR Other VR apps, both Linux native: StimulaXR, Locomancer and Windows apps: GoogleEarthVR show no such issue.
At least one more user experiences similar issue, see JJones780 entries in this report: https://github.com/ValveSoftware/Proton/issues/3991
Note: Commenters who are also experiencing this issue are encouraged to include the "System Information" section in their replies.