[solved] PsychoPy backend not working on xp pc
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 "help()", "copyright()", "credits()" or "license()" for more information. 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?
Thank you in advance!
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
Comments
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.
Thanks for the fast reply!
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
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
Check out SigmundAI.eu for our OpenSesame AI assistant!
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
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
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:
Cheers!
Sebastiaan
Check out SigmundAI.eu for our OpenSesame AI assistant!
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
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.
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?
Check out SigmundAI.eu for our OpenSesame AI assistant!
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
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.)
Check out SigmundAI.eu for our OpenSesame AI assistant!
You're right about the portable distribution. I'll fix that tonight, haven't had the time to do so yet
Thank you guys,
I haven't had time to try it yet, but I'll post the result when I did try it.
Michel
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:
Greetings,
Michel
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
Check out SigmundAI.eu for our OpenSesame AI assistant!
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