Python extension library for interacting with eXtended Reality displays, intended for research in neuroscience and psychology.
Alternatives To Psychxr
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
6 hours ago30May 24, 2022235gpl-3.0Python
For running psychology and neuroscience experiments
Awesome Neuroscience974
9 months ago
A curated list of awesome neuroscience libraries, software and any content related to the domain.
a year ago6gpl-3.0Python
EyeLoop is a Python 3-based eye-tracker tailored specifically to dynamic, closed-loop experiments on consumer-grade hardware.
Neurokit.py253513 years ago6September 05, 201731mitPython
A Python Toolbox for Statistics and Neurophysiological Signal Processing (EEG, EDA, ECG, EMG...).
11 days ago9February 07, 202278gpl-3.0Python
Graphical experiment builder for the social sciences
Psycho.r11043 years ago17January 19, 202117otherR
An R package for experimental psychologists
8 months ago6gpl-3.0Python
Platform-independent lightweight Python library for designing and conducting timing-critical behavioural and neuroimaging experiments
Awesome Cogsci49
2 years ago12mit
An Awesome List of Cognitive Science Resources
5 months ago7lgpl-3.0Jupyter Notebook
Repository for the Data Science for Psychology and Neuroscience course at CMU (Verstynen)
10 months ago7July 27, 20212otherCython
Python extension library for interacting with eXtended Reality displays, intended for research in neuroscience and psychology.
Alternatives To Psychxr
Select To Compare

Alternative Project Comparisons


GitHub release (latest by date including pre-releases) PyPI PyPI - Python Version PyPI - Wheel Generic badge

PsychXR is a collection of Python extension libraries for interacting with eXtended Reality displays (HMDs), intended for neuroscience and psychology research applications.

While academic researchers are the intended audience for PsychXR, it now sees use in industry for prototyping and development of VR related solutions.

PsychXR is used by PsychoPy v3 ( to provide HMD support.

Note that this README refers to the development version of PsychXR.

Why PsychXR?

PsychXR is intended to provide near direct access to HMD driver APIs using a thin and very fast interface. This can be useful in situations where other tools fail to expose or limit device capabilities. Furthermore, PsychXR does not require large runtimes and has minimal dependencies, allowing users to more easily share their applications over low-bandwidth connections for easier remote testing.

PsychXR is free and open source, unlike many of the tools widely used by researchers for creating VR experiments. If you'd like to keep the future of VR research as open as possible, consider using or supporting projects like PsychXR, PsychoPy, psychtoolbox, OpenHMD and the Godot Engine.

Supported Devices

Device support varies depending on the extension used. PsychXR provides access to the following HMD driver interfaces through extension modules.

LibOVR - psychxr.drivers.libovr

Interface using the official (proprietary) Oculus PC SDK and runtime. Provides excellent, near complete support for PC based Oculus HMDs. Most feature rich and mature interface that is included with PsychXR and the recommended one for users of the following devices:

  • Oculus Rift (DK2, CV1, and S)
  • Oculus Quest (1 and 2 with link cable)

OpenHMD - psychxr.drivers.openhmd

This extension uses the free and open source OpenHMD library which supports a wide range of commercial HMDs. The level of support varies depending on the headset being used (see supported OpenHMD devices for more info). PsychXR ships with a version of OpenHMD that supports the following devices:

  • Oculus Rift (DK1, DK2, CV1, and S)
  • HTC Vive and Vive Pro
  • Windows Mixed Reality
  • Deepoon E2

NoloVR CV1 controllers are fully supported as peripherals by OpenHMD (not tested by the developers of PsychXR).

The openhmd extension is experimental, presently providing only a simple wrapper around the OpenHMD library. OpenHMD does not provide a compositor, or positional tracking (yet) for a majority of devices listed, requiring users to come up with their own solutions.

OpenHMD is cross platform and will eventually allow PsychXR to be used on operating systems other than Windows.


See Getting PsychXR for installation instructions. Pre-built packages are available for Python 3.6, however PsychXR will build on later versions of Python.


There are several limitations to the current version of PsychXR which may make it unsuitable for certain applications.

  • Only Oculus VR HMDs which use the PC SDK (Rift S, CV1, DK2 and Quest 1+2) are supported, the CV1 and S are recommended. There are currently no plans to support the mobile SDK or distribution over app stores.
  • OpenGL is required for rendering, no support for other graphics APIs (i.e. Vulkan and DirectX) is available at this time. You must use some OpenGL framework such as Pyglet, GLFW ( example) or PyOpenGL with PsychXR to create visual stimuli.


If you encounter problems with PsychXR, please submit an issue to PsychXR's issue tracker. This software is not officially supported by any device vendor or manufacturer! Please do not direct PsychXR support requests to them.


For updates on PsychXR's development, see NEWS.


If you would like to expand on PsychXR, feel free to submit pull requests. Help for doing the following would be greatly appreciated:

  • OpenXR or OpenVR support
  • Driver access for other VR related tools such as OptiTrack(tm) and Leap Motion devices.


  • Matthew D. Cutone - Open Science Tools Ltd. - (
  • Dr. Laurie M. Wilcox - The Centre for Vision Research, York University


This project is licensed under the MIT License - see the LICENSE file for details.

How To Cite PsychXR

If you use PsychXR for your research, please use the following citation:

Cutone, M. D. & Wilcox, L. M. (2021). PsychXR (Version 0.2.4) [Software]. Available from
Popular Psychology Projects
Popular Neuroscience Projects
Popular Science Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.