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?
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...
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.
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.
Nothing extracted yet.
Your system information
4.15.0-54-generic [#58](/issue/ValveSoftware/SteamVR-for-Linux/58)-UbuntuPlease 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: