The Valve Index On Linux On A Min Spec Machine

By

After waiting for two and a half months, and then an eternity for FedEx, I eagerly ripped opened the large brown packing box to reveal the beautiful, black box containing my Valve Index VR Kit. As it turns out, nothing makes you want to escape reality like 2020. And at last my time had come.

With a cat (in mid-scratch) for scale, you can see the heft of the Valve Index VR Kit box.

What follows isn’t fully a review or guide, but a mixture of my initial experiences and criticisms as a completely new to VR owner of the Valve Index. And this being Boiling Steam, and since I only use Linux, I’ll be relaying what it is like to set up and use the Index on Linux today. Oh, and I just barely have the minimum specs Valve lists. This will be interesting…

(A much more complete history, guide, and everything VR coming soon from our new writer Patola. Be on the look out!)

Before getting into the details, let’s appreciate the clean (and secure!) packing Valve has done, with wonderful presentation of all the components in the full kit. (For $1,000 it is the least they could do.) You lift up the top layer, like a box of holiday chocolates, to reveal more underneath. And you know I am a sucker for boxes.

After opening the box you see all the goodies: head mounted display, controllers, and base stations.
In the bottom layer you have lots of cables, the base station mounts, and foam padding for the headset, if needed for smaller heads.

Setup

The basic setup is pretty easy, just follow Valve’s guide. As the Index is not a wireless headset, there’s quite a few wires to handle: the HMD (head mounted display, aka where the magic happens) has one thick cable that turns into a USB 3, DisplayPort, and power connector (that then connects to a small power brick with its own cable); there are 2 lighthouse base stations (tracking) to be mounted, each with a power cable and brick; the controllers each have a USB C charging cable (but no power adapters). My old Nvidia GTX 970 having but one DisplayPort complicates my setup a bit, but more on that later.

The base stations, used for tracking the HMD (your head) and controllers, are ideally placed above your head height in opposite corners and angled down. For my quick initial setup I had one on a shelf about head height, while the other was around waist high. As Valve’s FAQ notes, you don’t need perfect positioning for it to work well. My first setup had no problems, and later I mounted one higher on the wall, while the other is still on a shelf for now. I do want to mount this one as well, as bumping the base station will require doing the room setup again to have the proper orientation of your play space. The actual tracking still works fine though. The included cables had enough length for me to route around the edges of the space to a power strip, too.

A base station mounted just above head height on the wall. Valve includes the needed mounting hardware.

On the software end, downloading SteamVR is about all you need to do there. On this step I got an error that the setcap of vrcompositor-launcher failed, which of course I ignored. I later had some errors of missing lib32 libraries for video decoding acceleration, though I tend to have a lot of lib32 for games already. That seemed to be for using Big Picture mode within VR, though I’ve used Big Picture before without issue. Not sure if either caused other problems, but I did fix it later.

Audio is not handled through SteamVR but through whatever you use on your desktop, in my case just pavucontrol. And if your graphics card and computer is like mine, there are a ton of possible outputs, so took a little guessing to figure out the correct one for the DisplayPort in use. I also thought the audio was very loud and distorted, but that’s because at the default max volume for this output it is way too loud and clips. Turning it down to 30% was all it needed.

Then you are off and running! Well almost. There’s room setup if you want to move around (yes, please). My space is just at the minimum required, 2m x 1.5m (6.5ft x 5ft), which I’ve found to be adequate for what I’ve played so far. There’s a few things to adjust for comfort as well, with the rear size of the headset, top strap, IPD (eye separation), and lens to eye distance (field of view versus comfort). As a note, I found the “advanced” room setup easier, as you just need to bring a controller to each corner, rather than tracing out the full perimeter.

The HMD in the box, pristine. Soon it may get a little sweaty.

