Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] [Regression] Overlay Wobble/Jitter/Artifacting introduced in 1.15.X #395

Closed
2 of 3 tasks
mcoffin opened this issue Oct 7, 2020 · 72 comments
Closed
2 of 3 tasks
Labels

Comments

@mcoffin
Copy link

mcoffin commented Oct 7, 2020

Description

Starting with SteamVR 1.15.X, overlays (via IVROverlay from a game client, and the "system" overlay displayed when you hit the "system" button on the index controllers), wobble, as if they are attached to the HMD with a rubber band. If you move around enough, there will also be significant artifacting ocurring in the overlays (though it's a little harder to induce with the system overlays compared to the IVROverlay instances created by ACC).

This only occurs when asynchronous reprojection is enabled.

Reproduction Steps

Steps to reproduce the behavior:

  1. Launch SteamVR 1.15.2
  2. Open system overlay
  3. Move your head around

Expected Behavior

The overlay should stay static in space, and not have artifacts, as it did in SteamVR 1.14.16.

System Information

  • Distribution: Arch Linux (amd-staging-drm-next kernel - f24cd554aacf4e989a0796c7d30d758115512732 rebased off of v5.9-rc6 from Linus' tree with rebased futex patches from mcoffin/linux@mcoffin-5.10-futex-wait-multiple, but this behavior is observed on stable channel kernels as well)
  • Exact kernel (though likely non-factor since reproducible on stable channel as well) - mcoffin/linux@7d4ad53
  • SteamVR version: 1.15.2 (working: 1.14.16)
  • Steam client version: Built: Sep 3 2020 at 21:18:20
  • Opted into Steam client beta?: No
  • Graphics driver version: Mesa 20.2.0 (git-663d464366) (ACO), AMD Radeon RX 5700 XT (NAVI10, DRM 3.40.0, 5.9.0-rc6-1-amd-staging-drm-next-git-00457-g3637df487bdb, LLVM 11.0.0). Mesa versions down to 20.1.4 were also tried, with no change in behavior. Regression still occurs between 1.14.X and 1.15.X.
  • Gist for SteamVR System Information: https://gist.github.com/mcoffin/bc4460030a4414e8929c78e252a80766
  • CPU: AMD Threadripper 3960X

Additional Context

A cpu profile with sysprof shows a significant amount of time being spent in clock_gettime compared to "working" versions. (~10% of samples for ACC with it open!). This could indicate a busy-wait somewhere that's misbehaving?

Mesa 20.2.0 released a whole bunch of RADV features for timeline syncobj's, and I chased down that path for a while, but observing the same behavior with previous mesa releases ruled the timing of this release out as the issue.

Under normal operation, I'm running a pretty hefty GPU overclock, and setting the min frequency to quite close to the max to achieve livable performance, but disabling this (clean boot with no writing to sysfs), did not affect the observed behavior in any way.

Screenshots

Unfortunately, overlays are only displayed in the HMD for me, so I cannot capture this behavior, though I can look in to alternative solutions if upstream developers cannot readily reproduce the issue.

In-progress debugging

  • Hook up a 2070 super from my GF's computer to see if the problem is isolated to amdgpu/mesa interactions with SteamVR
  • Downgrade mesa pre-timeline-syncobj implementation (result: no change)
  • Use stable kernels (result: no change)
@mcoffin mcoffin added the bug label Oct 7, 2020
@mcoffin mcoffin changed the title [BUG] Overlay Wobble/Jitter/Artifacting introduced in 1.15.X [BUG] [Regression 1.14.16 .. 1.15.2] Overlay Wobble/Jitter/Artifacting introduced in 1.15.X Oct 7, 2020
@mcoffin mcoffin changed the title [BUG] [Regression 1.14.16 .. 1.15.2] Overlay Wobble/Jitter/Artifacting introduced in 1.15.X [BUG] [Regression] Overlay Wobble/Jitter/Artifacting introduced in 1.15.X Oct 7, 2020
@mcoffin
Copy link
Author

mcoffin commented Oct 8, 2020

New note: This only occurs when asynchronous reprojection is enabled.

@Zamundaaa
Copy link

Same here.

System Information (please complete the following information):

  • Distribution: Manjaro KDE
  • SteamVR version: 1.15.2
  • Steam client version: 1602115886
  • Opted into Steam client beta?: yes
  • Graphics driver version: Mesa 20.1.8 (LLVM 10.0.1)
  • SteamVR System Information: SteamVR-2020-10-09-PM_03_08_42.txt

@WebFreak001
Copy link

WebFreak001 commented Nov 3, 2020

can reproduce:

Distribution: Arch Linux (5.9.2-zen1-1-zen)
SteamVR version: tested 1.15.2 - 1.15.5 (worked in 1.14.16)
Steam client version: Built: Oct 28 2020 at 23:35:02
Opted into Steam client beta?: Yes
Graphics driver version: Mesa 20.2.1 on AMD Radeon RX 5700 XT (NAVI10, DRM 3.39.0, 5.9.2-zen1-1-zen, LLVM 10.0.1)
Gist for System Information: https://gist.github.com/WebFreak001/8fe9ab2ad916efc11a42c483fb6b44b5
SteamVR System Information: https://gist.github.com/WebFreak001/35b7e824996ec98d763bb6978a74f2c7
CPU: AMD Ryzen 7 1700X

@duckbytes
Copy link

duckbytes commented Nov 18, 2020

I have this problem too and now that the beta has been pushed into the main release branch it can no longer be avoided by opting out of the beta.

Distribution Arch Linux
Linux 5.9.8-zen1-1-zen #1 ZEN SMP PREEMPT Tue, 10 Nov 2020 22:44:06 +0000 x86_64 GNU/Linux
mesa 20.2.2-2
AMD 5700XT
AMD 3700X

Edit: the problem also effects xrdesktop windows.

@hex3562
Copy link

hex3562 commented Nov 19, 2020

Can reproduce

SteamVR version: 1.15.10
Distribution: Arch Linux
Linux 5.9.8-zen1-1-zen #1 ZEN SMP PREEMPT Tue, 10 Nov 2020 22:44:06 +0000 x86_64 GNU/Linux
Mesa 21.0.0-devel
AMD Radeon RX 580 Series (POLARIS10, DRM 3.39.0, 5.9.8-zen1-1-zen, LLVM 11.0.0)
AMD Ryzen 5 3600

@lostgoat
Copy link
Collaborator

There is a linux_1.14 branch available in SteamVR as a temporary solution to this problem.

@supernovajm
Copy link

Can reproduce, but not just the overlay. Timing-sensitive games like Beat Saber felt significantly more choppy, which the fps graph confirmed.

SteamVR version 1.15.10
Distribution: Kubuntu 20.04
Linux 5.4.0-54-generic
mesa 20.3.0-rc2
AMD Radeon RX 5700
AMD Ryzen 5 3600

@kedodrill
Copy link

There is a linux_1.14 branch available in SteamVR as a temporary solution to this problem.

@lostgoat Could I ask what are the details for the system that Valve uses for testing SteamVR on Linux? It has been awhile since there has been a Linux update, specifically for performance. Are there things specifically preventing Valve from getting SteamVR working with good performance (close to / matching Windows) on Linux?

@anadon
Copy link

anadon commented Jan 12, 2021

I'm hitting something that may or may not be related.

https://gitlab.freedesktop.org/mesa/mesa/-/issues/4044

@WebFreak001
Copy link

@anadon what you are experiencing might rather be related to #377 (which for me happened because of different vulkan driver)

check the solutions I posted there to see if that fixes it for you

@anadon
Copy link

anadon commented Jan 12, 2021

@WebFreak001 Nope, different pattern in the specific details for visual corruption, and much different characteristics around how problems emerge. I'm guessing for yours there is an implementation error in Vulkan in your driver. I think for mine it has to do with the memory allocater and/or use before initialization and/or erroneous overwrite of allocated memory. My preview also differs from what I see, where your steam preview matches what you see. I've already fixed a conflicting drivers issues that was amdgpu-PRO related a few weeks ago, which I needed to do to get VR working at all.

@steffenWi
Copy link

steffenWi commented Jan 21, 2021

Would like to confirm that doing this fixes the 'wobbly'-ness as stated initially by @mcoffin

SteamVR version 1.15.19
Distribution: Arch Linux
Kernel 5.10.8
Mesa 20.3.3
AMD Radeon RX 5700 XT
AMD Ryzen 5 2600

@ominitay
Copy link

Has been stated at the top of the thread. Unfortunately, we are best of sticking around with 1.14 until Valve fixes this.

@steffenWi
Copy link

Has been stated at the top of the thread. Unfortunately, we are best of sticking around with 1.14 until Valve fixes this.

Yes, though while mcoffin wrote what caused it, it wasn't explained how to turn it off. The source that I found and linked is also bit old and I was not certain that it would still work.

@ChristophHaag
Copy link
Contributor

Because it has not been mentioned: This affects OpenXR quad layers too.

@happysmash27
Copy link

I get this issue too. Initially I created a separate issue for it, but it turns out it's the same as this one.

  • Distribution: Gentoo Linux, kernel 5.9.14-gentoo with the newest Mesa drivers pulled from Git and LXDE.
  • SteamVR version: 1.16.6
  • Steam client version: Dec 20 2020, 23:07:25
  • Opted into Steam client beta?: For SteamVR, yes. If you mean Steam itself, no.
  • Graphics driver version: [run nvidia-settings or vulkaninfo | grep driverInfo:
    Mesa 21.0.0-devel (git-ecac89b732) (ACO)
  • Gist for SteamVR System Information: https://gist.github.com/happysmash27/b0365a9032d5a2ca2c68517c990394b0

I also recorded the issue through the lenses of my HMD: https://happysmash27.me/Upload/Screenshots/Videos/Bugs/SteamVR/VID_20210204_050848.webm

@mcoffin
Copy link
Author

mcoffin commented Mar 10, 2021

Just to chime in on this one guys, in my experience of only about 6months and ~1300hrs of usage, I've seen that the asynchronous reprojection implementation in SteamVR on Linux is mostly unusable, especially when compared to the stability of the performance achievable with some manual resolution tuning and just keeping it disabled.

While I originally disabled it to fix this issues, I've seen many other performance benefits to just keeping it off, and I'd recommend other performance-sensitive folks who's hardware isn't going to fall behind do the same for now. There's little reason to stay on 1.14 just to save the ability to use a feature that doesn't quite cut it to begin with.

@ominitay
Copy link

Just to chime in on this one guys, in my experience of only about 6months and ~1300hrs of usage, I've seen that the asynchronous reprojection implementation in SteamVR on Linux is mostly unusable, especially when compared to the stability of the performance achievable with some manual resolution tuning and just keeping it disabled.

While I originally disabled it to fix this issues, I've seen many other performance benefits to just keeping it off, and I'd recommend other performance-sensitive folks who's hardware isn't going to fall behind do the same for now. There's little reason to stay on 1.14 just to save the ability to use a feature that doesn't quite cut it to begin with.

I'll try that out then, since my hardware is on the low end of VR users (RX 580 8GB, R5 1600X). Thank you for telling us all!

@Zamundaaa
Copy link

Async Reprojection causes problems because of #269. If you have low end hardware then you're likely gonna be throttling most of time anyways, then disabling it isn't a good idea (I can't have it off in Boneworks or Blade&Sorcery for example, with a 5700XT. They just stutter too much without it).
For stuff like Beat Saber that always runs at max refresh rate though it does improve the experience a good bit.

@duckbytes
Copy link

I too experience a lot of headache inducing stuttering with a 5700XT if async is disabled. I'm not so keen to reduce the resolution because it makes it difficult to read text. Are there other tweaks that can make disabling async usable or is reducing resolution the only way?

@mcoffin
Copy link
Author

mcoffin commented Mar 10, 2021

I'm currently running a 6900XT, but I spent the last year on the 5700XT @duckbytes and @Zamundaaa. I found a few tricks that DRASTICALLY improved the experience.

Even though it may seem like you're throttling, sometimes, what's happening is that during the downtime between frames, the 5700XT will downclock to a lower power state, causing just enough lag on the next frame to temporarily trigger throttling before it clocks back up, does a few frames quickly, and the whole process repeats.

By setting the minimum sclk speed to something relatively high, I was able to completely stabilize my experience, even in ACC, which is a notoriously GPU-intensive game, especially in VR. I was able to run at 90Hz with no issue.

If you want to give it a whirl, here were the settings I was using all year. You may have to tweak some things due to silicon quality and cooler quality (I had a custom liquid loop, so lots of thermal mass to absorb spikey power consumption).

sclk_min: 1950
sclk_max: 2210
mclk_min: 700
mclk_max: 903 # my memory sucks. you might be able to do better than this
power_limit: 300000000 # This means 300W - at 300W often other limits are reached before the card hits this limit, which keeps the clocks as stable as they can be so long as your cooler can handle it
voltage_curve:
  - 750mV @ 800MHz
  - 912mV @ 1450MHz
  - 1230mV @ 2210MHz

Note that the voltage curve can still have points on the curve below the actual minimum sclk frequency, which makes it easier to adapt.

In some titles, I had similar problems on the CPU side, but I'm not as familiar as I didn't write the overclocking support on that side, so for those titles I just settled for setting max all-core frequencies, which worked out... okayish on my 3960X

sudo cpupower frequency-set -g performance

Some tools I made throughout this process (in addition to writing the reclocking support for amdgpu):

  • fanctl - powerful rule/curve based userspace fan controller. Think of it as an actually usable replacement for fancontrol from lm_sensors. Example config that has been rock solid for me: fanctl.yml.
  • amdgpu-smu-od - tool I use to automatically set GPU configuration from YAML files instead of having to do it manually with sysfs all the time. I'll attach an example config file. superclock.yml.

If you still have issues, please reach out. I spent tons of time on this over the last year, and good performance is possible. The biggest gains I saw were from drastically increasing the minimum shader clock (to prevent the downclocking), so I'd start there if I were you.

@happysmash27
Copy link

Which would be a good way to monitor my GPU clock to see if I may also be having a similar issue on my RX 480?

@happysmash27
Copy link

Never mind; radeon-profile (https://github.com/marazmista/radeon-profile) seems to work pretty well, and was in my distribution's repositories.

@duckbytes
Copy link

Thanks @mcoffin for the ideas. I want to try out these configurations but I'm hesitant because I don't know enough about overclocking to know if these are suitable for my GPU or aren't going to cause damage. Should I look up frequencies for my particular model or reduce some of the values to account for only having air cooling? The specific card I have is MSI Radeon RX 5700 XT MECH OC 8GB.

I did find some options in radeon-profile that let me fix the frequency under Overclock > Manual frequency control. I can set that to only use the highest frequency (2100, 875 on there by default) by unchecking the other options. Is that more or less doing the same thing and would help with the downclocking bug you mention? Or is there more to it?

Thanks again!

@Bitwolfies
Copy link

Still happens as of steamvr beta 1.21.6, Using EndeavourOS KDE, along with Nvidia-DKMS 495

@bblacher
Copy link

Also having this issue, the "wobbly" overlay/chaperone drives me crazy. Really hope this will be fixed in a future update.

@EquinoxTheGryph
Copy link

I can confirm this issue as well here. Disabling async does resolve the menu issues, but in turn makes turning your head in VRChat (only game I tested so far, just recently got this headset) very stuttery. Downgrading SteamVR to 1.14 results in VRChat not being able to launch, so I have to chose if I want to disable async or not in the current version.

Info:
VR: HTC Vive (headset, controllers and base stations)
SteamVR: Version 1.21.12 (1647034158)
Operating System: Manjaro Linux
KDE Plasma Version: 5.24.3
KDE Frameworks Version: 5.91.0
Qt Version: 5.15.3
Kernel Version: 5.16.14-1-MANJARO (64-bit)
Graphics Platform: X11
Processors: 12 × AMD Ryzen 5 2600X Six-Core Processor
Memory: 15.6 GiB of RAM
Graphics Processor: AMD Radeon RX 580 Series

@kisak-valve
Copy link
Member

kisak-valve commented Apr 12, 2022

Mildly off-topic, but if you're testing Proton with the SteamVR linux_v1.14 legacy branch, then the game needs to be set to run with Proton 5.13 or older, and not need Steamworks or OpenVR interfaces that are newer than what was available in February 2021 when Proton 5.13-6 was released. It's generally expected that SteamVR always provides the same or newer OpenVR API version than what's used by VR games and this legacy branch has unfortunately stuck around long enough for that caveat to appear.

Specifically for VRChat, this situation was previously pondered on its compatibility report with comments starting around ValveSoftware/Proton#1199 (comment).

@Meister1593
Copy link

Meister1593 commented Apr 20, 2022

Hello
i recently tested stable and beta versions of steamvr and had some sort of delayed/wobbly output, which makes playing some games (like beat saber) pretty much unplayable. This is all expected and i knew this happens.
On 1.14 beta branch however, it is much better. So, i have AMD_DEBUG=zerovram to remove issues with weird artifacts around my viewport and on that version (plus proton 5.13-6), beat saber works quite well and not wobbly at all. But after some time (or more like, actions), in my case - one song passed - image suddenly "jumps" (once) and it becomes wobbly. After this, there is 50/50 chance that it will snap back and stop wobble, but it is mostly random.
Overlay didn't work at all, had to launch game through desktop without hmd
I use htc vive, rx 6600 xt gpu, steam flatpak (steamvr couldn't apply something at startup and always asks about it), on fedora kinoite
Edit:
Forgot to mention that i use CoreCtrl on the background with high power profile always on because automatic profile doesn't seem to recognize gaming in general and clocks poorly

@Fl0ux
Copy link

Fl0ux commented May 18, 2022

Since the latest Manjaro upgrade, I do not have this problem anymore !

Kernel 5.17.6-1-MANJARO
Mesa 22.0.3

@Meister1593
Copy link

Meister1593 commented Jul 10, 2022

Replying to #395 (comment)

I think something is happening there on steamvr side, some logic does this...
when i had nice frametime bellow 11.1 ms (90hz) in beat saber (proton 6.3-8) i had perfect display and pretty much nothing wobbled at all. Very pleasant picture. But when i opened steamvr dashboard couple of times, frametime jumped each time and at once i had wobble effect. To remove that effect i had to again open dashboard couple of times and it will snap back into perfect display. Not sure if it's relevant, at the time i had desktop capture working (it's working only like, 30% of times out of all launches)
This is on latest steamvr beta branch, gnome xorg, fedora silverblue 36 with xanmod-edge kernel , steam and steamvr inside arch distrobox container.

I did also test out Monado + libsurvive + OpenComposite, overall not suitable replacement (for vive, tracking is not as good on regular valve drivers) but a good playground for testing out these theories. And aside from shutter, image over-saturation, incomplete bindings and barely any vr game working, it did not have that crazy wobble effect.

@Meister1593
Copy link

Meister1593 commented Jul 12, 2022

Okay not sure if that will help or not people, but: this is very likely related to usb and linkbox kindof adds even more latency.
For me connecting usb without linkbox directly significantly reduced that latency, almost to the point where it is on-par with windows (almost! about 70-80% out of what on windows)
Edit:
This however did not fix wobble effect...
It's likely more related to #21

@SpookySkeletons
Copy link

@kisak-valve
Found the crux of this issue, will take a little explaining...
https://www.pcmag.com/news/steamvr-motion-smoothing-reduces-lag-on-lower-end-pcs
https://steamcommunity.com/games/250820/announcements/detail/1696061565016280495
Comes from an official explanation of one of the valve developer.

It turns out that steamvr saves the last two frames in a buffer or at least feeds them into the encode engine of the GPU and draws out a motion vector field of the framebuffer between the last two frames and then takes this image and smears the very last frame generated to produce a frame for the vsync.

The behavior in the case of the motion vector being zero is simply to 50:50 the images as overlayed directly atop one another. This works for UI elements held in hand in the direct foreground that match the rotation of your face even on windows, it does not feel acceptable for background elements and causes split vision. THIS IS A HUGE PROBLEM ON LINUX

VAAPI/ VDPAU video APIs have always been pure jank on linux and valve did not bother to implement a solution to properly talk to the GPU to determine this motion vector field so it just feeds zero into everything, the resulting image is full of zero field info and just defaults to a 50:50 fade between the last two frames of the image which is incredibly nauseating.

Three solutions:

Go into the binary and NOOP or hard disable the function attempting to insert these hallucinated frames. Noticed words such as "halucination" around these function names. This will create a raw ATW simple motion smoothing where the image can look choppy but the viewport is smooth, much preferable.
1.14 does this and is why it looks okay!

Expose the necessary video API through the task of wiring up (ffmpeg?) an entire video encode/ decode setup to draw out vector fields from these two last images and then feed the vector field back into the hallucination functions to draw the next frame properly.

Change the behavior of the 50:50 and CUT OUT A FRAME. At least using the very latest frame will have the effect as solution 1 instead of a transparent blend.

😮‍💨👃

PLEASE VALVE FIX, WE KNOW THE ISSUE HERE
Wrap ffmpeg??? or something in the current API if you have to or at least give us the source code so we can do the job ourselves, OpenVR is in a truly rotten state and even the windows version could benefit from some eyes and contributions!

I realize your super secret headset is in development, and will natively ship linux as standalone and will require you to fix this as time permits, but its simply been years and without the necessary transparency this has been a bleeding mess thus far.

It would be nice if OpenXR was the standard, Monado was free range, and we didn't have to deal, but OpenVR is here to stay as a matter of the sheer amount of applications run atop it already so we would like some source pls!

@SpookySkeletons
Copy link

SpookySkeletons commented Sep 10, 2022

As a demonstration:
Have your application framerate capped artificially less than not equal to half the HMD refresh, then force the motion vector field to all zeros and watch what happens.
This will work under both linux and windows if you need a demonstration of how bad this issue is and how to resolve it on your end.

This has been present since version <1.14 and is in dire need of a ifndef(__LINUX) statement to repair it.

@SpookySkeletons
Copy link

Doing more digging, it looks like steamvr may handle this kind of motion interp using a dx shader for windows and a SPIR-V shader for linux!
SteamVR/resources/shaders/vulkan/
frame_hallucination_ps.spv
frame_hallucination_vs.spv

Anybody want to try deleting some of these shaders & more to see if it helps with FPS under half?
#430

If all this is handled in shaders it could be most of the shaders are just written incorrectly same as the ones rendering the OBJ files have depth buffer issues that invert the faces.

@okawo80085
Are you still willing to take a peek at any of these shaders?

@okawo80085
Copy link

@okawo80085
Are you still willing to take a peek at any of these shaders?

As soon as i get a free minute i'll check it out

@santeri3700
Copy link

@SpookySkeletons I tested running native SteamVR Beta 1.24.3 with asynchronous reprojection enabled and the mentioned files moved elsewhere (and some others on a second attempt). That didn't seem to affect anything. The overlay still works and is wobbly/jittery.

I'm willing to do more testing on AMD and Nvidia GPUs if needed (btw there is no depth buffer issues on Nvidia with proprietary drivers as far as my experience goes).

Deleted vulkan shaders:

  • frame_hallucination_ps.spv (only these were deleted on the first attempt)
  • frame_hallucination_vs.spv (only these were deleted on the first attempt)
  • motion_attenuation_ps.spv
  • motion_attenuation_vs.spv
  • motion_filter_attenuation_ps.spv
  • motion_filter_blur_ps.spv
  • motion_filter_cost_ps.spv
  • motion_filter_early_out_vs.spv
  • motion_filter_median_ps.spv
  • motion_filter_vs.spv
  • motion_smoothing_debug_ps.spv
  • motion_smoothing_debug_vs.spv
  • motionvector_cost_cs.spv

Here are some of my specs:

  • HTC Vive Pro 2
  • AMD Radeon RX 5700 XT (VR power profile activated)
  • Arch Linux with Xfce4 (X11)
  • Linux 5.19.9 (modified, 1000Hz clock freq.)
  • Mesa 22.1.7 with RADV

@mittorn
Copy link

mittorn commented Oct 19, 2022

@lostgoat

There is a linux_1.14 branch available in SteamVR as a temporary solution to this problem.

Is there any way to make new proton versions work with 1.14-1.15 correctly?

@SpookySkeletons
Copy link

SpookySkeletons commented Dec 15, 2022

Found it.
fholger/openvr_fsr@779dac6

SteamVR submits the result from the previous eye if the game uses the same texture to render both eyes sequentially.
This leads to a divergent double vision as you rotate your head. Notably this takes effect on reprojection under linux.

This can be fixed in the steamVR implementation. Just need to flag down valve for a fix here or have individual games implement it when they detect proton as a quick and dirty fix.
Scratch that this is baked into the reprojection code so valve will need to address the skewed offsets.

@ZarathustraDK
Copy link

ZarathustraDK commented Dec 22, 2022

@SpookySkeletons Are you saying that SteamVR reprojects frames from the left eye to the right and vice versa under some circumstances? If so that's quite a wild goose chase the reprojection-thread has been on for 1+ years, thinking it had something to do with delayed/premature frames being displayed to the correct eye.

But yeah, the particular offset experienced makes sense in that case. Theoretically this would mean that far away objects are less displaced than objects closer to you, no? As in switching between looking with the left/right eye will "move" a finger you're holding up in front of you further than some object you're focusing on on the far wall. If the problem was delayed/premature frames to the correct eye the reprojection offset would be uniform regardless of distance to the object.

@RinLovesYou
Copy link

Loving the radio silence, guys. Thanks valve.

@yaomtc
Copy link

yaomtc commented Sep 8, 2023

The artifacts in SteamVR (not overlays specifically) have now been fixed, see #588

I don't have any overlays set up at the moment (not sure how to, haven't used them before), can someone test to see if artifacts are fixed for overlays too?

@amalon
Copy link

amalon commented Sep 8, 2023

I can confirm on AMD RX 6700 XT, HTC vive, SteamVR 1.27.5:

  • SteamVR system menu no longer wobbles
  • SteamVR background no longer has glitchy green small square artifacts when GPU not clocked up with CoreCtrl
  • OpenXR quad composition layer (which I blindly presume is roughly analogous to IVROverlay) no longer wobbles (tested with Flightgear splash screen)

@kisak-valve
Copy link
Member

Closing per the last couple comments.

@SpookySkeletons
Copy link

@kisak-valve Underlying issue of the overlay itself actually seems to be much improved, thankyou. However I would like to add: to address other such issues under heavy load, might I make a recommendation that you verify that linux's GPU preemption is functioning as expected?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests