#### Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

# [solved] PsychoPy backend not working on xp pc

edited January 2013

Hi,
I ran into a problem while trying to run my experiment on the pc in the EEGlab. It doesn’t want to run anything in the psychopy backend and keeps giving me the following error.

ERROR message:
An unexpected error occurred which was not caught by opensesame. This should not happen!
Message: glActiveTexture is not exported by the available OpenGL driver.  VERSION_1_3 is required for this funcnality


Debug window gives me:

Python 2.6.6
Type "modules()" for details about installed modules and version information.
Use the "print [msg]" statement in inline_script items to print to this debug window.
>>>
openexp.sampler._legacy.init_sound(): sampling freq = 48000, buffer size = 512
openexp._canvas.psycho.init_display(): window type = pyglet
openexp._canvas.psycho.init_display(): waitblanking = True
openexp._canvas.psycho.init_display(): monitor = testMonitor
experiment.init_log(): using 'C:/Documents and Settings/erp.users/Desktop/[PMQ]CNSWexp1/Experiment CNSW/subject-0.csv' as logfile (ascii)
experiment.run(): experiment started at Thu Oct 18 11:23:50 2012
0.9653  ERROR   avbin.dll failed to load. Try importing psychopy.visual as the first
library (before anything that uses scipy) and make sure that avbin is installed.

1.9728  WARNING Use of rgb arguments to stimuli are deprecated. Please use color and colorSpace args instead

Traceback (most recent call last):
File "libqtopensesame\qtopensesame.pyo", line 1647, in run_experiment
File "libopensesame\experiment.pyo", line 258, in run
File "libopensesame\sequence.pyo", line 59, in run
File "C:\Program Files\OpenSesame\plugins\text_display\text_display.py", line 139, in run
File "openexp\_canvas\psycho.pyo", line 166, in show
File "psychopy\visual.pyo", line 4375, in draw
File "pyglet\gl\lib_wgl.pyo", line 94, in __call__
File "pyglet\gl\lib.pyo", line 63, in MissingFunction
MissingFunctionException: glActiveTexture is not exported by the available OpenGL driver.  VERSION_1_3 is required for this functionality.


When trying another program (in this case the psychopy timing check program):

Error: inline script error
In: timing check (run phase)
File "pyglet\gl\lib.pyo", line 63, in MissingFunction
Python traceback: MissingfunctionException: glActive TextureARB is not exported by the aviable OpenGL driver. ARB-multitexture is required for this functionality.


Things I have tried:
Reinstall Opensesame;
Reinstall standalone Python and Psychopy;
Update windows;
Update .net framework;
Run portable version Opensesame 26;
Run portable version Opensesame 27;
Install Opensesame 27;
I also tried Running the experiment in the new Expyriment backend, but that just doesn’t do anything. Doesn’t try to start the program, just immediately gives me an empty error window,’opensesame says’ nothing more.

As I’m going to run an EEG experiment it is pretty important that I have the greater temporal accuracy. Does anyone have any tips, tricks, suggestions?

Michel

PC stats:
windows xp  version 2002 service pack 3
Intel Pentium 4 cpu 2.80hz, 2.79 ghz, 512 mb RAM
Nvidia geforce4 mx 440 with AGP8x, 60 hz, resolution 1024/ 768


• edited 5:32PM

Hi Michel,

Do you run OpenSesame from source and do these problems occur with the packaged versions too? Could you enter the command "modules()" in the OpenSesame console and post its output here?

