[Paraview] Building Paraview for headless rendering

Martin Cuma martin.cuma at utah.edu
Wed Mar 21 12:25:37 EDT 2018


Hello

we have an user who wants to use Paraview in headless mode. We found the 
hard way that the binary does not have the headless rendering enabled.

Now I am trying to build the headless mode based on 
https://www.paraview.org/ParaView/Doc/Nightly/www/cxx-doc/Offscreen.html 
but don't have much luck.

I have a few questions that I hope those knowledgeable about the topic may 
answer.

1. A more genereal question first - our cluster nodes don't have good GPUs 
so the plan is to render on the CPU. I assume we need Mesa for it, right? 
Further, since we want to render on the server, do we need to set the 
DISPLAY variable to :0, or, is there any other way to tell this to 
Paraview?

2. As for our attempted build, I tried both the OSMesa and EGL with the 
following results:

a) OSMesa - turn VTK_OPENGL_HAS_OSMESA on, cmake finds my OS installed 
OSMesa 
(CentOS7 - mesa-libOSMesa-devel-17.0.1-6.20170307.el7.x86_64), everything 
builds, but, when I try to run Paraview, I get:
ERROR: In 
/uufs/chpc.utah.edu/sys/srcdir/paraview/5.4.0/VTK/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx, 
line 831
vtkXOpenGLRenderWindow (0x425a480): GL version 2.1 with the gpu_shader4 
extension is not supported by your graphics driver but is required for the 
new OpenGL rendering backend. Please update your OpenGL driver. If you are 
using Mesa please make sure you have version 10.6.5 or later and make sure 
your driver in Mesa supports OpenGL 3.2.

I should have a fairly recent Mesa and OpenGL on a stock CentOS7 system, 
e.g.
$ glxinfo | grep -i "OpenGL version"
OpenGL version string: 4.6.0 NVIDIA 390.30

$ rpm -qa | grep mesa-libGL-
mesa-libGL-17.0.1-6.20170307.el7.x86_64
mesa-libGL-devel-17.0.1-6.20170307.el7.x86_64

Any chance this OpenGL and Mesa are not compatible with what Paraview is 
trying to do with the OSMesa?

Note that if I compile without the VTK_OPENGL_HAS_OSMESA, I don't get the 
above error.

b) EGL

I do seem to have the EGL's part of Mesa installed:
mesa-libEGL-17.0.1-6.20170307.el7.x86_64
mesa-libEGL-devel-17.0.1-6.20170307.el7.x86_64

but, the cmake complains that EGL_opengl_LIBRARY is not found. Any 
thoughts about this?

As I mentioned, we are running a fairly stock CentOS 7.4.

Or, ideally, is there a walktrough for the headless rendering Paraview 
build?

Thanks,
MC

-- 
Martin Cuma
Center for High Performance Computing
Department of Geology and Geophysics
University of Utah


More information about the ParaView mailing list