Turn it on! Hmm… a “direct display mode” warning, which turns out is a false alarm on Linux (see the Known Issues on the SteamVR for Linux GitHub). I also at times got the display on my monitor rather than the headset, but that’s on my end (more later). But basically it all works right away, after some unplugging, replugging, and maybe a restart because of my display issue I’ll go into detail about later.

Not bad at all to get it set up on Linux! The Index is supposed to support Linux, so it is still disappointing to have some rough spots. But if you want native support, I think this is your only game in town.

Initial Impressions

Time for the big moment, the first time putting on the HMD and seeing the SteamVR Home, a sort of house or home base for Steam in VR.

What it looks like as you enter VR with the Valve Index.

First, some context: I have never used VR before, other than perhaps a minute with a museum exhibit (some flyover where I couldn’t see much). Besides that and 3D movies/TV, I had previously owned an Nvidia 3D Vision monitor with shutter glasses that I had trekked all over Tokyo to buy back in 2012. And that was certainly cool, to sit at my desk and see games like Batman: Arkham Asylum come alive and pop out of the monitor. I wasn’t sure what VR would entail; I found it hard to imagine it before finally owning the Index. I just kept thinking of the same old flat images.

In other words, I wasn’t sure if I’d be blown away or disappointed.

The best way for me to sum up my initial feelings upon putting on the Index is that you are just there. There was as sense of place and space where there had been none before. Rather than oohing at things popping out of a screen like in the theater, or feeling like I was going to fall over, I just felt like I was someplace else. More than magic, it felt real in a way that something flat never can.

The view from the large terrace outside the default SteamVR Home. (The Home screenshots were taken from the desktop using the option to display the VR view. In-game screenshotting has not worked for me.)

This was most jarring when taking off the HMD and suddenly feeling trapped and confined: I was back in my small living room, the vaulted ceiling entirely too close compared to the vast openness of feeling like you were actually outside. Exiting was more disconcerting than entering VR.

That’s not to say that it was realistic or like the real world. My first impressions were also that the resolution felt low (partially my settings and underpowered computer), with distracting aliased lines, and sometimes lens reflections. I’m used to the high resolution displays of phones, tablets, and my 4K monitor. The Index is not that. You won’t immediately forget these are screens in front of your eyeballs, though I quickly noticed that less and less.

Nonetheless, the field of view is impressive, not like looking down a tunnel at all. Sure, you lose some peripheral vision, but not enough to be distracting for me. I wish there were more pixels in the display, but my computer is already begging for less. I’m excited to see what things will look like with a more powerful graphics card, as you can then render at a higher resolution and downscale (supersampling) as well as run at a higher refresh rate.

Inside your "home" you can set up displays of Steam (friends, games, etc.) and display some virtual goods.

Another thing I was worried about, having never used VR before, was motion sickness. Would I want to barf as soon as I put on the HMD? Would a very expensive gadget become a gateway to losing my lunch instead of to new worlds? I’m not very prone to getting motion sickness, whether on boats, reading in cars, or roller coasters. The exception is god forsaken spinning rides (looking at you, teacups and flying saucers).

So, I put on the headset and took it for a spin, literally. I’m happy to say that my stomach couldn’t care less if I was in VR or not. I can’t compare to other headsets, but at least for me the combination of refresh rate (even at only 80 Hz right now), resolution, responsiveness, and tracking work seamlessly for me. The only time I’ve started to feel anything is if the display freezes or severely lags and I’m moving my head. The sense of the world staying glued to your eyes rather than rotating is not comfortable, and I could see that causing nausea very quickly. This has happened when trying out Elite: Dangerous and The Lab at times, as they have been a bit slow and crash on me. I close my eyes and let it pass, usually making a quick exit. But generally I’ve been staying away from demanding games and have not had any problem.

The knuckles controllers. The adjustable strap to keep it attached to your hand seems obvious, but makes it intuitive to use.

