psychopy.org | Reference | Downloads | Github

Request to make OpenGL optional

Dear Developers of PsycoPy:

Although OpenGL is a shiny feature of PsycoPy, it is not always needed by all experiments; some experiments only need text and movie output. However, the mandatory OpenGL support of PsycoPy disables the possibility of Remote Desktop because it is well known that OpenGL is not available if we connect using Windows Remote Desktop. It is often the case that experiment designers sometimes have to use PsycoPy through remote desktop on workstations on which PsycoPy is not available. So is it possible to turn off OpenGL feature in future versions of PsycoPy so that users like me can conveniently connect to PsycoPy machine? It is feasible because some cross-platform software like Unity can adaptively switch between DirectX and OpenGL according to the running platform. I hope my request can be considered. Thanks.

The beauty of OpenGL is that it works on all platforms and PsychoPy is all about working on all platforms. I’m afraid rerouting for direct x would be too much work for too little gain for me to want it.

Actually though I have run psychopy over remote desktop. The timing is obviously horrible (and would be work direct x too) but it does work.

Hi, Jon:

Thank you for the reply. My experiment does not care about accuracy of timing. When I run a simple experiment (one trial routine with a text component in it) through Windows Remote Desktop, I received error: “pyglet.gl.lib.MissingFunctionException: glActiveTexture is not exported by the available OpenGL driver.” If I run through VNC, although there is no error, I could not see any text on the screen. But all these errors do not occur if I run locally. So how did you run PsychoPy through remote desktop? I’m using nVidia GT640 which is a decent graphics card and having its driver properly installed. The PsychoPy version I’m using is v1.83.04.

Best

Heng

I think what the OP probably wants is a way to run experiments remotely, and Remote Desktop is one way but not the only way to do that. The new PsychoJS (PsychoPy via javascript in a web browser) version should soon provide remote support.

I just tested it using a Win10 box as the server and the client is a Mac running Microsoft Remote Desktop client. Maybe it’s the fact that the RDP client on the Mac is using OpenGL that makes the difference, but it certainly seems to work beautifully.

As Jeremy says, the web client, PsychoJS will solve this for you though, allowing you to run your study in many more places than remote desktop would, so hopefully that’s all you need. I don’t envisage any switch to use DirectX or Unity in the near future.