#3109 closed defect (fixed)
Error drawing selection outline
Reported by: | Owned by: | Tom Goddard | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Graphics | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Linux-5.3.0-28-generic-x86_64-with-debian-buster-sid ChimeraX Version: 0.93 (2020-04-03) Description Opened a PDB file. Selected a chain. Chimera X crashed. Log: UCSF ChimeraX version: 0.93 (2020-04-03) © 2016-2020 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open /home/martin/Downloads/ACE2_receptor.pdb format PDB Summary of feedback from opening /home/martin/Downloads/ACE2_receptor.pdb --- warnings | Ignored bad PDB record found on line 2 REMARK File generated by Swiss-PdbViewer 3.70b15 Ignored bad PDB record found on line 3 REMARK http://www.expasy.org/spdbv/ Ignored bad PDB record found on line 22203 SPDBVT 1.0000000000 0.0000000000 0.0000000000 Ignored bad PDB record found on line 22204 SPDBVT 0.0000000000 1.0000000000 0.0000000000 Ignored bad PDB record found on line 22205 SPDBVT 0.0000000000 0.0000000000 1.0000000000 830 messages similar to the above omitted Chain information for ACE2_receptor.pdb #1 --- Chain | Description A C | No description available B D | No description available > select /D 6089 atoms, 6252 bonds, 1 model selected 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. Traceback (most recent call last): File "/usr/lib/ucsf-chimerax/lib/python3.7/site- packages/chimerax/core/updateloop.py", line 73, in draw_new_frame view.draw(check_for_changes = False) File "/usr/lib/ucsf-chimerax/lib/python3.7/site- packages/chimerax/graphics/view.py", line 166, in draw self._draw_scene(camera, drawings) File "/usr/lib/ucsf-chimerax/lib/python3.7/site- packages/chimerax/graphics/view.py", line 235, in _draw_scene r.outline.set_outline_mask() # copy depth to outline framebuffer File "/usr/lib/ucsf-chimerax/lib/python3.7/site- packages/chimerax/graphics/opengl.py", line 1734, in set_outline_mask cfb.copy_to_framebuffer(mfb, color=False) File "/usr/lib/ucsf-chimerax/lib/python3.7/site- packages/chimerax/graphics/opengl.py", line 2167, in copy_to_framebuffer GL.glBlitFramebuffer(0, 0, w, h, 0, 0, w, h, what, GL.GL_NEAREST) File "/usr/lib/ucsf-chimerax/lib/python3.7/site- packages/PyOpenGL-3.1.5-py3.7.egg/OpenGL/platform/baseplatform.py", line 415, in __call__ return self( *args, **named ) File "src/errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError OpenGL.error.GLError: GLError( err = 1282, description = b'invalid operation', baseOperation = glBlitFramebuffer, cArguments = ( 0, 0, 1272, 692, 0, 0, 1272, 692, 256, GL_NEAREST, ) ) OpenGL version: 3.3 (Core Profile) Mesa 19.2.8 OpenGL renderer: llvmpipe (LLVM 9.0, 256 bits) OpenGL vendor: VMware, Inc. Manufacturer: innotek GmbH Model: VirtualBox OS: Ubuntu 18.04 bionic Architecture: 64bit ELF CPU: 1 Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz Cache Size: 6144 KB Graphics: 00:02.0 VGA compatible controller [0300]: VMware SVGA II Adapter [15ad:0405] Subsystem: VMware SVGA II Adapter [15ad:0405] Kernel driver in use: vmwgfx
Change History (10)
comment:1 by , 5 years ago
Component: | Unassigned → Graphics |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Error drawing selection outline |
comment:2 by , 5 years ago
This ChimeraX error is a problem specific to your graphics driver.
OpenGL version: 3.3 (Core Profile) Mesa 19.2.8
OpenGL renderer: llvmpipe (LLVM 9.0, 256 bits)
OpenGL vendor: VMware, Inc.
I believe it occurs when any green selection outline is drawn by ChimeraX. It is probably caused because the offscreen and onscreen framebuffers having different color or depth formats. But I don't have a machine with this driver to test on. You could try making ChimeraX use off-screen rendering in all cases with the following command that forces 16 bit color depth.
graphics quality colorDepth 16
If that fixes the selection outline drawing let me know. I can put some work-around in the code that always forces off-screen rendering for your graphics driver.
follow-up: 3 comment:3 by , 5 years ago
Hi Tom, I trust you are fine. Apologies for the time it took me to reply. I lost the Ubuntu 18 VM I was used when I reported the error and I needed to find some free time to set it up again. FYI - your proposed workaround fixed the issue and I can now select whichever chain I like. Thanks, Martin On 2020-04-27 19:46, ChimeraX wrote:
follow-up: 4 comment:4 by , 5 years ago
And just to verify with your new Ubuntu 18 VM you still get the error when you select if the work-around is not used?
follow-up: 5 comment:5 by , 5 years ago
Would be good if you submit the error again with the new Ubuntu VM so I can see what OpenGL driver it is using. I will make the work-around automatic by enabling offscreen rendering if the specific faulty OpenGL driver is being used.
follow-up: 6 comment:6 by , 5 years ago
One more request. Could you try ChimeraX command graphics driver verbose true and tell me the "depthbits" value reported in the Log panel? I think the error drawing selection outlines is because this Linux VMware graphics driver is using some unusual depth buffer and the outline drawing wants a 24-bit depth buffer. If this is the problem I could more reliably fix it rather than putting in a special VMware work-around. Thanks for your help.
comment:7 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed.
Another reporter of this problem (ticket #3125) verified that the VMware driver gave a 32-bit depth buffer despite ChimeraX asking for 24-bit. Added code to test for this and work around it.
follow-up: 8 comment:8 by , 5 years ago
In the new Ubuntu 18 VM I still get the same error when the work-around is NOT used. Please see trace when it crashes when selecting the chain D: ---] START OF PASTED TEXT select /D6089 atoms, 6252 bonds, 1 model selected 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. Traceback (most recent call last): File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/core/updateloop.py", line 73, in draw_new_frame view.draw(check_for_changes = False) File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/graphics/view.py", line 166, in draw self._draw_scene(camera, drawings) File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/graphics/view.py", line 235, in _draw_scene r.outline.set_outline_mask() # copy depth to outline framebuffer File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/graphics/opengl.py", line 1734, in set_outline_mask cfb.copy_to_framebuffer(mfb, color=False) File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/chimerax/graphics/opengl.py", line 2167, in copy_to_framebuffer GL.glBlitFramebuffer(0, 0, w, h, 0, 0, w, h, what, GL.GL_NEAREST) File "/usr/lib/ucsf-chimerax/lib/python3.7/site-packages/PyOpenGL-3.1.5-py3.7.egg/OpenGL/platform/baseplatform.py", line 415, in __call__ return self( *args, **named ) File "src/errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError OpenGL.error.GLError: GLError( err = 1282, description = b'invalid operation', baseOperation = glBlitFramebuffer, cArguments = ( 0, 0, 1272, 692, 0, 0, 1272, 692, 256, GL_NEAREST, ) ) ---] END OF PASTED TEXT On 2020-04-30 22:09, ChimeraX wrote:
follow-up: 9 comment:9 by , 5 years ago
Hi Tom, this is what I get right after starting Chimera X and executing "graphics driver verbose true" as requested ---] START OF PASTED TEXT graphics driver verbose truevendor: VMware, Inc. renderer: llvmpipe (LLVM 9.0, 256 bits) version: 3.3 (Core Profile) Mesa 19.2.8 GLSL version: 3.30 rgba bits: 8,8,8,0 depth bits: 32 [...] ---] END OF PASTED TEXT Regards, Martin On 2020-05-01 03:25, ChimeraX wrote:
follow-up: 10 comment:10 by , 5 years ago
Thanks. The current ChimeraX daily build should fix the problem.
Reported by Martin Mielke