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

Tracking not smooth and a little delayed. #21

Open
leinardi opened this issue Feb 24, 2017 · 97 comments
Open

Tracking not smooth and a little delayed. #21

leinardi opened this issue Feb 24, 2017 · 97 comments

Comments

@leinardi
Copy link

leinardi commented Feb 24, 2017

Your system information

Please describe your issue in as much detail as possible:

When you move your head around it is noticeable that the tracking of the HMD is somehow delayed and not smooth. This is especially clear if you have tried SteamVR for Windows before.
Also the tracking of the Controllers seems to have the same issue: it looks like the position is being interpolated/approximated and the movement isn't smooth and instantaneous like on Windows.

This issue is really annoying for the HMD because it makes the experience really unpleasant and, after a while, nauseating.

This happens with any linear combination of AsyncReprojection and AllowReprojection (both on, both off, only one of them on).

It is most noticeable while playing some game like Destinations or SteamVR Tutorial but, to me, it is also clear inside the SteamVR environment.

Steps for reproducing this issue:

  1. Start SteamVR
  2. Look around and focus your attention on static items like the chaperone bounds
  3. Start Destinations or SteamVR Tutorial
  4. Repeat step 2
@odensc
Copy link

odensc commented Feb 24, 2017

Can confirm, the controllers have ghosting as if they're interpolated. Also the headset movement is delayed, which makes me sick after a few minutes. It's like the world moves around you, instead of you moving around the world.

@Plagman
Copy link
Member

Plagman commented Feb 24, 2017

Performance and latency aren't currently expected to be optimal when a VR application is running, but should be comparable to the Windows version in the default SteamVR environmnent. Is anyone seeing subpar performance when no application is running?

@odensc
Copy link

odensc commented Feb 24, 2017

@Plagman The SteamVR environment works great - it's a night and day difference vs the tutorial.

@leinardi
Copy link
Author

leinardi commented Feb 24, 2017

@Plagman I first noticed the issue in the SteamVR environmnent, from the first time I started it. Isn't obvious as in Destinations or SteamVR Tutorial because is mostly an empty space but, if I turn my head looking at the chaperone or a lighthouse, I feel that something is wrong.

@serk7
Copy link

serk7 commented Feb 24, 2017

yes, at steamvr enviorement works correctly, it's when a application is running that delay appear, as more consuming more delay. At serious sam i have a huge delay at tracking, more than tutorial.

@aronschatz
Copy link

@Plagman I can confirm this is happening on my system, too. The tracking is noticeably slower (or it is my perception as slower). I've noticed this delay in the SteamVR environment from time to time, too... But it happens in every application, period.

@serk7
Copy link

serk7 commented Feb 25, 2017

I tried updating my kernel to last 4.9 and disabling desktop effects on kde, but still the same.

@kkriehl
Copy link

kkriehl commented Feb 26, 2017

@Plagman I can confirm the tracking inertia. It appears in every application (including really simple Unity scenes) except the empty default environment of SteamVR. After loading a custom 3D obj-based SteamVR environment (for example the Rick and Morty garage) the latency get's noticeable there, too.
Since the delay seems to be the same everywhere, I guess that it is not dependend on the application performance itself and maybe lies somewhere in the tracking data pipeline. The latency is not present in the display mirror (Chaperone grid and Unity scenes move synchronously and align perfectly) and only inside the HMD.
Also, the Chaperone bounds are never lagging. This feels similar to the the latency problem with UE 4.12.

@aronschatz
Copy link

The March 6th build of SteamVR makes this much worse for me. I'm running the .13 Nvidia driver, too. Now, the steamVR environment really shows this much worse.

@aronschatz
Copy link

The March 10th build seems to be moving in the right direction. The SteamVR environment still lags (noticeable when moving your head up and down, less so when right to left, but it is much better than before.

@ghost
Copy link

ghost commented Mar 18, 2017

I'm noticing this with the March 16 build as well, especially if you stand still and wiggle your head a little -- the delay is considerable enough to generate nausea (in the StemVR environment). In the SteamVR tutorial, the delay is exaggerated even more so. Running Ubuntu 16.10 x64, Nvidia GTX 980ti w/ 375.27.13 Vulkan proprietary drivers, Unity 7.5.0 desktop environment, Linux kernel 4.8.0-39-generic.

@thestr4ng3r
Copy link

I still experience this issue. Performance seems fine, but everything is noticeably delayed. Running Linux Mint 18.2 (based on Ubuntu 16.04) with Cinnamon, NVIDIA Driver 384.69 with a GTX 1080.

The delay happens everywhere including chaperone bounds, SteamVR Home and the standard SteamVR environment.

@leinardi
Copy link
Author

@Plagman Any news on this issue? it's been 7 months already :'(

@VantageVR
Copy link

@Plagman I've recently tried to get SteamVR working on my Linux machine and have been experiencing the same issues as described above: the SteamVR tutorial is nauseating (only the default VR environment is smooth). Some details about my machine: Ubuntu 17.04, Quadro P4000 graphics with NVIDIA 387.34, SteamVR [beta].
I also have a Windows machine running SteamVR which does not have this problem. There I noticed that the GPU frame timing is ~5ms while on my Linux machine it is ~13ms. Maybe this points to the issue.
Any help would be much appreciated! Thanks.

@phiresky
Copy link

phiresky commented Sep 3, 2018

Same problem here. Nvidia 396.54 (GTX 980 Ti Strix). SteamVR Build Aug. 7, 2018 at 19:52 Version 1533664367 on Arch Linux (kernel 4.18.5-arch1-1-ARCH). Basically unusable without getting a headache within 5 minutes. No issues on the Windows version.

@Vash63
Copy link

Vash63 commented Jan 15, 2019

I can no longer reproduce this for quite some time now.

@thestr4ng3r
Copy link

No, the issue is still present. Since my last comment, I have switched distribution, used many different nvidia driver and SteamVR versions, but not a single time I did not experience a delay in tracking. And since everything is proprietary and closed source I see no way to debug this myself. Here is a system report from SteamVR: SteamVR-2019-01-15-_09_49_59.txt
I could imagine many users wouldn't even notice the delay, but it is definitely there and makes SteamVR absolutely unusable.

@JustHereForThisOneThing

SteamVR user for two years on Windows. Finally took the plunge and installed it on Ubuntu 18.04. I immediately noticed what felt like a full frame of latency vs. the Windows experience I'm very used to.

CPU: Ryzen 7 2700x
GPU: RTX 2080 ( 410.57 )

I'm not on the Beta branch, but the entire Ubuntu/Steam/SteamVR/Nvidia installation is entirely new from this weekend. My timing graph stays flat at 6-7ms, with plenty of headroom. It's just a persistent, tiny delay at the beginning and end of every head movement that isn't present in Windows and seems unrelated to actual performance.

@Pyrarrows
Copy link

Same issue here as well, after some time head movement will have a slight delay which is extremely uncomfortable.
CPU: Ryzen 7 1700
GPU: RX Vega 64
Kernel 5.0.2-steamvr-generic
Currently on Steam Beta Branch & SteamVR Beta Branch

@Vash63
Copy link

Vash63 commented Nov 15, 2019

Update to this, now that the tearing bug is fixed ( #196 ) I can once again reproduce this. It seems whatever was done to fix the tearing (vsync?) brought back the latency. This is with an Nvidia 2080 and the drivers that fixed the gsync tearing, 435.27.07

@tizzir
Copy link

tizzir commented Dec 15, 2019

I have also noticed this regression, although in my case it appears to be from upgrading from NVIDIA drivers 440.36 to 440.44, which also fixed the gsync/steamvr combo tearing, albeit in a different driver branch, if I understand correctly.

From what I remember, when I was experiencing tearing in the headset with the previous driver, the portion of the screen above the tear seemed to occasionally have the same level of latency as I experience with the newest driver, but the portion below the tear always had latency on the same level of Windows (that is, noticeably lower latency). I'm not sure why this would be though, especially if frames are being rendered from the top of the screen downward...

I have also noticed that I can make the latency go away for a bit by opening the SteamVR dashboard or causing frame drops in the VR application. But every new frame drop has a chance to reintroduce the latency again.

@Vash63
Copy link

Vash63 commented Dec 16, 2019

I noticed the exact same symptom regarding the tear where the area below the tear was very responsive and fast. I'm also seeing something similar where sometimes the latency is better than others, seems to come and go between SteamVR boots or opening and closing applications, even with the same applications.

@edwin-v
Copy link

edwin-v commented Mar 3, 2020

Any news on this one? It still happens in now with 1.10.21 and the 440.59 driver and it makes VR completely unusable.

Edit: it does still seem to be fixed by turning off gsync.

@TreeOnFire
Copy link

TreeOnFire commented Jul 19, 2020

Ran into this issue using the following:
Pop!_OS 20.04 LTS,
SteamVR 1.13.10,
GTX 1080Ti (driver 440.100).

Switching to 120Hz has stopped there being a visual delay between movement and display,
(original being 90Hz).

@tizzir
Copy link

tizzir commented Sep 5, 2020

@edwin-v Unfortunately, I don't seem to observe the same behaviour. I get the roughly the same amount of latency increases whether or not I have Allow G-SYNC/G-SYNC Compatible enabled in the Nvidia control panel.

@duckbytes
Copy link

duckbytes commented Oct 30, 2020

Sorry to bump an old topic. Are there any updates at all for this problem? Proton works so well now that I'd be so glad to play VR on Linux but the latency is headache inducing. It appears like any fixes posted in this thread are nvidia specific.

I'm on up to date Arch with kernel 5.9.1-zen2-1-zen #1 ZEN SMP PREEMPT Sun, 18 Oct 2020 02:45:20 +0000 x86_64 GNU/Linux
mesa 20.2.1-1
5700XT gpu
3700X cpu

@tizzir
Copy link

tizzir commented Oct 30, 2020

No updates as far as I'm aware. I'm still hoping for a fix at some point... Or at least a better idea of what's causing the issue. Even with a Nvidia card I haven't had any luck with fixes mentioned here on recent drivers, except for being able to temporarily fix the latency issue by inducing a frame drop (such as by opening the SteamVR menu in-game.)

With this temporary fix, games like Beat Saber become quite playable. I can play multiple levels before I see any latency issues, and when I do, I just open and close the SteamVR menu.

Games like Hot Dogs, Horseshoes, and Hand Grenades have more frequent frame drops on my GTX 1070, however, so I'm required to open and close the SteamVR menu fairly frequently to mitigate latency issues that occur.

Overall, the latency is less of a deal breaker for me, and more of a mild annoyance.

@duckbytes
Copy link

I've tried with the patch a few times and definitely see an improvement with this specific problem and don't see it getting better or worse after doing certain things. I'm using an AMD card instead of Nvidia. Could it be there are graphics card specific problems that are different to what the hidraw patch addresses?

I still experience other performance problems while using VR. #269 this issue seems to be the best description of what I still get.

@ParzivalWolfram
Copy link

ParzivalWolfram commented Oct 11, 2021

I tried the kernel patch but it did not solve the issue for me, not entirely at least. When I start up SteamVR and load into the empty environment I don't notice the delay. Turning on the controllers (Valve Index) sometimes causes the delay, and starting a game usually causes the delay. What I also noticed is that when i changed the background in the empty environment, the delay suddenly got really bad, probably 80+ ms and changing the background back doesn't fix it.

I'm running Fedora 35 (beta) with kernel 5.14.9 (with the hidraw patch and low latency desktop config option) My GPU is a GTX 970 and I'm using the 470.74 proprietary NVIDIA driver.

This is probably just due to the fact that you're using a GTX 970, which is a card from 2014... the background issue is weird, but the game latency issues would be normal for this GPU.

@Pjottos
Copy link

Pjottos commented Oct 11, 2021

No that's not it, I can play many games including Half Life: Alyx just fine on windows. The rendering is still smooth on linux, but it looks like it's using the HMD transform from some amount of frames ago.

@ParzivalWolfram
Copy link

ParzivalWolfram commented Oct 11, 2021 via email

@Bitwolfies
Copy link

Sad the kernel patch hasn't gone anywhere since emails were exchanged (in theory), I have very strong VR legs but Linux SteamVR in general brings me to my knees.

@ChristophHaag
Copy link
Contributor

This commit in linux git master is supposed to solve the problem in a slightly different way torvalds/linux@8590222

Mailing list: https://lore.kernel.org/lkml/20211130132957.8480-1-andrealmeid@collabora.com/

@ChristophHaag
Copy link
Contributor

This commit in linux git master is supposed to solve the problem in a slightly different way torvalds/linux@8590222

By the way this is included in 5.17-rc1, in case anyone wants to test and report back.

@duckbytes
Copy link

duckbytes commented Jan 30, 2022

I gave it a try the other day. It seems to be much better 👍 thank you for the work.

@charleslvalve
Copy link
Member

charleslvalve commented Jan 31, 2022 via email

@edwin-v
Copy link

edwin-v commented Feb 6, 2022

I rebuilt the hid.ko module with this patch in the 5.13 kernel (Ubuntu 21.10) and I had the left controller drop off twice after about half an hour of play. Couldn't get life back into the controller until a SteamVR restart. Has anybody tested else tested this thing patch? It might be something 5.13 related, but I don't see anything specific in this patch that shouldn't work.

@Atemu
Copy link

Atemu commented Feb 6, 2022

Loading modules from a different kernel ABI is not a good idea and can very well cause issues like yours. You need to rebuild the whole kernel with the patch backported.

@edwin-v
Copy link

edwin-v commented Feb 6, 2022

Loading modules from a different kernel ABI is not a good idea and can very well cause issues like yours. You need to rebuild the whole kernel with the patch backported.

I did an out-of-tree module rebuild. No need to rebuild the whole kernel. No worries there.

@Atemu
Copy link

Atemu commented Feb 6, 2022

Ah, sorry; I misread.

@ColdIce1605
Copy link

ColdIce1605 commented Feb 16, 2022

This commit in linux git master is supposed to solve the problem in a slightly different way torvalds/linux@8590222

By the way this is included in 5.17-rc1, in case anyone wants to test and report back.

I've been testing that kernel version.
Good News: It's a lot better
Bad News: It's still not perfect.

Edit:
Now to be clear there's a thousand other problems that could exist and just one of those causes it.

@michaelnew
Copy link

I've been able to play around with it briefly, and my experience was the same. Better, but not 100%.

@Meister1593
Copy link

Yep, new kernel changes things dramatically, but it isn't fixed entirely.
In (proton) games theres a lot less latency compared to SteamVR overlay, but both overlay and games have it.

@ImpulseTheFox
Copy link

Using the linux_1.14 beta worked for me

@Meister1593
Copy link

Using the linux_1.14 beta worked for me

it fixed delayed output?
for me it's even worse in previous branches

@ImpulseTheFox
Copy link

ImpulseTheFox commented Mar 16, 2022 via email

@duckbytes
Copy link

@ImpulseTheFox

You're referring to a different bug. Report is here: #395

@Meister1593
Copy link

Meister1593 commented Jul 14, 2022

Major contributor to this issue seems to be the global lock on hidraw devices in the kernel, specifically this mutex.

Patching this so that the lock is non-global (per-device basis) dropped my latency significantly (~50 - ~15 ms)

Hello, i was really curious on how did you manage to capture this latency? it would really help to determine the cause of the issues and would make testing new fixes much easier.

Edit: it seems like this mailing list has benchmark tool, i will use it as a reference https://lore.kernel.org/lkml/20211130132957.8480-1-andrealmeid@collabora.com/

@Kaelygon
Copy link

This might not be solution for your case, but it is worth checking if you have lib32-amdvlk installed on Nvidia GPU.

I had sluggish tracking when moving head around, a lot of the overlay menus didn't work and I had strange flickering in SteamVR.
I found out that I had lib32-amdvlk installed event though I am running GTX1080. This had happened because when I installed steam with package manager, it had defaulted to amd dependency instead of nvidia.
I had to first install lib32-nvidia-utils and then remove lib32-amdvlk
This fixed all the problems I had with SteamVR

@TiagoTiago
Copy link

This might not be solution for your case, but it is worth checking if you have lib32-amdvlk installed on Nvidia GPU.

I had sluggish tracking when moving head around, a lot of the overlay menus didn't work and I had strange flickering in SteamVR. I found out that I had lib32-amdvlk installed event though I am running GTX1080. This had happened because when I installed steam with package manager, it had defaulted to amd dependency instead of nvidia. I had to first install lib32-nvidia-utils and then remove lib32-amdvlk This fixed all the problems I had with SteamVR

I'm not seeing either of those packages available to install or uninstall; what's your distro? (I'm on Mint)

@Kaelygon
Copy link

Arch linux, I forgot to mention that.
I also spoke too early, after reboot I started having SteamVR issues again, although removing amdvlk did fix the menus but the flickering and sluggish head tracking came back.

@kimabjorkede
Copy link

Running [linux_1.14] seems to help a lot. It could still be improved.

The SteamVR home-menu seems to not be working on this build, though.

I have nvidia drivers 520.56.06.

"enableLinuxVulkanAsync" : false helped with the flickering that sometimes happened.

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

No branches or pull requests