psychopy.org | Reference | Downloads | Github

OpenGL drivers error


#1

Hi
I recently decided to take a few days annual leave only to return to discover my code now no longer runs on my Windows 7 machines.

I have started getting the well documented OpenGlL drivers error (something new to me) when running v.1.82.0.

Short of having to buy video cards for these machines is there a work around such as installing a previous version that wont throw this error.

My code runs fine under Windows 10 but my office and lab machines are Windows 7.

I have the most up to date drivers for my Intel G41 chipset.

Mild panic due to impending start of term - so any help gratefully received,

Philip.


#2

Could you post the actual error please?


#3

Sorry Jon here is an example
File “U:\general-17\teaching-17-18\Pinp-17\PsychoPy\onetwo-17-v1.py”, line 158, in show_suc
fixText.draw()
File “C:\Program Files (x86)\PsychoPy2\lib\site-packages\psychopy-1.82.00-py2.7.egg\psychopy\visual\text.py”, line 583, in draw
GL.glActiveTexture(GL.GL_TEXTURE1)
File “C:\Program Files (x86)\PsychoPy2\lib\site-packages\pyglet\gl\lib_wgl.py”, line 95, in call
result = self.func(*args, **kwargs)
File “C:\Program Files (x86)\PsychoPy2\lib\site-packages\pyglet\gl\lib.py”, line 63, in MissingFunction
raise MissingFunctionException(name, requires, suggestions)
pyglet.gl.lib.MissingFunctionException: glActiveTexture is not exported by the available OpenGL driver.

Thanks Philip.


#4

Hello,

It seems you are using the default Windows graphics driver which is stuck at the OpenGL 1.1 spec. glActiveTexture is part of the core profile as of 2.0. You need to check for supplemental OpenGL drivers for your chipset. I’m not sure, but it might be provided through a separate Intel GMA driver.


#5

Hello,
I believe I had the same issue in the past. For me the default windows drivers were the issue and not Psychopy. I was able to solve it by downloading and installing the manufacturer provided drivers for my video card (e.g., drivers from ATI’s website or NVidia’s website AND NOT the ones that windows gets as part of the update process or generic device install process).

Hope this helps


#6

Might be worth adding some GL version detection on Window initialization. Something like …

gl_info = self.winHandle.context.get_info()
if not gl_info.have_version(2,0,0):
    raise RuntimeError(
        "PsychoPy requires OpenGL 2.0+, exiting.")

#7

Thanks I havent tried alternative drivers I will do. I am puzzled as to why this just started happening and whether it was something about upgrading to 82. In the meantime I managed to get a graphics card and corresponding driver and this works fine. (Still need to fix my other PCs though!)
Best
Philip.


#8

Hi Philip, I’m also having the same issue as this. Was the problem resolved by changing drivers? This is my error message:

Traceback (most recent call last):
  File "C:\Users\Bliss-Moreau-Admin\Desktop\dotprobe\dotprobe-experiment.py", line 89, in <module>
    texRes=128, interpolate=True, depth=0.0)
  File "C:\Users\Bliss-Moreau-Admin\Miniconda3\envs\psypy3\lib\site-packages\psychopy\visual\image.py", line 107, in __init__
    self._updateList()  # ie refresh display list
  File "C:\Users\Bliss-Moreau-Admin\Miniconda3\envs\psypy3\lib\site-packages\psychopy\visual\basevisual.py", line 1184, in _updateList
    self._updateListNoShaders()
  File "C:\Users\Bliss-Moreau-Admin\Miniconda3\envs\psypy3\lib\site-packages\psychopy\visual\image.py", line 201, in _updateListNoShaders
    GL.glActiveTextureARB(GL.GL_TEXTURE1_ARB)
  File "C:\Users\Bliss-Moreau-Admin\Miniconda3\envs\psypy3\lib\site-packages\pyglet\gl\lib_wgl.py", line 106, in __call__
    return self.func(*args, **kwargs)
  File "C:\Users\Bliss-Moreau-Admin\Miniconda3\envs\psypy3\lib\site-packages\pyglet\gl\lib.py", line 63, in MissingFunction
    raise MissingFunctionException(name, requires, suggestions)
pyglet.gl.lib.MissingFunctionException: glActiveTextureARB is not exported by the available OpenGL driver.

#9

Hi Anthony

Its been a while since I looked at this but I am pretty sure I hit a brick wall. I suspect the answer is to upgrade to Windows 10 and use the current version of PsychoPy (something I still need to do on my lab PCs).
I nonetheless find PsychoPy to be a bit of a moving target and do worry about how unpredictably the newer updates render older working code obsolete. Hey ho…

Philip.


#10

Hi @philip.quinlan, PsychoPy is designed to be backwards compatible, so your older code should work on newer versions. Also, there is now an option to choose the version of PsychoPy you would like to use to run your experiment. So even with the latest updates, you can easily roll back to a previous version using Experiment Settings > “Use PsychoPy version”. :slight_smile:


#11

Philip, to clarify a little, this error message is definitely not to do with PsychoPy updating. The need for a graphics card that supports glActiveTextureARB has been there since PsychoPy’s first releases 15 years ago! If this was working and then stopped it must be due to a change on your system, where the driver was updated/reverted to a Microsoft one and that didn’t contain the necessary function.

What puzzles me is why any graphics card would fail to support that function though. One thing that springs to mind is whether we can dodge this particular error though… there was a time when lots of graphics cards supported glActiveTextureARB but not glActiveTexture (the former was an “extension” to OpenGL that then becamse standard). But I wonder whether some drivers might now be doing the opposite, supporting glActiveTexture but NOT glActiveTextureARB.

That could lead to Philip’s computer “updating” its graphics drivers and then breaking?!

@mdc do you have any insight here?