cancel
Showing results for 
Search instead for 
Did you mean: 

cannot get head tracking to work in CentOS 6

codingfrenzy
Honored Guest
Greetings fellow Rifters

Head-tracking on my Rift is not working under CentOS 6. Tested full functionality under Windows, so I know my device is working.

The World demo starts up fine, device is detected, sensor is initialized, and pressing F9 gives me expected view inside house. All keyboard shortcuts work, and arrow keys allow navigation. But moving the rift does not result in any camera updates, hence my suspicion that sensor functionality is borked.

I do not even know where to begin debugging to figure out what is amiss here, any hints would be greatly appreciated.

System:
CentOS 6 with NVidia Quadro K4000, newest drivers
primary screen on DVI @1920x1080
secondary screen is the Rift, at 1280x800, via passive DP->DVI converter

dmesg upon connecting the rift:
usb 2-1.8: new full speed USB device number 5 using ehci_hcd
usb 2-1.8: New USB device found, idVendor=2833, idProduct=0001
usb 2-1.8: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1.8: Product: Tracker DK
usb 2-1.8: Manufacturer: Oculus VR, Inc.
usb 2-1.8: SerialNumber: JBS6H3QGETJ9
usb 2-1.8: configuration #1 chosen from 1 choice
generic-usb 0003:2833:0001.0004: hiddev97,hidraw3: USB HID v1.10 Device [Oculus VR, Inc. Tracker DK] on usb-0000:00:1d.0-1.8/input0


permission mask for /dev/hidraw3 is rw-rw-rw-

launching world demo:
$ sh OculusWorldDemo.sh 
OVR::DeviceManagerThread - running (ThreadId=0x7feb37bf1700).
OVR::DeviceManager - initialized.
DeviceManager reported device added.
DeviceManager reported device added.
DeviceManager reported device added.
OVR::Linux::HIDDevice - Opened '/dev/hidraw3'
Manufacturer:'Oculus VR, Inc.' Product:'Tracker DK' Serial#:'JBS6H3QGETJ9'
OVR::SensorDevice initialized.
Usage: OculusWorldDemo [input XML]
2 REPLIES 2

codingfrenzy
Honored Guest
Update
I have been digging a bit deeper, and found the following:

CentOS6 kernel is 2.6.32

linux/hidraw.h does not contain the macros HIDIOCSFEATURE and HIDIOCGFEATURE which are required to compile LibOVR

I added this hack to OVR_LINUX_HIDDevice.cpp:
#include <linux/hidraw.h>
#ifndef HIDIOCSFEATURE
#define HIDIOCSFEATURE(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x06, len)
#define HIDIOCGFEATURE(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x07, len)
#endif


further down in the same file, these two macros get used SetFeatureReport and GetFeatureReport; if I log the return values coming from these ioctl calls:
bool HIDDevice::SetFeatureReport(UByte* data, UInt32 length)
{
// snip
int r = ioctl(DeviceHandle, HIDIOCSFEATURE(length), data);
LogText("SetFeatureReport: %d\n",r);
return (r >= 0);
}


I always get -1 as a return value when running OculusWorldDemo. This would lead me to suspect that my kernel's support for hidraw is too low? Unfortunately, this is about as deep down as I can trace it, and help from a Rift developer would be appreciated.

cybereality
Grand Champion
We are only officially supporting Ubuntu. Other distros may or may not work. Sorry.
AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
Still need help?

Did this answer your question? If it didn’t, use our search to find other topics or create your own and other members of the community will help out.

If you need an agent to help with your Meta device, please contact our store support team here.

Having trouble with a Facebook or Instagram account? The best place to go for help with those accounts is the Facebook Help Center or the Instagram Help Center. This community can't help with those accounts.

Check out some popular posts here:

Getting Help from the Meta Quest Community

Tips and Tricks: Charging your Meta Quest Headset

Tips and Tricks: Help with Pairing your Meta Quest

Trouble With Facebook/Instagram Accounts?