Opened 9 months ago
Closed 9 months ago
#16772 closed defect (fixed)
OpenGL on Ubuntu doesn't like the raycasting shader
| Reported by: | Zach Pearson | Owned by: | Zach Pearson |
|---|---|---|---|
| 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-6.8.0-52-generic-x86_64-with-glibc2.35
ChimeraX Version: 1.10.dev202502031946 (2025-02-03 19:46:17 UTC)
Description
Replace this text with list of actions that caused this problem to occur
Log:
Startup Messages
---
note | available bundle cache has not been initialized yet
UCSF ChimeraX version: 1.10.dev202502031946 (2025-02-03)
© 2016-2025 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open 1.3.6.1.4.1.9328.50.1.83304264089411327530730818890072724533 format
> dicom fromDatabase tcia
Summary of feedback from opening
1.3.6.1.4.1.9328.50.1.83304264089411327530730818890072724533 fetched from tcia
---
note | Opened 4 CT (No Description) as #1.1.1, grid size 512,512,236, pixel 0.576,0.576,1.24, shown at step 1, values int16
Images from TCIA may be rotated so that flat planes appear invisible. If the
screen looks black but no error message has been issued, try rotating the
model into view with your mouse.
> volume projectionMode rays
An OpenGL graphics error occurred. Most often this is caused by a graphics
driver bug. The only way to fix such bugs is to update your graphics driver.
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.
Link failure (0): b"error: uniform `step_size' declared as type `float' and
type `vec3'\n"
Traceback (most recent call last):
File "/home/zjp/git/rbvi/ChimeraX/ChimeraX.app/lib/python3.11/site-
packages/chimerax/core/updateloop.py", line 84, in draw_new_frame
view.draw(check_for_changes = False)
File "/home/zjp/git/rbvi/ChimeraX/src/bundles/graphics/src/view.py", line 188,
in draw
self._draw_scene(camera, drawings)
File "/home/zjp/git/rbvi/ChimeraX/src/bundles/graphics/src/view.py", line 266,
in _draw_scene
draw_transparent(r, transparent_drawings)
File "/home/zjp/git/rbvi/ChimeraX/src/bundles/graphics/src/drawing.py", line
1564, in draw_transparent
r.draw_transparent(
File "/home/zjp/git/rbvi/ChimeraX/src/bundles/graphics/src/opengl.py", line
1312, in draw_transparent
draw()
File "/home/zjp/git/rbvi/ChimeraX/src/bundles/graphics/src/drawing.py", line
1566, in <lambda>
lambda: _draw_multiple(drawings, r, Drawing.TRANSPARENT_DRAW_PASS))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/zjp/git/rbvi/ChimeraX/src/bundles/graphics/src/drawing.py", line
1572, in _draw_multiple
d.draw(renderer, draw_pass)
File "/home/zjp/git/rbvi/ChimeraX/ChimeraX.app/lib/python3.11/site-
packages/chimerax/map/image3d.py", line 944, in draw
self._draw_planes(renderer, draw_pass, dtransp, drawing)
File "/home/zjp/git/rbvi/ChimeraX/ChimeraX.app/lib/python3.11/site-
packages/chimerax/map/image3d.py", line 963, in _draw_planes
drawing.draw(r, draw_pass)
File "/home/zjp/git/rbvi/ChimeraX/ChimeraX.app/lib/python3.11/site-
packages/chimerax/map/image3d.py", line 1281, in draw
Drawing.draw(self, renderer, draw_pass)
File "/home/zjp/git/rbvi/ChimeraX/src/bundles/graphics/src/drawing.py", line
784, in draw
self.draw_self(renderer, draw_pass)
File "/home/zjp/git/rbvi/ChimeraX/src/bundles/graphics/src/drawing.py", line
795, in draw_self
self._draw_geometry(renderer, transparent_only = any_opaque)
File "/home/zjp/git/rbvi/ChimeraX/src/bundles/graphics/src/drawing.py", line
822, in _draw_geometry
shader = r.shader(sopt)
^^^^^^^^^^^^^^
File "/home/zjp/git/rbvi/ChimeraX/src/bundles/graphics/src/opengl.py", line
703, in shader
p = self._opengl_shader(options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/zjp/git/rbvi/ChimeraX/src/bundles/graphics/src/opengl.py", line
805, in _opengl_shader
p = Shader(capabilities = capabilities, max_shadows =
self.multishadow.max_multishadows())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/zjp/git/rbvi/ChimeraX/src/bundles/graphics/src/opengl.py", line
2886, in __init__
self.program_id = self.compile_shader(vertex_shader_path,
fragment_shader_path,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/zjp/git/rbvi/ChimeraX/src/bundles/graphics/src/opengl.py", line
2950, in compile_shader
prog_id = self.compile_program(vs, fs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/zjp/git/rbvi/ChimeraX/src/bundles/graphics/src/opengl.py", line
2978, in compile_program
raise OpenGLError( 'Link failure (%s): %s'
chimerax.graphics.opengl.OpenGLError: Link failure (0): b"error: uniform
`step_size' declared as type `float' and type `vec3'\n"
OpenGL version: 4.6 (Core Profile) Mesa 23.2.1-1ubuntu3.1~22.04.3
OpenGL renderer: AMD Radeon RX 480 Graphics (polaris10, LLVM 15.0.7, DRM 3.57, 6.8.0-52-generic)
OpenGL vendor: AMD
Python: 3.11.4
Locale: en_US.UTF-8
Qt version: PyQt6 6.7.1, Qt 6.7.1
Qt runtime version: 6.7.3
Qt platform: xcb
XDG_SESSION_TYPE=wayland
DESKTOP_SESSION=ubuntu
XDG_SESSION_DESKTOP=ubuntu
XDG_CURRENT_DESKTOP=ubuntu:GNOME
WAYLAND_DISPLAY=wayland-0
GNOME_SETUP_DISPLAY=:1
DISPLAY=:0
Manufacturer: Gigabyte Technology Co., Ltd.
Model: To be filled by O.E.M.
OS: Ubuntu 22.04
Architecture: 64bit ELF
Virtual Machine: none
CPU: 8 Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
Cache Size: 8192 KB
Memory:
total used free shared buff/cache available
Mem: 60Gi 2.6Gi 54Gi 107Mi 3.1Gi 57Gi
Swap: 7.5Gi 0B 7.5Gi
Graphics:
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev c7)
Subsystem: ASUSTeK Computer Inc. Radeon RX 480 [1043:04a8]
Kernel driver in use: amdgpu
Installed Packages:
alabaster: 1.0.0
anyio: 4.8.0
appdirs: 1.4.4
asttokens: 3.0.0
auditwheel: 6.2.0
babel: 2.17.0
beautifulsoup4: 4.12.3
blockdiag: 3.0.0
blosc2: 3.0.0
build: 1.2.1
certifi: 2025.1.31
cftime: 1.6.4.post1
charset-normalizer: 3.4.1
ChimeraX-AddCharge: 1.5.18
ChimeraX-AddH: 2.2.6
ChimeraX-AlignmentAlgorithms: 2.0.2
ChimeraX-AlignmentHdrs: 3.6
ChimeraX-AlignmentMatrices: 2.1
ChimeraX-Alignments: 2.18.1
ChimeraX-AlphaFold: 1.0.1
ChimeraX-AltlocExplorer: 1.1.2
ChimeraX-AmberInfo: 1.0
ChimeraX-Aniso: 1.0
ChimeraX-Arrays: 1.1
ChimeraX-Atomic: 1.60.2
ChimeraX-AtomicLibrary: 14.1.13
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.4
ChimeraX-BasicActions: 1.1.2
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 3.0.0
ChimeraX-BondRot: 2.0.4
ChimeraX-BugReporter: 1.0.2
ChimeraX-BuildStructure: 2.13.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.4.0
ChimeraX-ButtonPanel: 1.0.1
ChimeraX-CageBuilder: 1.0.1
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.4
ChimeraX-ChangeChains: 1.1
ChimeraX-CheckWaters: 1.4
ChimeraX-ChemGroup: 2.0.1
ChimeraX-Clashes: 2.3
ChimeraX-ColorActions: 1.0.5
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.8
ChimeraX-CommandLine: 1.2.5
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.10.dev202502031946
ChimeraX-CoreFormats: 1.2
ChimeraX-coulombic: 1.4.4
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0.1
ChimeraX-DataFormats: 1.2.3
ChimeraX-Dicom: 1.2.7
ChimeraX-DistMonitor: 1.4.2
ChimeraX-DockPrep: 1.1.3
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ESMFold: 1.0
ChimeraX-FileHistory: 1.0.1
ChimeraX-FunctionKey: 1.0.1
ChimeraX-Geometry: 1.3
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.4.1
ChimeraX-Hbonds: 2.5
ChimeraX-Help: 1.3
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.3
ChimeraX-ItemsInspection: 1.0.1
ChimeraX-IUPAC: 1.0
ChimeraX-KVFinder: 1.5.1
ChimeraX-Label: 1.1.14
ChimeraX-LinuxSupport: 1.0.1
ChimeraX-ListInfo: 1.2.2
ChimeraX-Log: 1.2
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.9.1
ChimeraX-Map: 1.3
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0.1
ChimeraX-MapFilter: 2.0.1
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.1.1
ChimeraX-Markers: 1.0.1
ChimeraX-Mask: 1.0.2
ChimeraX-MatchMaker: 2.1.7
ChimeraX-MCopy: 1.0
ChimeraX-MDcrds: 2.7.2
ChimeraX-MedicalToolbar: 1.1
ChimeraX-Meeting: 1.0.1
ChimeraX-MLP: 1.1.1
ChimeraX-mmCIF: 2.14.2
ChimeraX-MMTF: 2.2
ChimeraX-ModelArchive: 1.0
ChimeraX-Modeller: 1.5.18
ChimeraX-ModelPanel: 1.5
ChimeraX-ModelSeries: 1.0.1
ChimeraX-Mol2: 2.0.3
ChimeraX-Mole: 1.0
ChimeraX-Morph: 1.0.2
ChimeraX-MouseModes: 1.2
ChimeraX-Movie: 1.0
ChimeraX-MutationScores: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nifti: 1.2
ChimeraX-NMRSTAR: 1.0.2
ChimeraX-NRRD: 1.2
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OpenCommand: 1.14
ChimeraX-OrthoPick: 1.0.1
ChimeraX-PDB: 2.7.7
ChimeraX-PDBBio: 1.0.1
ChimeraX-PDBLibrary: 1.0.4
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0.1
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1.2
ChimeraX-ProfileGrids: 1.0.1
ChimeraX-PubChem: 2.2
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1.2
ChimeraX-RemoteControl: 1.0
ChimeraX-RenderByAttr: 1.6.3
ChimeraX-RenumberResidues: 1.1
ChimeraX-ResidueFit: 1.0.1
ChimeraX-RestServer: 1.3.1
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 4.0
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.5.1
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0.3
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0.1
ChimeraX-Segmentations: 3.5.7
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.15
ChimeraX-Shape: 1.1
ChimeraX-Shell: 1.0.1
ChimeraX-Shortcuts: 1.2.0
ChimeraX-ShowSequences: 1.0.3
ChimeraX-SideView: 1.0.1
ChimeraX-SimilarStructures: 1.0.1
ChimeraX-Smiles: 2.1.2
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.19.1
ChimeraX-STL: 1.0.1
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.2.1
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0.1
ChimeraX-SwapAA: 2.0.1
ChimeraX-SwapRes: 2.5.1
ChimeraX-TapeMeasure: 1.0
ChimeraX-TaskManager: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.2.3
ChimeraX-ToolshedUtils: 1.2.4
ChimeraX-Topography: 1.0
ChimeraX-ToQuest: 1.0
ChimeraX-Tug: 1.0.1
ChimeraX-UI: 1.43
ChimeraX-Umap: 1.0
ChimeraX-uniprot: 2.3.1
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.4.4
ChimeraX-VIPERdb: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0.1
ChimeraX-vrml: 1.0
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0.2
ChimeraX-WebServices: 1.1.4
ChimeraX-Zone: 1.0.1
colorama: 0.4.6
comm: 0.2.2
contourpy: 1.3.1
cxservices: 1.2.3
cycler: 0.12.1
Cython: 3.0.10
debugpy: 1.8.12
decorator: 5.1.1
distro: 1.9.0
docutils: 0.21.2
executing: 2.2.0
filelock: 3.15.4
fonttools: 4.55.8
funcparserlib: 2.0.0a0
glfw: 2.8.0
grako: 3.16.5
h11: 0.14.0
h5py: 3.12.1
html2text: 2024.2.26
httpcore: 1.0.7
httpx: 0.28.1
idna: 3.10
ihm: 1.3
imagecodecs: 2024.6.1
imagesize: 1.4.1
ipykernel: 6.29.5
ipython: 8.26.0
ipywidgets: 8.1.5
jedi: 0.19.1
Jinja2: 3.1.5
jupyter_client: 8.6.2
jupyter_core: 5.7.2
jupyterlab_widgets: 3.0.13
kiwisolver: 1.4.8
line_profiler: 4.1.3
lxml: 5.2.2
lz4: 4.3.3
MarkupSafe: 3.0.2
matplotlib: 3.9.2
matplotlib-inline: 0.1.7
msgpack: 1.0.8
ndindex: 1.9.2
nest-asyncio: 1.6.0
netCDF4: 1.6.5
networkx: 3.3
nibabel: 5.2.0
nptyping: 2.5.0
numexpr: 2.10.2
numpy: 1.26.4
OpenMM: 8.2.0
openvr: 1.26.701
packaging: 23.2
ParmEd: 4.2.2
parso: 0.8.4
pep517: 0.13.1
pexpect: 4.9.0
pickleshare: 0.7.5
pillow: 10.4.0
pip: 24.2
pkginfo: 1.11.1
platformdirs: 4.3.6
prompt_toolkit: 3.0.50
psutil: 6.0.0
ptyprocess: 0.7.0
pure_eval: 0.2.3
py-cpuinfo: 9.0.0
pycollada: 0.8
pydicom: 2.4.4
pyelftools: 0.31
Pygments: 2.18.0
pynmrstar: 3.3.5
pynrrd: 1.0.0
PyOpenGL: 3.1.7
PyOpenGL-accelerate: 3.1.7
pyopenxr: 1.0.3401
pyparsing: 3.2.1
pyproject_hooks: 1.2.0
PyQt6: 6.7.1
PyQt6-Qt6: 6.7.3
PyQt6-WebEngine: 6.7.0
PyQt6-WebEngine-Qt6: 6.7.3
PyQt6-WebEngineSubwheel-Qt6: 6.7.3
PyQt6_sip: 13.8.0
python-dateutil: 2.9.0.post0
pytz: 2025.1
pyzmq: 26.2.1
qtconsole: 5.5.2
QtPy: 2.4.2
qtshim: 1.1
RandomWords: 0.4.0
requests: 2.32.3
scipy: 1.14.0
setuptools: 72.1.0
sfftk-rw: 0.8.1
six: 1.16.0
sniffio: 1.3.1
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
soupsieve: 2.6
Sphinx: 8.0.2
sphinx-autodoc-typehints: 2.2.3
sphinxcontrib-applehelp: 2.0.0
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 2.0.0
sphinxcontrib-htmlhelp: 2.1.0
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 2.0.0
sphinxcontrib-serializinghtml: 2.0.0
stack-data: 0.6.3
superqt: 0.6.3
tables: 3.10.2
tcia_utils: 1.5.1
tifffile: 2024.7.24
tinyarray: 1.2.4
tornado: 6.4.2
traitlets: 5.14.3
typing_extensions: 4.12.2
tzdata: 2025.1
urllib3: 2.3.0
wcwidth: 0.2.13
webcolors: 24.6.0
wheel: 0.43.0
wheel-filename: 1.4.1
widgetsnbextension: 4.0.13
Change History (2)
comment:1 by , 9 months ago
| Component: | Unassigned → Graphics |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Reporter: | changed from to |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → OpenGL on Ubuntu doesn't like the raycasting shader |
comment:2 by , 9 months ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.
Fixed in this commit. As that commit's message reads: Some OpenGL implementations are stricter than others it seems. On my Mac, the previous shader happily compiles. On my Ubuntu machine, GL complains that the same uniform has a different data type in the two shaders.