cost effective solution for portable VR?VR, Ultrabooks and eGPUFrom time to time, a need comes, to have a portable VR setup. May it be a presentation event, clients wanting a demo in their office, keeping to be able to work while travelling or at a hackathon. Or just to show Machizzle to people at various events. Oculus Quest, while a great device, is good only if you're an end user, for projects we do it’s often not good enough. Bringing along a desktop PC is sometimes a solution, especially for events, but impossible many other times.
When it comes to VR Ready notebooks, there are several catches. The cheaper ones tend to overheat and thermal throttling becomes a real issue. And the ones that don’t overheat are usually both expensive and heavy. We’ve been using MSI and Alienware notebooks since the start of our VR venture and carrying them in the backpack is not an enjoyable experience. The worst problem is upgradeability, as in today's notebooks the GPU is not replaceable, when you need to upgrade, it’s time to buy a new notebook.
So we looked into another option - using a smaller notebook and external GPU connected to it. This is both cheaper, in theory even more powerful, as it’s using a full desktop GPU, upgradeable and also leaves you with a lightweight notebook that can be carried around easily. But did it work? In short, YES, even better than expected. There are limitations to be aware of.
You’ll need a laptop, eGPU box, GPU and a VR headset. For a laptop we used HP Spectre (model 13 x360) and the box was Akitio Node, then multiple GPUs and VR headsets. You’ll need a laptop with Thunderbolt 3 port that supports external PCIe cards. Technically speaking you can also use a m.2 port and there is a performance gain over using TB3, but there are several limitations, such as that access to that port is often not easy.
When choosing a laptop a few things to keep in mind - you’re going to need a high powered CPU. My Spectre is having an i7-1065G7 (Ice Lake), it has been said that Tiger Lake CPUs can be even more powerful. i7-1165G7 / 1185G7 seems to be good choices, the more powerful CPUs with H suffix are usually combined with a gaming GPU, which may not be desirable. Cooling is also an important factor, as you want to prevent your CPU from overheating, so choosing something very slim with not enough space for heatsink and cooling system may not be the smartest idea. Another thing to keep in mind is having enough ports, as you’re going to need one USB-C for charging, TB3 port for eGPU and then you’ll need to connect your headset - while Quest 2 or HP Reverb asks for another USB-C (making it 3 in total), headsets like Pimax 8KX are powered using 2 classic USB ports. But in the end, I was very surprised how well the Spectre handled the job - almost no issues with CPU speed. Even when testing the limit with Cyberpunk 2077. Also, you want to make sure your PC is free from bloatware, as things like McAfee Virus can eat valuable CPU resources, right when you need them the most.
For VR headsets, we’ve tested Valve Index (SteamVR native), Pimax (Pitool), Reverb G2 (Windows Mixed Reality - WMR), Oculus Rift S (Oculus native) and Oculus Quest 2 using Link. This means that we’ve covered all major VR platforms*. Valve Index and Pimax headsets worked flawlessly, except for some cases where the CPU was overheating a bit and then not having sufficient power to calculate tracking data, causing tracking issues on controllers. This was very occasional and in 144Hz mode only. Oculus Rift S showed several errors, but when acknowledged, it worked without any issue at all. Reverb G2 had several problems - from not detecting properly, stuttering a lot and also having input lag on controllers. It managed to get to work in the end, but the input lag caused issues with playability of some games.
With Quest 2 using Link, there was a considerable amount of input lag from controllers (I would estimate about 200ms) on the RTX 30XX cards, about the same as with Reverb G2. Everything else was fine, the picture itself was not delayed, just the controllers. When tested on 20XX (or Titan) using the VirtualLink USB-C port on the card, the amount of lag decreased, but was still quite noticeable. Setting the refresh rate from 72Hz to 90Hz further reduced the amount of lag, but still was noticeable.This problem did not occur on a desktop PC. On Virtual Link port at 90Hz games were playable (unlike G2), but still not optimal.
This leaves a bit perplexing results, as Index or Pimax worked fine, but rely on external base stations reducing the portability of the setup, while inside-out tracked headsets, which are by definition more portable, were the ones having problems.
When talking about GPU, we’ve tested RTX 3080, 3070, Titan RTX, 2080Ti and GTX1080. Thanks to ASUS Czech Republic for providing their flagship card to us. We reached out to AMD if they could spare a current card for one afternoon, but the answer came back as negative. All of the cards worked fine, however you need to make sure to have enough power supply for them. Our external box, Akitio Node, comes with inbuilt 400W PSU, according to their specs of which 390W is available for the GPU. However the RTX 3080 (TDP 320W) Titan RTX (280W) and 2080Ti (250W) would disconnect under load when connected to internal PSU, while 3070 (220W) and 1080 (180W) worked stable. We then rigged the more powerful cards to an external power supply from a nearby PC, resolving the problem and confirming the power supply hypothesis. This is just something to keep in mind when choosing box and gpu. Akitio have several editions available with varying power supply, up to 650W.
From the software side, the GPU can be plugged in even when the PC is running and new apps will be running on that GPU from now on. This means to connect and power up the GPU before launching any VR drivers - such as SteamVR, Oculus runtime or Pitool. Or else the driver app will be launched on the integrated GPU and won’t be able to recognize your headset. In my opinion, this is what is causing the problems with Reverb G2, as you have no control over the Windows Mixed Reality service and on which GPU it runs.
At last, eGPU box. We wanted to avoid any branded box (Razer, ASUS, Lenovo, Sapphire, Gigabyte) as there could be compatibility problems with 3rd party systems and cards. I have no doubt that a Razer box would work flawlessly in a Razer notebook, but what about any other notebook? Maybe it will be fine as well, who knows. The Akitio node worked fine, aside from the insufficient power supply. This can be corrected by buying a higher version, such as Node Pro or Node Titan.
To sum it all up, I was quite pleasantly surprised that all major VR headsets worked, that the spectre managed to run headsets such as Valve Index or Pimax 5K+ even at 144Hz delivering very smooth experience and performance. This opens up an interesting way forward in using
* Aside from HTC, but it’s our experience that having Vive drivers installed often conflicts with other VR drivers in the system, such as Pimax or Oculus.