ring-pymol icon indicating copy to clipboard operation
ring-pymol copied to clipboard

PyMOL RING Plugin Install Attempt (Native, Local Conda, Singularity)

Open Alain-chavanieu opened this issue 4 months ago • 1 comments

HELP please !

Context

We are trying to install and run the RING PyMOL Plugin on Red Hat Enterprise Linux 8.9 with:

PyMOL 3.1.0
qt_material for PyQt styling
Miniconda environment (biotest)
NVIDIA GPU, OpenGL OK

What we did ✅ 1) Native install

Cloned the plugin repo.

Installed dependencies with conda env create -f environment.yml.

Verified PyMOL loads the plugin.

But icons in .ui refer to icon:/primary/... (Qt resource paths).

Result: PyMOL starts, but GUI reports:

qt.svg: Cannot open file '/disk/prog/ring-pymol/icon:/primary/checklist.svg'

✅ 2) Local manual fix

We created assets/primary/ and copied missing SVGs there.

We edited .ui files to point to ../assets/primary/... directly.

Partial success for some buttons — but qt_material still references icon:/... paths.

Result: PyMOL runs but many icons still missing — broken buttons.

✅ 3) Singularity/Apptainer container

Built a container with:

Bootstrap: docker From: continuumio/miniconda3:latest

%post cd /opt git clone https://github.com/BioComputingUP/ring-pymol ./ring-pymol conda env create -f environment-open-source.yml

Activated X11 (DISPLAY, XAUTHORITY) and GPU pass-through.

PyMOL launches inside the container (apptainer shell --nv ...).

Same problem: icons not found: qt.svg: Cannot open file '/disk/prog/ring-pymol/icon:/primary/checkbox_unchecked.svg'

Root cause (we suspect)

The plugin uses Qt resource prefixes (icon:/...) in .ui files or qt_material.

But no resources.qrc is provided or compiled.

So no .qrc → .py resource module exists → Qt does not find these paths.

We tried

Fixing .ui manually to hard paths → partial.

Bundling icons into assets/primary/ → partial.

Running PyMOL in container with correct X11 and OpenGL → same error.

Verified $DISPLAY and $XAUTHORITY → OK.

OpenGL and rendering otherwise work fine.

Issue

We still get broken GUI due to: qt.svg: Cannot open file '/disk/prog/ring-pymol/icon:/...'

Expected

👉 How should we package or compile the plugin so icon:/ works?

Options we see:

Provide a resources.qrc + compile with pyrcc5 → generate resources_rc.py → import it?

Re-write .ui + .qss to use relative disk paths only?

Correct qt_material style to fallback on disk icons?

Other?

System

OS: RHEL 8.9

Apptainer 1.4.1 (formerly Singularity)

PyMOL 3.1.0

OpenGL: fine

X11 forwarding: OK

Sample error qt.svg: Cannot open file '/disk/prog/ring-pymol/icon:/primary/radiobutton_checked.svg'

Request

📌 Clear instructions to:

Compile or provide a .qrc

Or correct paths for PyQt

Or official fix/workaround for qt_material

Thank you for your help!

Alain-chavanieu avatar Jul 09 '25 14:07 Alain-chavanieu