Opened 19 months ago

Last modified 17 months ago

#14903 assigned defect

ChimeraX 1.7.1 Alma8/Alma9 menus not working

Reported by: vincent@… Owned by: Greg Couch
Priority: normal Milestone:
Component: Platform Version:
Keywords: Cc: Tom Goddard, Zach Pearson, Eric Pettersen
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

Hello Chimera Peeps,

We’re having difficulty running ChimeraX 1.7.1 on Alma9. The app opens fine and can load a structure with a command ( e.g. open 2bbv) but none of the top level menus work. File / Edit / Select /Actions etc do nothing when clicked.


ucsf-chimerax-1.7.1-1.el9.x86_64.rpm

 $ os
almalinux-9.0

$ glxinfo |grep -i 'OpenGL version'
OpenGL version string: 4.5 (Compatibility Profile) Mesa 21.3.4


Is this a known issue perhaps?

Thanks,
Jim




James Vincent, PhD
Bioinformatics Software Curator
Dept. of BCMP, Harvard Medical School
— BioGrids.org --


Change History (16)

comment:1 by Eric Pettersen, 19 months ago

Cc: Tom Goddard Zach Pearson added
Component: UnassignedPlatform
Owner: set to Greg Couch
Platform: all
Project: ChimeraX
Status: newassigned

Reported by James Vincent

comment:2 by Greg Couch, 19 months ago

We have heard of other failure modes with RHEL 9 related to the graphics driver. We just updated the daily build with Qt 6.6.3, so please try tomorrow's daily build to see if it fixes your problem. And please let know one way or the other. Thanks.

comment:3 by vincent@…, 19 months ago

Thanks for the update.

I have tried the daily build for April 8, chimera-daily.rpm for RedHat 8.

It seems like Qt libxcb* libraries are missing. Should they be included or do I need to supply Qt?

Jim


 $ ./chimerax-daily
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: vkkhrdisplay, minimal, offscreen, linuxfb, xcb, wayland-egl, vnc, minimalegl, eglfs, wayland.

Fatal Python error: Aborted

Current thread 0x00007fc66c85e740 (most recent call first):
  File "/nfs/builders/sbtest/jvincent/chimerax/8/usr/libexec/UCSF-ChimeraX-daily/lib/python3.11/site-packages/chimerax/ui/gui.py", line 112 in __init__
  File "/nfs/builders/sbtest/jvincent/chimerax/8/usr/libexec/UCSF-ChimeraX-daily/lib/python3.11/site-packages/chimerax/core/__main__.py", line 608 in init
  File "/nfs/builders/sbtest/jvincent/chimerax/8/usr/libexec/UCSF-ChimeraX-daily/lib/python3.11/site-packages/chimerax/core/__main__.py", line 1069 in <module>
  File "<frozen runpy>", line 88 in _run_code
  File "<frozen runpy>", line 198 in _run_module_as_main

Extension modules: chimerax.arrays._arrays, numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator, chimerax.geometry._geometry, PyQt6.QtCore, PyQt6.QtGui, PyQt6.QtWidgets, PyQt6.QtNetwork, PyQt6.QtPrintSupport, PyQt6.QtWebChannel, PyQt6.QtWebEngineCore, PyQt6.QtWebEngineWidgets (total: 23)
Aborted (core dumped)
sbtest@sbgrid-a8-gpu [] ~/jvincent/chimerax/8/usr/bin

 $ find ./ -iname "libxcb*"
sbtest@sbgrid-a8-gpu [] ~/jvincent/chimerax/8/usr/bin




James Vincent, PhD
Bioinformatics Software Curator
Dept. of BCMP, Harvard Medical School
— BioGrids.org --

On Apr 4, 2024 at 6:04 PM -0400, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>, wrote:
>

comment:4 by Greg Couch, 19 months ago

There is a missing dependency on the xcb-util-cursor package. Run "dnf 
install xcb-util-cursor" (sudo if needed) and ChimeraX will work.  That 
dependency should be in the daily builds starting on April 7, so I'll 
investigate why not.

     -- Greg

