Skip to content

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

@Alain-chavanieu

Description

@Alain-chavanieu

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions