protonscr

Tracking and/or framerate slow/choppy with Valve Index even though settings claims an 11 ms frame time

steamvrclosed
ValveSoftware/SteamVR-for-Linux#211 · opened 2019-07-13 by interfect · updated 2019-07-15 · 5 comments · github
Iinterfect 2019-07-13 github

Your system information

  • Steam client version (build number or date): June 17 2019
  • Distribution (e.g. Ubuntu): Ubuntu 18.04
  • Graphics driver version (run nvidia-settings): amdgpu as shipped in kernel 4.15.0-54-generic [#58](/issue/ValveSoftware/SteamVR-for-Linux/58)-Ubuntu
  • Gist for SteamVR System Information: https://gist.github.com/interfect/5f229daa2c0bbbcfe61ade59b32faa16
  • Opted into Steam client beta?: No
  • Opted into SteamVR beta?: No
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

I just got a Valve Index. If I disable all but one monitor, and extend the desktop onto the Index, with it theoretically positioned to the right of my screen, I can get the vrcompositor on the Index and see things in VR. However there is a problem with the tracking.

The tracking seems to be accurate, but it is either slow or somehow offset from the rendering. It's not so noticible with translation, but it is quite noticeable with rotation. As I turn my head from side to side with any speed, the edges of objects get a sort of double-vision effect. I perceive both their old positions and their new positions at the same time, with the net result being that everything is doubled until my head stops moving.

I think this might just be an effect of low framerate. My eyes are tracking where the object ought to be if it were real, so they're slewing smoothly across the screen, but the image is moving in steps, so I see the image jump forward to catch up with and then lag behind my eye at a consistent frequency, so it ends up looking like double vision. It's definitely not a rendering artifact, because it doesn't show up in screenshots. If y'all can recommend a screen recorder tool, I can try and take a video.

But the SteamVR settings window shows a consistent-ish frame time of just over 11 ms, which is what I expect for a frame rate of 90 Hz. It also reports that the Index is running at 90 Hz.

I've tried adjusting the refresh rate on the Index in Ubuntu's display properties. Changing it away from 90 Hz to 80 Hz or 120 Hz seems to make the problem worse, and the SteamVR settings page still claims that the Index is running at 90 Hz. My main display is at 60 Hz; is it a problem to have displays with different refresh rates?

I'm also doing all this not in Direct Mode. I gather that Direct Mode might need a different kernel? I tried the Experimental Graphics PPA, but that resulted in the rendering-in-blocks effect I mentioned in https://github.com/ValveSoftware/SteamVR-for-Linux/issues/202#issuecomment-504779993, and moreover the compositor wanted to show up on my main screen instead of the Index. I didn't play with it much to try and fix that.

Has the Index been tested on SteamOS? Am I likely to get a better experience there versus tinkering with kernel PPAs on Ubuntu?

Steps for reproducing this issue:

  1. Get an Ubuntu 18.04 system, an AMD RX580 GPU, and a Valve Index.
  2. Log in with X11 (not Wayland).
  3. Hook up the Index to the computer.
  4. Make sure you have your main 1080p display on the HDMI output at 60 Hz, and the Index arranged to its right, with the desktop extended onto it, at 90 Hz.
  5. Open SteamVR Home.
  6. Turn your head side to side. Note the weird double vision at the edges of objects.
  7. Consult the frame timing chart in the SteamVR settings. Note it holding steady at ~11 ms even while this is happening.
SSlickMcRunFast 2019-07-13 github

I see something similar on my Ubuntu 18.04 64bit, nvidia 2070 super. I found that the Advanced Frame Timing shows for me WaitForPresent Spin and New Poses Ready as the spikes.

What do you see?

CChristophHaag 2019-07-13 github

not in Direct Mode

X11 desktop compositors like gnome-shell are quite bad at handling a monitor and a HMD. The performance with desktop compositors is one of the reasons vendors pushed for direct mode, which bypasses the desktop entirely.

For extended mode, you should get a much better experience when not using compositing. gnome-shell/mutter only supports compositing and I believe it gnome-session doesn't support replacing the window manager, so you'd have to log in with a new session with xfce with disabled compositing, kde with disabled compositing, openbox, fluxbox or the likes.

Hopefully direct mode with the experimental ppa starts working for you soon...

Kkisak-valve maintainer 2019-07-13 github

Some of your trouble with direct mode may be related to quirks in amdgpu.dc in the 4.15 kernel, which improved and stabilized a few kernel releases later.

Llostgoat 2019-07-15 github

As mentioned above by @ChristophHaag , when using extended mode the system compositor will introduce some frame latency we are unable to control.

Initially, extended mode was provided as a workaround until video drivers were available that supported direct mode. Now that direct mode is available, extended mode should not be used.

Llostgoat 2019-07-15 github

Closing this issue and we can discuss on #202 why you are getting the weird block artifacts.

Nothing extracted yet.