← Back to team overview

kernel-packages team mailing list archive

[Bug 1337641] [NEW] Oculus Rift "drifts" on recent kernels

 

Public bug reported:

When running Oculus Rift compatible software, the HMD rotation seen by
software drifts by a few degrees per second, even when the HMD is not
moving at all (ie, it's sitting perfectly still on the desk).

This is a regression in 3.13.0-27 and newer. Downgrading to 3.13.0-24
prevents the bug from happening.

The bug happens after using the OR in hidraw mode (which is what the OVR
SDK uses), and will even persist if you reboot into Windows without
power cycling the device.

OpenHMD is an alternative SDK for the Oculus Rift. When using OpenHMD in
libusb mode the problem does not happen, unless you have previously used
some software which opens the OR in hidraw mode. OpenHMD can also be
compiled to use hidraw, and if you do that it just shows a black screen
with the example. If you then run it in libusb mode, the drift happens.

This bug has been reported on the Oculus forums:
https://developer.oculusvr.com/forums/viewtopic.php?f=34&t=9689

To me this looks like a HID bug. Something is messing up the state of
the hardware so badly that it will continue to report bad data even when
using software that works correctly after a power cycle. Looking at the
commits between -24 and -27 kernels I see a bunch of commits to HID
which look like they might be responsible for this.

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: linux-image-3.13.0-30-generic 3.13.0-30.54
ProcVersionSignature: Ubuntu 3.13.0-30.54-generic 3.13.11.2
Uname: Linux 3.13.0-30-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.14.1-0ubuntu3.2
Architecture: amd64
AudioDevicesInUse:
 USER        PID ACCESS COMMAND
 /dev/snd/controlC2:  al         1999 F.... pulseaudio
 /dev/snd/controlC1:  al         1999 F.... pulseaudio
 /dev/snd/controlC0:  al         1999 F.... pulseaudio
CurrentDesktop: XFCE
Date: Fri Jul  4 01:07:13 2014
HibernationDevice: RESUME=UUID=cd4b4f29-2984-430a-8556-26b5fd58d903
InstallationDate: Installed on 2014-06-29 (4 days ago)
InstallationMedia: Xubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140416.2)
IwConfig:
 eth0      no wireless extensions.
 
 lo        no wireless extensions.
MachineType: System manufacturer System Product Name
ProcFB:
 
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-30-generic root=UUID=06500b4e-b446-411c-9a19-cfff649a7be4 ro quiet splash
RelatedPackageVersions:
 linux-restricted-modules-3.13.0-30-generic N/A
 linux-backports-modules-3.13.0-30-generic  N/A
 linux-firmware                             1.127.4
RfKill:
 0: hci0: Bluetooth
 	Soft blocked: no
 	Hard blocked: no
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 11/25/2009
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 0704
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: M4A79XTD EVO
dmi.board.vendor: ASUSTeK Computer INC.
dmi.board.version: Rev X.0X
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr0704:bd11/25/2009:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKComputerINC.:rnM4A79XTDEVO:rvrRevX.0X:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: System Product Name
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: Confirmed


** Tags: amd64 apport-bug trusty

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1337641

Title:
  Oculus Rift "drifts" on recent kernels

Status in “linux” package in Ubuntu:
  Confirmed

Bug description:
  When running Oculus Rift compatible software, the HMD rotation seen by
  software drifts by a few degrees per second, even when the HMD is not
  moving at all (ie, it's sitting perfectly still on the desk).

  This is a regression in 3.13.0-27 and newer. Downgrading to 3.13.0-24
  prevents the bug from happening.

  The bug happens after using the OR in hidraw mode (which is what the
  OVR SDK uses), and will even persist if you reboot into Windows
  without power cycling the device.

  OpenHMD is an alternative SDK for the Oculus Rift. When using OpenHMD
  in libusb mode the problem does not happen, unless you have previously
  used some software which opens the OR in hidraw mode. OpenHMD can also
  be compiled to use hidraw, and if you do that it just shows a black
  screen with the example. If you then run it in libusb mode, the drift
  happens.

  This bug has been reported on the Oculus forums:
  https://developer.oculusvr.com/forums/viewtopic.php?f=34&t=9689

  To me this looks like a HID bug. Something is messing up the state of
  the hardware so badly that it will continue to report bad data even
  when using software that works correctly after a power cycle. Looking
  at the commits between -24 and -27 kernels I see a bunch of commits to
  HID which look like they might be responsible for this.

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: linux-image-3.13.0-30-generic 3.13.0-30.54
  ProcVersionSignature: Ubuntu 3.13.0-30.54-generic 3.13.11.2
  Uname: Linux 3.13.0-30-generic x86_64
  NonfreeKernelModules: nvidia
  ApportVersion: 2.14.1-0ubuntu3.2
  Architecture: amd64
  AudioDevicesInUse:
   USER        PID ACCESS COMMAND
   /dev/snd/controlC2:  al         1999 F.... pulseaudio
   /dev/snd/controlC1:  al         1999 F.... pulseaudio
   /dev/snd/controlC0:  al         1999 F.... pulseaudio
  CurrentDesktop: XFCE
  Date: Fri Jul  4 01:07:13 2014
  HibernationDevice: RESUME=UUID=cd4b4f29-2984-430a-8556-26b5fd58d903
  InstallationDate: Installed on 2014-06-29 (4 days ago)
  InstallationMedia: Xubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140416.2)
  IwConfig:
   eth0      no wireless extensions.
   
   lo        no wireless extensions.
  MachineType: System manufacturer System Product Name
  ProcFB:
   
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-30-generic root=UUID=06500b4e-b446-411c-9a19-cfff649a7be4 ro quiet splash
  RelatedPackageVersions:
   linux-restricted-modules-3.13.0-30-generic N/A
   linux-backports-modules-3.13.0-30-generic  N/A
   linux-firmware                             1.127.4
  RfKill:
   0: hci0: Bluetooth
   	Soft blocked: no
   	Hard blocked: no
  SourcePackage: linux
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 11/25/2009
  dmi.bios.vendor: American Megatrends Inc.
  dmi.bios.version: 0704
  dmi.board.asset.tag: To Be Filled By O.E.M.
  dmi.board.name: M4A79XTD EVO
  dmi.board.vendor: ASUSTeK Computer INC.
  dmi.board.version: Rev X.0X
  dmi.chassis.asset.tag: Asset-1234567890
  dmi.chassis.type: 3
  dmi.chassis.vendor: Chassis Manufacture
  dmi.chassis.version: Chassis Version
  dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr0704:bd11/25/2009:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKComputerINC.:rnM4A79XTDEVO:rvrRevX.0X:cvnChassisManufacture:ct3:cvrChassisVersion:
  dmi.product.name: System Product Name
  dmi.product.version: System Version
  dmi.sys.vendor: System manufacturer

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1337641/+subscriptions


Follow ups

References