visual.Rift -- questions and errors whilst trying to use with Occulus Rift S

Hi, we are trying to use visual.Rift for a psychophysics experiment in which we want to use a VR headset (Oculus Rift S) to present different stimuli to each eye. Our first step is the attached RiftMinimal-display.py , adapted from the minimal example in GitHub (RiftMinimal.py).

With the latest version of Psychopy (2022.1.3, Windows standalone installation using Python 3.8) PsychXR is not installed as a default in the libraries. We tried to get it through PIP install, but we got an error message stating that the package could not be installed (see the attached log_py38 ). Since the library is not installed, we cannot run our script.

For now our solution is to use a Psychopy version installed through Anaconda following the instructions from the “Anaconda and Miniconda” section for the manual installation. This version uses Python 3.6, has PsychXR installed and can run our script.

In particular we can use visual.TextStim to display a different character to each eye (in our case “L” to the left eye, “R” to the right eye). However when we tried to generalize to other types of stimuli we found that visual.ShapeStim (a fixation cross) and visual.Circle were only displayed if they were drawn in second position when iterating through both eyes (i.e. in our script when we test “if i == left” first, only the point/fixation drawn for the right eye will appear). Can anyone help us understand why this is the case and how we could display stimuli (other than text) to both eyes, irrespective of order?

Furthermore, while we can run our script (and this is also the case with the minimal example), we get a lot of recurring error messages (see log_py36 ):

  • The first says that the LibOVR module cannot be found, which we think is unrelated to our other issue (as we are still able to display text or shapes), but that might be wrong.
  • Another, saying that “‘None’ is not a valid color space”, seems to be repeated at every frame throughout the run. We took care of specifying the color and color space of all elements in our script without success in making it stop.
  • We also get a warning saying that the “Application failed to meet deadline to submit frame to HMD” which alternates with the color space error for the rest of the experiment.

RiftMinimal.py (1.6 KB)
RiftMinimal-display.py (2.1 KB)

log_py36.csv (7.4 KB)
log_py38.csv (7.8 KB)

EDIT:
We have now solved our display issue. We did so by moving hmd.setDefaultView() to the beginning of the loop, before iterating through the eyes (see image).
img

In the RftMinimal example (psychopy/RiftMinimal.py at release · psychopy/psychopy · GitHub) this would mean moving line 34 to line 22.

However, we still get all the errors from the log_py36 file, so please let us know if anyone has any insights about these.