It sounds like you problem could have one of these causes:
1. The (py)OpenGL packages that psychopy/opensesame uses are outdated and need to be upgraded.
2. PsychoPy uses OpenGL extensively. Your videocard is too old and misses some functionality that is required by modern OpenGL (You have an old AGP video-card which might not be compatible anymore with the shaders and framebuffers that are used a lot in OpenGL nowadays. Check http://en.wikipedia.org/wiki/Comparison_of_Nvidia_graphics_processing_units#GeForce4_series if your videocard supports these features).
3. There is something wrong with the drivers of your videocard, breaking its OpenGL funcionality. Try to update/reinstall your drivers and see if it works then.

My guess is that it's the second problem. Your GPU is simply too old to support modern OpenGL features. Try to run your experiment on a newer PC and see if the problem still occurs.

• edited 5:32PM

I made and ran the experiment on multiple other pcees, ranging from windows 7 desktops and laptops to pcees with older versions like xp, all with no trouble. The pc in the EEG lab is the first I encounter this problem on.
Updating graphiccard drivers is a good idea I haven't tried yet (I can try that on a monday). Unfortunatly replacing the pc in the EEG lab is not an option at the moment.

Is there any way I can somehow increase the temporal accuracy of the legacy backend, or perhaps things I should consider when running it in the legacy backend, so I can atleast run participants on EEG?

Thanks
Michel

• edited 5:32PM

Hi Michel,

Daniel is probably right. But you can try switching to the Expyriment back-end. There's a chance that this back-end will not use the specific OpenGL functionality that causes the trouble, even though it does use OpenGL and therefore has the same temporal precision as PsychoPy.

Cheers!
Sebastiaan

• edited 5:32PM

Hi Sebastiaan,

I tried running the experiment in the new Expyriment backend. Unfortunatly that doesn't do anything. It won't even try to run the experiment (in the psychopy backend it atleast tries to run the experiment, gives me a black screen then comes back to opensesame with the run error). Expyriment gives me a blank error window, saying nothing and even the debug window only shows

>>>
>>>


Greetings,

Michel

• edited November 2012

Edit:

Hi again,

I changed the pc in the lab and now Psychopy is finally working.
I do have an important question that I hope can be answered quickly.

Now that the psychopy backend is working everything is working as expected except the duration times of my feedback items. I used the trial feedback method described in the documentation area, which is, making 2 sketchpads with either a green or red fixation dot. Although the duration time should be around 100 ms. It shows the feedback items for 1000 ms. Because of this my experiment takes almost 30 minutes longer!

In the legacy backend the duration time looks better (100 ms).

Is this a known problem? Does anybody have an idea what could be wrong?

Thanks,

Michel

• edited 5:32PM

Hi Michel,

What you're seeing is the time that it takes to generate the stimuli. This happens in the in the intertrial interval, so that you don't have any significant delays during the trial itself. During this preparation period, your 'fixation-dot feedback' items (which are the last items, I presume) simply stay on the screen. See also this article for a bit of background.

Because stimulus generation is done fundamentally different in PsychoPy (and Expyriment) compared to the legacy back-end, there can be substantial differences in how long this takes. More specifically, PsychoPy uses the graphics card, whereas legacy does not.

Still, 1000ms is a really long time, much longer than you would expect. It's difficult to say why it is so slow. Maybe there are a lot of complex/ large stimuli in the trial - Maybe the computer/ graphics card is slow - Maybe a combination of both.

A couple of suggestions:

• Try the xpyriment back-end and see if this resolves the problem somewhat. For this, you need to grab a 0.27 pre-release here.
• Perhaps you use a lot of conditional statements to determine which sketchpads are shown? In this case, all sketchpads are prepared, regardless of whether they will actually be shown. A work-around (but maybe a bit of a hassle) would be to generate the stimuli in a 'smarter' way using inline scripting.
• Set the duration of the last item of the trial (in your case the 'fixation-dot feedback') to 0, as it will be shown for long enough anyway.
• You can present some non-time-critical displays using feedback items. These are not prepared beforehand. Note that this just moves some of the stimulus preparation time into the trial, so be careful!

Cheers!
Sebastiaan

• edited 5:32PM

Hi Sebastiaan,

Thanks for the suggestions and help. I figured it was something like that (preperation time) but didn't expect it to take that long. I think it's the combination of both, I have 24 different conditions and 8 to 16 figures per condition, so, yeah

Also, the debug window keeps giving me a avbin.dll failed to load error. The experiment works fine, data is recorded fine so I never paid attention to it. I googled the error but I could not find, or understand, a clear cut solution to this problem.

Lastly, when I open my experiment in the 0.27 version, I can't change the backend. The experiment tab that gives the overview, backend settings etc, is blank, familiar with this issue?

Thanks again!

Michel

• edited 5:32PM
Also, the debug window keeps giving me a avbin.dll failed to load error. The experiment works fine, data is recorded fine so I never paid attention to it. I googled the error but I could not find, or understand, a clear cut solution to this problem.

It's an error that PsychoPy throws when it cannot find this particular .dll, which is only necessary for video playback. Don't worry about it.

Lastly, when I open my experiment in the 0.27 version, I can't change the backend. The experiment tab that gives the overview, backend settings etc, is blank, familiar with this issue?

Blank, as in the tab is completely empty, without any controls? And if you click on the top-level item in the overview area (typically called 'New experiment'), the proper tab still doesn't appear?

If so, no: That is clearly not supposed to happen! My guess is that OpenSesame will inform you that an error has been logged to opensesame.exe.log when you exit the program. If it does, could you perhaps post the contents of that file here?

• edited 5:32PM

Indeed, blank as in the tab is completely empty, without any controls even when I click on the top level item. Opensesame does not inform me that it has logged the error. However I did see an error in the command prompt window. Unfortunatly I can't copy paste the text so I made a screenshot of it. In the back you can see the blank tab.
Hope this is helpfull, the screenshot is here:

https://dl.dropbox.com/u/106327169/Error screenshot.JPG

• edited 5:32PM

Ah, I see!

Please update to the latest pre-release (0.27~pre30 at the time of writing), and let me know if the problem still occurs. (The pre-release in the Python-portable based distribution is quite outdated.)

• edited 5:32PM

You're right about the portable distribution. I'll fix that tonight, haven't had the time to do so yet

• edited 5:32PM

Thank you guys,

I haven't had time to try it yet, but I'll post the result when I did try it.

Michel

• edited 5:32PM

Hi there,

it took awhile to respond (pardon me for that, december has been a busy month).
I'm now behind my pc in my office again and tried my experiment in the new version of opensesame. Unfortunatly the problem remains: The experiment tab that gives the overview, backend settings etc, is blank.

However, Opensesame does give me an error log now of which I'll post the contents here:

Traceback (most recent call last):
File "dist\libqtopensesame\qtopensesame.py", line 1101, in open_item
File "dist\libqtopensesame\widgets\tab_widget.py", line 191, in open_general
File "dist\libqtopensesame\widgets\general_properties.py", line 52, in __init__
File "dist\libqtopensesame\widgets\general_properties.py", line 281, in __init__
File "dist\libopensesame\item.py", line 436, in get
libopensesame.exceptions.runtime_error: Error: Runtime errorDescription: Recursion detected! Is variable 'title' defined in terms of itself (e.g., 'var = [var]') in item 'Experiment'


Greetings,

Michel

• edited 5:32PM

Ah, right! I suspect that the OpenSesame script contains a line like this (or similar):

set title "[title]"

This will trigger a recursion error, although this should of course be caught by the GUI and reported properly. If this is not the issue, could you perhaps post the script here? If you have trouble getting the script, you can extract the .opensesame.tar.gz file with a tool like 7zip

• edited 5:32PM

Totally forgot to reply, sorry for that.

The problem was indeed the set title "[title]".
I had named my project "[MQ] Experiment one", once I removed the brackets, the problem was gone.

Thank you very much!

Michel