Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#1427 closed defect (fixed)

offscreen rendering fails

Reported by: Lukas Pravda <lpravda@…> Owned by: Greg Couch
Priority: blocker Milestone: 0.8
Component: Graphics Version:
Keywords: Cc:
Blocked By: 1466 Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

Running 'chimerax-daily --nogui --offscreen' fails to get an offscreen render buffer, even though the OSMesa installation has the necessary API:

$ chimerax-daily --offscreen --nogui
Offscreen rendering is not available.
Need OSMesa library from Mesa version 12.0 or newer for offscreen rendering.
0.00% done: Initializing core
50.00% done: Initializing bundles
100.00% done: Finished initialization
UCSF ChimeraX version: 0.8 (2018-09-28)
cmd> 

Tested on Ubuntu 18.04 with libosmesa8 18.0.4 and CentOS 7.5 with mesa-libOSMesa 17.2.3.

Change History (3)

comment:1 by Greg Couch, 7 years ago

Blocked By: 1466

Found out that the OSMesa provided by Linux vendors (Ubuntu/CentOS/RHEL) only supports OpenGL 2.1. ChimeraX needs OpenGL 3.3 or newer. So start compiling a version of OSMesa that does support OpenGL 3.3 (--enable-llvm) and include it in the distribution.

Even with those fixes, the offscreen rendering doesn't work because various internal APIs have changed and the offscreen code didn't change with it. Filed ticket #1466 to track those fixes.

comment:2 by Greg Couch, 7 years ago

Status: assignedfeedback

Hi Lukas,

In the daily build of ChimeraX, dated 2018-11-30, offscreen rendering is working. But it is limited to the Linux platform (Linux, Ubuntu, CentOS, etc.). Please try it out and let know if you have any problems.

-- Greg

comment:3 by Greg Couch, 7 years ago

Resolution: fixed
Status: feedbackclosed

(libGLX, mentioned below was incorrect. Library should have been linked against libGL.)

Hi Greg,

I can confirm we got the offscreen rendering working in our cluster. Once again thanks a lot for help!

Lukas

On 04/12/2018, 01:38, "Greg Couch" <gregc@cgl.ucsf.edu> wrote:

    We're expecting the next daily builds to succeed on all versions of 
    Linux.  There is a good chance that the offscreen code in the generic 
    Linux version will not work on Red Hat 7.4.  You should get the CentOS 7 
    rpm, and extract the files using:
    
         rpm2cpio  ucsf-chimerax.rpm | cpio -i
    
    The files you want will be in ./opt/UCSF/ChimeraX-daily.  You should 
    also check that all of the prerequisites are installed on the server and 
    if not, get the admins to install them.  You can see those with:
    
         rpm -qpR ucsf-chimerax.rpm
    
    In particular, mesa-private-llvm is needed for the embedded libOSMesa to 
    work.  The system version of libOSMesa does not use llvm and thus only 
    exposes OpenGL 2.1, and ChimeraX needs OpenGL 3.3 or better.
    
         -- Greg
    
    On 12/2/18 3:15 PM, Lukas Pravda wrote:
    > Great ( There is actually another team waiting for this feature, so they will integrate it into their release process.
    >
    > Our cluster is running Red Hat 7.4, however since I was lazy, I still download the generic version. That one requires just unpacking along with the extra libraries and that’s it. I reckon I should have tried the RH build as well. It is just a bit inconvenient that we do not have admin rights, so I need to have a look into installing it without it.
    >
    > Lukas
    >
    > On 02/12/2018, 05:45, "gregc@cgl.ucsf.edu" <gregc@cgl.ucsf.edu> wrote:
    >
    >      It worked for me   ChimeraX currently has a compile and run time dependency on libGLX, which is only present on systems with X servers.  Offscreen rendering should work with having a X server installed.  And our build environment is on a compute server (VM) and caught that problem.  I will be working with Tom Goddard on how best to resolve the issue.  It should be done early next week.
    >      
    >      For my edification, what version of Linux are you using that the generic version is best?
    >      
    >         -- Greg
    >      
    >      December 1, 2018 1:19 PM, "Lukas Pravda" <lpravda@ebi.ac.uk> wrote:
    >      
    >      > Hi Greg,
    >      >
    >      > Thanks a lot for this fix! Will definitely have a look once this is available for download. Not
    >      > sure what your build process is, but the only Linux version which is available at the moment with
    >      > that functionality according to the description at the download page is Ubuntu. However, I’d need
    >      > Generic Linux version (presently still built: 2018-11-29 03:18:31 PST).
    >      >
    >      > Best,
    >      > Lukas
    >      >
    >      > On 30/11/2018, 04:26, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:
    >      >
    >      > #1427: offscreen rendering fails
    >      > -----------------------------------------------+----------------------
    >      > Reporter: Lukas Pravda <lpravda@…> | Owner: gregc
    >      > Type: defect | Status: feedback
    >      > Priority: blocker | Milestone: 0.8
    >      > Component: Graphics | Version:
    >      > Resolution: | Keywords:
    >      > Blocked By: 1466 | Blocking:
    >      > Notify when closed: | Platform: all
    >      > Project: ChimeraX |
    >      > -----------------------------------------------+----------------------
    >      > Changes (by gregc):
    >      >
    >      > * status: assigned => feedback
    >      >
    >      > Comment:
    >      >
    >      > Hi Lukas,
    >      >
    >      > In the daily build of ChimeraX, dated 2018-11-30, offscreen rendering is
    >      > working. But it is limited to the Linux platform (Linux, Ubuntu, CentOS,
    >      > etc.). Please try it out and let know if you have any problems.
    >      >
    >      > -- Greg
    >      >
    >      > --
    >      > Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/1427#comment:2>
    >      > ChimeraX <http://www.rbvi.ucsf.edu/chimerax>
    >      > ChimeraX Issue Tracker
    >      
    >
    >
    >
Last edited 7 years ago by Greg Couch (previous) (diff)
Note: See TracTickets for help on using tickets.