This is a bug in the ArtiaX ChimeraX extension. It has been reported several times over the past few years. Developer of ArtiaX Utz Ermel would need to fix it. If you use the Report Bug button
when you get this error we will assign it to Utz and it may help get him to make a fix.
The error message means your graphics does not have enough memory to allocate a 3D texture to show the tomogram at full 1440 x 1023 x 512 resolution. The problem is insufficient GPU memory, not
CPU memory. I believe ArtiaX always tries to show it at full resolution, which is reasonable, but ArtiaX needs to detect if this is beyond the memory limits of your GPU, and in that case show it at step 2 (subsampled), or possibly use 2D textures.
You can probably work around the error in a cumbersome way by switching the tomogram step size to 2 using the Volume Viewer panel or command "volume #1 step 2" and then typing command "graphics
restart" to tell ChimeraX to continue rendering the models.
On Feb 11, 2026, at 7:30 AM, Bullitt, Esther via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
hi,
I am able to open a tomogram in ChimeraX, but when I launch ArtiaX and try to open the same tomogram: 1440, 1023, 512, I get the error below.
Is there somewhere I can increase the memory it is allowed to use? How much does it need?
thank you for any assistance.
Sincerely,
Esther
An error occurred in drawing the scene. Redrawing graphics is now stopped to avoid a continuous stream of error messages. To restart graphics use the command "graphics restart" after changing the settings that caused the error.
GLError(
err = 1285,
description = b'out of memory',
baseOperation = glTexImage3D,
pyArgs = (
GL_TEXTURE_3D,
0,
GL_R32F,
1440,
1023,
512,
0,
GL_RED,
GL_FLOAT,
array([[[ 1.5736278e+00, 5.7081121e-01, 6.6328174e-01, ...,
-1.9499358e+00, -1.1798207e+00, -3.7762100e-01...,
),
cArgs = (
GL_TEXTURE_3D,
0,
GL_R32F,
1440,
1023,
512,
0,
GL_RED,
GL_FLOAT,
array([[[ 1.5736278e+00, 5.7081121e-01, 6.6328174e-01, ...,
-1.9499358e+00, -1.1798207e+00, -3.7762100e-01...,
),
cArguments = (
GL_TEXTURE_3D,
0,
GL_R32F,
1440,
1023,
512,
0,
GL_RED,
GL_FLOAT,
array([[[ 1.5736278e+00, 5.7081121e-01, 6.6328174e-01, ...,
-1.9499358e+00, -1.1798207e+00, -3.7762100e-01...,
)
)
Traceback (most recent call last):
File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages/chimerax/core/updateloop.py", line 84, in draw_new_frame
view.draw(check_for_changes = False)
File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages/chimerax/graphics/view.py", line 188, in draw
self._draw_scene(camera, drawings)
File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages/chimerax/graphics/view.py", line 259, in _draw_scene
draw_opaque(r, opaque_drawings)
File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages/chimerax/graphics/drawing.py", line 1559, in draw_opaque
_draw_multiple(drawings, renderer, Drawing.OPAQUE_DRAW_PASS)
File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages/chimerax/graphics/drawing.py", line 1572, in _draw_multiple
d.draw(renderer, draw_pass)
File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages/chimerax/map/image3d.py", line 936, in draw
drawing = self._update_view_axis(renderer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages/chimerax/map/image3d.py", line 662, in _update_view_axis
pd = self._update_3d_texture_planes(view_dir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages/chimerax/map/image3d.py", line 714, in _update_3d_texture_planes
pd = self._texture_3d_planes()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages/chimerax/map/image3d.py", line 724, in _texture_3d_planes
pd = Texture3dPlanes(self)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages/chimerax/map/image3d.py", line 1551, in __init__
self._fill_textures()
File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages/chimerax/map/image3d.py", line 1668, in _fill_textures
t.reload_texture(td, now=True)
File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages/chimerax/graphics/opengl.py", line 3210, in reload_texture
self.fill_opengl_texture()
File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages/chimerax/graphics/opengl.py", line 3220, in fill_opengl_texture
self.initialize_texture(size, format, iformat, tdtype, ncomp, data)
File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site-packages/chimerax/graphics/opengl.py", line 3100, in initialize_texture
GL.glTexImage3D(gl_target, 0, iformat, size[0], size[1], size[2],
File "src/latebind.pyx", line 40, in OpenGL_accelerate.latebind.LateBind.__call__
File "src/wrapper.pyx", line 319, in OpenGL_accelerate.wrapper.Wrapper.__call__
File "src/wrapper.pyx", line 312, in OpenGL_accelerate.wrapper.Wrapper.__call__
File "src/errorchecker.pyx", line 59, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError
OpenGL.error.GLError: GLError(
err = 1285,
description = b'out of memory',
baseOperation = glTexImage3D,
pyArgs = (
GL_TEXTURE_3D,
0,
GL_R32F,
1440,
1023,
512,
0,
GL_RED,
GL_FLOAT,
array([[[ 1.5736278e+00, 5.7081121e-01, 6.6328174e-01, ...,
-1.9499358e+00, -1.1798207e+00, -3.7762100e-01...,
),
cArgs = (
GL_TEXTURE_3D,
0,
GL_R32F,
1440,
1023,
512,
0,
GL_RED,
GL_FLOAT,
array([[[ 1.5736278e+00, 5.7081121e-01, 6.6328174e-01, ...,
-1.9499358e+00, -1.1798207e+00, -3.7762100e-01...,
),
cArguments = (
GL_TEXTURE_3D,
0,
GL_R32F,
1440,
1023,
512,
0,
GL_RED,
GL_FLOAT,
array([[[ 1.5736278e+00, 5.7081121e-01, 6.6328174e-01, ...,
-1.9499358e+00, -1.1798207e+00, -3.7762100e-01...,
)
)
_______________________________________________
ChimeraX-users mailing list -- chimerax-users@cgl.ucsf.edu
To unsubscribe send an email to chimerax-users-leave@cgl.ucsf.edu
Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/