Speaking of tracking, besides the HMD tracking, the knuckles controllers work very well. Positioning, with the base stations set up on opposite corners, is smooth and accurate, with the controllers using a 2.4GHz wireless connection. The controllers usually appear as floating hands, but are themselves are represented when you are in the barren holding area waiting for a game to load. Here they are fully rendered, complete with the buttons, triggers, and analog sticks you can see move as you use them physically (nice touch Valve!). Fingers can individually be opened or closed, and this works well in the few spots I’ve had to try it. Otherwise opening and closing your hand works well for grabbing, and the controller straps keep it securely attached without needing to hold on at all times. Buttons, triggers, thumb touch pad, and analog sticks work well, but haven’t needed to use them much.

Similar to the overall tracking and presence in VR, the audio positioning on the Index is superb. Rather than headphones, it has small speakers that sit just off your ears. After lowering the volume so it wasn’t blasting and distorted, the quality is pretty decent. I haven’t listened to music on them (besides during Beat Saber), but for games works well. The sense of having them more like speakers than headphones is a nice step for immersion. The positioning of the audio is great, hearing bullets whiz by in Superhot VR, or being able to lean closer to an audio source and have it get louder just like in real life.

Beat Saber, where you slice and dice blocks with the music, and dodge floating walls.

While the initial setup did not take long, now that I have everything set I can jump into VR with just about a push of a few buttons: I swap some display cables, power on the base stations (power management not supported on Linux currently) and controllers, and then hit the SteamVR button in Steam. The cable coming out of the HMD has not been a problem, though I haven’t done much where I need to move in all directions and to all corners of my (small) play area. I do like to have someone around when I’m playing since I have stairs nearby, but never came close to them with Steam’s built in chaperone system letting me know visually when I come to the edge of my area. The HMD is comfortable, though can get sweaty if moving a lot in a game like Beat Saber, and I don’t have any fatigue issues with the display or other discomforts. All in all, a great experience.

Your virtual home in Superhot VR, where you use floppies to load levels and then don a virtual reality headset (virtual virtual reality).

Performance

I can sum up the performance on my computer (Intel i5-4690K, 24 Gigs of RAM, and an Nvidia GeForce GTX 970) as…it works, mostly. I’m not going to be playing fancy VR games on this thing until at least a better GPU, though with the pandemic, demand, and limited supply of the newest (and older, even) GPUs, it’ll be a while.

So I have SteamVR turned down to the lowest refresh rate, 80 Hz, with no supersampling and not rendering at full resolution. Resolution is actually determined by SteamVR (not sure if this changes on the fly) and according to the logs is running at a target of 0.7x full resolution. Even turned down, I’m typically averaging about 47% reprojected frames in Beat Saber and around 27% in Superhot VR.

Reprojection is basically what it sounds like: the computer couldn’t complete a new frame in time for display, so a previous one is redisplayed rather than dropping the framerate. This might be done with motion smoothing (interpolating between frames, similar to tech used in TVs) or other techniques to approximate changes due to your motion. This can help with a smoother framerate (it always displays something on time) or juddering and perceived latency, but in the end is a guess or approximation to the real thing.

The performance graph in the SteamVR status window is nearly all orange, meaning frames are being reprojected (without motion smoothing). Pink is missed frames, while green is what you want to see (rendering the frame in time).

(Note that motion smoothing (and asynchronous reprojection) are not currently supported by Nvidia drivers on Linux, but only on AMD’s. This is why you see the performance graph showing only reprojection without motion smoothing on my Nvidia 970. Async reprojection will help provide a much smoother experience, especially with demanding games or weaker hardware, and its lack of support from Nvidia so far is (another) reason my next graphics card will be from AMD.)

This works fine for slower paced and less demanding games, like Superhot VR (plenty of aliasing though) and Beat Saber. Although Beat Saber at higher difficulties, with more notes and timing being important, does require some reflexes — the occasional stuttering or just not accurate display is becoming a hindrance.

Issues