On 4/8/2024 9:15 AM, James Vincent wrote:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>> #14903: ChimeraX 1.7.1 Alma8/Alma9 menus not working
>> --------------------------------+------------------------
>> Reporter: vincent@\u2026 | Owner: Greg Couch
>> Type: defect | Status: assigned
>> Priority: normal | Milestone:
>> Component: Platform | Version:
>> Resolution: | Keywords:
>> Blocked By: | Blocking:
>> Notify when closed: | Platform: all
>> Project: ChimeraX |
>> --------------------------------+------------------------
>> Comment (by Greg Couch):
>>
>> We have heard of other failure modes with RHEL 9 related to the graphics
>> driver. We just updated the daily build with Qt 6.6.3, so please try
>> tomorrow's daily build to see if it fixes your problem. And please let
>> know one way or the other. Thanks.
>> --
>> Ticket URL: 
>> <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/14903#comment:2>
>> ChimeraX <https://www.rbvi.ucsf.edu/chimerax/>
>> ChimeraX Issue Tracker

comment:5 by vincent@…, 18 months ago

We find the xcb-util-curos package is still missing from the ChimeraX Daily CentOS 8  for May 6:

$ ./chimerax-daily
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.


Is this something we must provide on our end or is it likely to be included with ChimeraX?

Thanks,
Jim



James Vincent, PhD
Bioinformatics Software Curator
Dept. of BCMP, Harvard Medical School
— BioGrids.org --

On Apr 8, 2024 at 1:21 PM -0400, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>, wrote:
>
>
>

comment:6 by vincent@…, 18 months ago

I have been able to get the chimerax Rocky 8 daily build to work on a Rocky 8.9 machine by adding in the missing libraries (listed below).

This same build with extra libraries still does not work on a AlmaLinux 8.8 machine though. It starts and loads a molecule, can manipulate the molecule, etc, but none of the top level drop down menus work. Nothing happens when you click them - no error messages either. Not sure where to go with this. Any help is appreciated.

Jim

libxcb-1.13.1-1.el8.x86_64.rpm
libxcb-devel-1.13.1-1.el8.x86_64.rpm
xcb-util-0.4.0-10.el8.x86_64.rpm
xcb-util-cursor-0.1.3-9.el8.x86_64.rpm
xcb-util-image-0.4.0-9.el8.x86_64.rpm
xcb-util-keysyms-0.4.0-7.el8.x86_64.rpm
xcb-util-renderutil-0.3.9-10.el8.x86_64.rpm
xcb-util-wm-0.4.1-12.el8.x86_64.rpm


James Vincent, PhD
Bioinformatics Software Curator
Dept. of BCMP, Harvard Medical School
— BioGrids.org --

On May 6, 2024 at 8:34 AM -0400, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>, wrote:
>
>
>
>
>
>
>
>
>

comment:7 by vincent@…, 18 months ago

We have found the top level menus (File, etc) are actually functional if you traverse (blindly) with the arrow keys. They just cannot be seen on screen, at all. There is a warning in the startup message window:

warning	QMainWidget::resizeDocks: all sizes need to be larger than 0

The entire application also opens in the top left corner of the screen in a very small size. Maybe this is related.

We don’t know how to get around the main menu issue and are reluctant to send this to users.

Any advice is appreciated.

Jim

On May 10, 2024 at 9:10 AM -0400, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>, wrote:
>
>
>
>
>
>
>

comment:8 by Greg Couch, 18 months ago

The xcb-util-cursor package is in the EPEL repository. So for ChimeraX 1.8 and later, you need both the EPEL and CRB repositories enabled before using dnf to install ChimeraX. Then all of the appropriate dependencies will be installed.

What are the graphics differences between the Rocky 8 system where ChimeraX works and the Alma Linux 8 system where it doesn't? Specifically, what is the output of "lspci | grep VGA" and the output of "glxinfo | grep -E 'OpenGL.*(vendor|renderer)'" for the two systems?

comment:9 by vincent@…, 18 months ago

This is the output from Alma machine running in a VNC session to a virtual machine. This is the one that gives problems with menus:

------------
AlmaLinux release 8.8 (Sapphire Caracal)
01:00.0 VGA compatible controller: NVIDIA Corporation GA104 [GeForce RTX 3070] (rev a1)
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 3070/PCIe/SSE2


This is the output from Rocky 8 machine which is an OpenOnDemand virtual desktop running on a Rocky 8 cluster node. This works fine:

------------
Rocky Linux release 8.9 (Green Obsidian)
02:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200e [Pilot] ServerEngines (SEP1) (rev 42)
OpenGL vendor string: Mesa
OpenGL renderer string: llvmpipe (LLVM 16.0.6, 256 bits)




On May 16, 2024 at 1:53 PM -0400, ChimeraX-bugs@cgl.ucsf.edu, wrote:
>

comment:10 by vincent@…, 18 months ago

Correction - the Alma 8 machine is real hardware, not a virtual machine. We do access it with VNC though.

On May 16, 2024 at 2:21 PM -0400, ChimeraX-bugs@cgl.ucsf.edu, wrote:
>

comment:11 by Eric Pettersen, 18 months ago

Cc: Eric Pettersen added

I also have a couple of things I'd like you to try:

  1. Remove ~/.config/ChimeraX/ui-1
  2. Edit /nfs/builders/sbtest/jvincent/chimerax/8/usr/libexec/UCSF-ChimeraX-daily/lib/python3.11/site-packages/chimerax/ui/gui.py and above line 544 (a comment starting with "# full screen works...") insert "return" (at the same indentation level)

Let me know if these affect the behavior at all.

comment:12 by vincent@…, 18 months ago

I notice no difference for either of these changes. The menus still cannot be seen. In the terminal this message displays:

WARNING: QMainWidget::resizeDocks: all sizes need to be larger than 0


I’ve checked our other versions of chimerax and they do the same thing, at least 1.7 and 1.6.1. It seems it might be related to using VNC.

I think we’ll probably push 1.7.1 to users.

Thanks for your help.

Jim


James Vincent, PhD
Bioinformatics Software Curator
Dept. of BCMP, Harvard Medical School
— BioGrids.org --

On May 16, 2024 at 3:13 PM -0400, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>, wrote:
>
>
>
>
>

comment:13 by goddard@…, 18 months ago

If it only happens when using VNC then it may simply be that that VNC server doesn't detect the menus being shown so it doesn't send the display update to the VNC client.  That would be a bug in VNC or the windowing system on Alma8/Alma9.

comment:14 by Greg Couch, 18 months ago

If you use the Alma Linux system via the console, does it work? And I missed one more glxinfo item, the OpenGL version, which also shows the driver version. So what is the output of "glxinfo | grep 'OpenGL version'"?

comment:15 by vincent@…, 17 months ago

 $ glxinfo | grep 'OpenGL version'
OpenGL version string: 4.6.0 NVIDIA 535.104.05


When attempting to run with X11 forwarding (no VNC), I get this, with a blank main window:

ERROR: ChimeraX requires an OpenGL graphics core profile.
Your computer graphics driver is only offering a non-core profile (version 4.6).
Try updating your graphics driver.

On May 16, 2024 at 4:35 PM -0400, ChimeraX-bugs@cgl.ucsf.edu, wrote:
>

comment:16 by Greg Couch, 17 months ago

Please try at the console without VNC, nor X forwarding. X forwarding can work, but often doesn't. Officially we do not support X forwarding because it is very buggy. Typically the problem is an incompatible implementations of the GLX protocol between the client and server. If the two computers are running the same version of Linux and have the same graphics driver installed, it can work. If the remote system is not using Nvidia graphics, it is more likely to work. For example, I use the cygwin X server on my Windows PC, and use X forwarding (ssh -XY).

Note: See TracTickets for help on using tickets.