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.