I had some technical issues early on which mostly seem to have gone away, perhaps from updating to the SteamVR beta, as well as updating all the firmware (except base stations, which you cannot from Linux, still), and maybe making sure Arch was up to date. The issues I had included crashes and even full system lockups, and also needing to unplug, replug the headset or restart SteamVR when things wouldn’t work. Now everything works smoothly, not a crash or other major issue after that first day or so. Probably I just had to listen to those earlier error messages, and not keep powering things on and off in attempts to fix it.

A minor issue is the desktop feature of SteamVR, which lets you see and interact with your desktop from within VR. At first this didn’t work, and then later had it flipped upside down. Recently it actually works, perhaps in an update (or maybe after I installed the very useful OVR Advanced Settings, which is open source on GitHub). I haven’t used it much, but I can see it being useful to check something on the computer without taking off the HMD and controllers.

The SteamVR Home is fully customizable with furniture, art, and more. There are also many user made environments from video games, real homes, or even Mars.

Another is the cameras on the front of the Index not working in SteamVR. The cameras (one for each eye) are fine in Linux, as I’m reminded anytime I fire up a video program and see the double display out the front come up as a camera. But as of yet it doesn’t work within SteamVR, where it can be used as a pass through to see the (real) world around you.

One persistent issue I have is due to my 970 and using a 4K monitor. For this older hardware I have to use DisplayPort to get 4K at 60 Hz, and there is but one DisplayPort on my 970. So what this means is that I have to switch my monitor over to HDMI (at 30 Hz) to use the Index, and then swap back for regular desktop usage. Not a huge deal, except some combination of 970/Nvidia, the older Dell monitor, and whatever software, means that the monitor is not automatically detected on the DisplayPort once I plug it in again.

This actually seems to be a more widespread problem that has nothing to do with the Index (or even Linux necessarily), but with some monitors, graphics cards, and whatever else. Lots of searching has not turned up anything definitive, but let me contribute what I cobbled together and seems to work (most, but not all, of the time):

xrandr --newmode "4K" 533.250 3840 3888 3920 4000 2160 2163 2168 2222 +hsync -vsync
xrandr --addmode DP-0 4K
xrandr --output DP-0 --mode 4K
## switch to virtual terminal, i.e. Ctrl-Alt-F2
## switch to DisplayPort input on monitor which should display the terminal
env DISPLAY=:0 xset dpms force off; sleep 5; env DISPLAY=:0 xset dpms force on
## switch back to X, i.e. Ctrl-Alt-F7

The modeline to add can be found ahead of time with xrandr --verbose or using a tool like cvt or gtf (see the Arch wiki). Sometimes, though, I just need to power cycle the monitor or unplug and replug some cables. I hope this is just this older hardware, and probably solved, like everything else here, with a new GPU that has more DisplayPort outputs.

This also helps fix, for me, the problem of the VR display appearing on the monitor rather than in the HMD. I just do the last step, without the env DISPLAY=:0 needed, before running SteamVR (or exiting if it is running) and it usually sidesteps the issue. Otherwise resetting the headset can help (in the developer options of SteamVR).

Finally, my real problems are just having an underpowered rig. Aliasing is too common, though once I turned down the refresh rate, so that the (dynamic) rendering resolution would presumably be higher, this has been better. The 80 Hz refresh is fine, though I’ve heard 120 or 144 is a nice jump in smoothness and sense of persistence of the world. I believe it. I can’t wait to see the Index at full power.

A Few Games

While I’ve been buying up a few games, and I have Half-Life: Alyx as you get it when buying any part of the Index kit (except just the base stations), I’ve only played a few until I get that elusive GPU upgrade. A few quick thoughts on what I’ve played in the first few weeks. These were all through Proton, and flawlessly so for the first two.

Superhot VR

In a word: Very. Cool. Okay, two words. If you’ve played the non-VR version, you already know how it makes you feel like you are living an action movie. The game mechanic of time moves when you do is much more literal in VR and works extremely well. You really are in the action when playing Superhot VR.

Dodging bullets and shooting the red guys.

Dodge bullets and watch them go by, like you are in the Matrix, grab guns out of enemies’ hands, punch them, throw objects, all done with your actual body and hands. The sense of space is key here, as you know exactly if that bullet is about to hit you in the face or if you can reach that object, which is something I found iffy in the pancake (non-VR) version. The haptic feedback of the knuckles controllers, combined with being able to keep your hand open without dropping it, makes for nice interaction in grabbing something. It adds a bit of realism to have your hand empty and then close it around a gun or bottle in the game, while you simultaneously grab the real controller (rather than just using a held trigger, for example).

Being able to reach out and pluck weapons from the air, or an enemy, is seamless in VR. The gun in the air on the right side will be very handy.

It is all very impressive, a lot of fun, and might even get you a little leg workout if you like squatting low to dodge bullets (and holding it as you slowly move to control time). The game itself is a bit short, and can be a little repetitive as when you fail a section you start the whole level over. Still, as you get better you feel that much more like a badass in taking down room after room of those crystal red enemies. There is an endless mode, which I’ve only tried a little of, but that lets you compete for high scores and is a nice addition for longevity. Superhot VR was recently updated with another endless level and new scoring system, with a holiday theme. I’d still love more levels.

Beat Saber

What’s VR without Beat Saber? I have to admit, I was a little dubious of getting a rhythm game. I was convinced within seconds of playing it though.

This screenshot is from a 3rd person view (on the desktop) using the CameraPlus mod.

It is just simple fun: you have two lightsabers and swing them to cut blocks with the music. Easy to pick up, but limitless in mastery with more notes and faster speeds. There is a vibrant community online with tons of maps for songs in a range of genres, from metal to anime theme songs to pop favorites. On top of that, you can get a really decent work out: my watch tells me I burn about 300 calories in just 30 minutes (in the range of a casual hour long walk) now that I’m playing faster, tougher songs.

Get a great song (I’ve been loving “Final Countdown” by Europe, “Bright Eyes” from Blind Guardian, anything Linkin Park, and hey even “Toss a Coin to Your Witcher”) with a good map and it is just so much fun. You feel like a combination of a Jedi, drummer, and maybe even a dancer. Beat Saber is a perfect fit for VR.

Others

I’ve tried a little of Valve’s free VR demos, The Lab, but have not been able to play it much. It lags too much to play, though I was able to try a few demos at first. Load times are also long. It is a popular set of minigames, and I look forward to trying it with a computer upgrade and any Proton problems smoothed out.

Elite: Dangerous is frequently recommended as a top notch VR experience, and is the only sitting game I’ve tried much of. It does indeed seem like a great fit, sitting in the cockpit of your spacecraft and being able to look around at the stars and ships. Unfortunately performance has not been very good for me, though would be playable at the lowest settings if it didn’t crash after some time (5 minutes or 20, seems random). I also need a joystick (or better yet, a HOTAS) as with a keyboard and mouse it is too easy to turn the wrong way from what your brain is expecting. Works better with a controller, but the crashing has kept me from playing much, unfortunately.

I’ve also briefly tried viewing virtual reality YouTube videos using the open source vr-video-player, but found them pretty low resolution on the Index’s display. Perhaps there are better videos, but I think that is something better suited to things like Google Cardboard viewers.

vr-video-player is also useful if you want to play games on a giant virtual screen within VR (or put anything on that screen). I can see this being nice if you only have a smaller monitor and no large TV or projector nearby. You won’t want to play text heavy games with the limited resolution, as you won’t be wrapping that virtual screen over your entire field of view, limiting your available pixels. You can even play games that had stereoscopic 3D, like those Nvidia 3D Vision games, with the help of SteamTinkerLaunch (see the side-by-side in VR section) or add effects to plain 2D games by injecting shaders like Depth3D. For stereoscopic games I only had Trine (a side-scrolling puzzle platformer) to try. It looked good except the depth was backwards and I didn’t try to fix it. For shader injection, I just quickly tried Grim Dawn (an excellent top-down action RPG), which worked quite well and added some nice depth. With enough text, I wouldn’t play it this way for too long, but it showed me this can work easily and is a cool effect.

