Virtual reality glasses on Linux
DK2 on the Way
Virtual reality fans seek to achieve presence, which means the user perceives the virtual world as real: The brain accepts the illusion as a second reality because it does not notice any visual errors and anomalies. The second development kit (DK2) already comes closer to this goal, because the developers have optimized the hardware of the first kit.
At a resolution of 960x1080 pixels per eye, the picture is now much sharper and the risk of pixelation much lower; the production version is likely to offer even higher resolution. At the same time, the OLED display achieves refresh rates of between 60 and 75Hz with switching times of only 2 or 3 milliseconds, thus preventing motion blur and judder. Additionally, the DK2 comes with an additional external device that determines the absolute position of the user in space. This means that head movements to the front, back, right, left, up, and down are interpreted, giving the Oculus Rift six degrees of freedom.
This innovation, together with the faster screen response times, solves one major problem of the first kits: motion sickness. In fact, some users felt sick when they tried to use the Rift. This situation is now much better and possibly a closed case. Another improvement that developers are likely to welcome is the absence of the previous desktop cable clutter: A 3-meter-long cable that terminates in a USB and an HDMI connector supplies the glasses with power and data. The controller is eliminated, and the cable is detachable. Whereas the DK1 cost US$ 300, the new version costs US$ 350.
Hello, Linux
In our lab, I tried out the Oculus Rift on a pre-release version of Lubuntu 14.04 to keep the desktop overhead as low as possible. To start, the system needed the proprietary drivers for NVidia or ATI video cards; the Rift did not work with the free drivers. Although the Rift should actually run with Intel cards like the HD 4000 according to the official information [8], the makers recommend graphics cards that allow a frame rate of 60FPS.
After installing the driver and rebooting, you can connect the hardware, turn on the VR goggles via the controller, and configure the displays. The DK1 expects a resolution of 1280x800 pixels, but the test laptop's screen used 1366x768 pixels. Lubuntu 14.04 automatically and unchangeably configured the Rift display as the first display and did not assign a separate resolution for the laptop display. Other Linux systems might do a better job of this, but it was not a major problem.
To get started with the Oculus, you also need the SDK, which means having a free account for the developer zone [9]. You will find several scripts for Linux in the SDK that you need to run one after another. After unpacking the SDK archive, go to the OculusSDK
folder and run the commands in Listing 1.
Listing 1
Getting Started with the Rift
The script uses chmod
to get rid of any access problems; in the next step, the configuration script installs a number of packages that the Rift requires on Linux systems. In the last two lines, the installer relinks an existing udev library if the Oculus World Demo complains about a missing udev library at startup. At this point, you could run the demo, but without head tracking.
To enable and customize the Rift to match the personal needs of the individual user, you need to run the ./OculusConfigurationUtility
script as shown in Figure 2. If you see a "No USB detected" message at the top of the window, it could help to unplug the Rift's USB cable briefly and then plug it back in. You can then create a profile, set the type of eye glasses used, and press the Calibrate button to calibrate the VR glasses. To do so, rotate the unit at head height through all three degrees of freedom until the window on the screen shows a green stripe (Figure 3). You then store the settings. Rift users can enter the IPD manually or select Launch Interactive Utility to launch an interactive tool that supports this.


The Measure IPD button launches a test to adjust the Rift to the user's field of view (FoV). To do this, you need to close one eye and follow a vertical green line, which you push to the far left or far right by clicking on the two arrows. You then repeat the process for your other eye; Accept stores the settings (Figure 4). The next time you start, however, you have to repeat this performance; the configuration script is still fraught with teething troubles (see the "Configured to Death" box).
Configured to Death
The configuration tool does not yet work perfectly, and it is also used for several other purposes. Besides the SDK, the Unity demo from the Oculus website [9] includes the tool. If you want to test Steam with the VR option, you will find the same tool under the name Steam VR. It does not store profiles and may even fail to detect the Rift, until you unplug and replug. These issues need to be rectified.
Oculus in the House
The ./OculusWorldDemo
then starts the Toscana demo, which takes you to a rather sparsely furnished villa with a sea view (Figure 5). You can look around with the help of head movements and move your (invisible) Avatar, using the arrow keys. Pressing the Space bar takes you to an in-demo mode that displays some values (FPS, FoV, IPD) and keyboard shortcuts that let you change the parameters of the game. The demo does not include sound.

An overview of the available demos, including those for Linux, is available online [10]. Demos and games worth exploring include Titans of Space, Technolust, The City, The Room, and Lorryrider (Figure 6); the latter needs an advanced graphics card; otherwise, judder tends to spoil the effect. In some demos, I first had to press the F11 key to correct the perspective.
« Previous 1 2 3 4 Next »
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.
News
-
Fedora 39 Beta is Now Available for Testing
For fans and users of Fedora Linux, the first beta of release 39 is now available, which is a minor upgrade but does include GNOME 45.
-
Fedora Linux 40 to Drop X11 for KDE Plasma
When Fedora 40 arrives in 2024, there will be a few big changes coming, especially for the KDE Plasma option.
-
Real-Time Ubuntu Available in AWS Marketplace
Anyone looking for a Linux distribution for real-time processing could do a whole lot worse than Real-Time Ubuntu.
-
KSMBD Finally Reaches a Stable State
For those who've been looking forward to the first release of KSMBD, after two years it's no longer considered experimental.
-
Nitrux 3.0.0 Has Been Released
The latest version of Nitrux brings plenty of innovation and fresh apps to the table.
-
Linux From Scratch 12.0 Now Available
If you're looking to roll your own Linux distribution, the latest version of Linux From Scratch is now available with plenty of updates.
-
Linux Kernel 6.5 Has Been Released
The newest Linux kernel, version 6.5, now includes initial support for two very exciting features.
-
UbuntuDDE 23.04 Now Available
A new version of the UbuntuDDE remix has finally arrived with all the updates from the Deepin desktop and everything that comes with the Ubuntu 23.04 base.
-
Star Labs Reveals a New Surface-Like Linux Tablet
If you've ever wanted a tablet that rivals the MS Surface, you're in luck as Star Labs has created such a device.
-
SUSE Going Private (Again)
The company behind SUSE Linux Enterprise, Rancher, and NeuVector recently announced that Marcel LUX III SARL (Marcel), its majority shareholder, intends to delist it from the Frankfurt Stock Exchange by way of a merger.