Games I’m looking forward to, once I get a new GPU, include Skyrim VR, No Man’s Sky (and Star Wars: Squadrons, if it works), and of course Half-Life: Alyx. I’ve yet to really play an immersive game like these, which I’m hoping will be another big jump in my VR experience. Luckily there are so many top titles that work well under Proton in Steam.

The Future

VR headsets and setups still have a while to go: better resolution, trade-offs between wireless and performance, body tracking, overall performance from computers, and cost. The Index is great, but there’s no getting around the cost of $1,000 for the full kit (less if you just need or want only some parts). Add on any upgrades your computer may need, and it is still an expensive hobby on the high end. There are more affordable headsets, but you may have to literally sign over your soul (hi, Facebook). There will always be better and cheaper to come, but I don’t think we’ve hit that sweet spot yet of massive uptake and content. The Valve Index still takes at least weeks or months to get in the US, but I don’t think that is reflective of massive demand so much as supply shortages.

For me, it is that second part of the cost I’m still facing: getting a new graphics card. That has been a rather obvious theme through my experiences above, and the main limiting factor of using a computer built in early 2015 for the demands of today’s VR. I don’t want to think of it as a magic bullet, but I think the increased performance will make a huge difference. I can’t wait for higher resolution and refresh rate for smoother graphics and being able to play much more intense games.

Either way, whether you have a recent gaming computer or not, the high end of VR is pricey. Whether or not this is affordable or worth it for anyone is a hard call, and I’m still very much in the honeymoon phase of a new tech toy. I’m fortunate to be able to afford it, and am justifying it with all the reduced spending on things like travel this year. There looks to be plenty of high quality content, and games that people can endlessly play like Elite and Beat Saber. I’ve already racked up more hours each day than I normally would play, with some workouts to boot. And I want to play around with some VR development, see what things I might be able to create in an area that is still rather fresh and open for exploration. The VR landscape hasn’t been taken over by AAA developers (yet?) and I’m hopeful for what is to come.

To me, at least, the Index has been very much worth it so far, giving me an entirely new way to experience games, and I’m only scratching the surface. I can’t remember the last time I laughed and felt so cool playing a game, even if I must look ridiculous flailing my arms around with a box strapped to my head.

Speaking of games, since I’ve gotten the Index my non-VR playing has been rather limited. Obviously there is the novelty of VR for the first time, but I do expect to see a longer term shift in my gaming habits. In recent years I’ve moved more to indies and often smaller scale games, but with VR (and later a new GPU for proper 4K gaming, too) I’m looking again at those games with a sense of a different world, spectacle, and pushing the boundary of what’s possible in games. Just like upgrading your computer after sitting out for a few years opens up new possibilities in what you can play, so too has the Index for me. Still, playing on a monitor (or on the couch) will be preferable for many games I like, whether deckbuilders, top down RPGs, or roguelike action games.

Close up of the Valve Index logo and iridescent sticker on the box.

In short, I can sum up my experiences so far very easily:

  • Valve Index: 👍🏾
  • on Linux: 👍🏾
  • on a 970: 😓
Deep in the pandemic, and with a cold winter outside, traveling virtually is as good as it gets.

Despite the shortcomings inherent in the current technology and my own hardware, I’m not exaggerating when I say VR, with the Valve Index, is like being in the future. It is one of the biggest changes to gaming I’ve experienced in my life, probably the most significant since the advent of dedicated GPUs. There’s no putting into words the way VR is a new experience entirely, a new way of playing and experiencing games, an exciting future medium. 2020 looks a lot better in VR, trust me.