Running Paraview on SSH -X

opengl

#1

I’m unable to run paraview but SSh -X into the machine-A which has paraview on it. It works fine on the machine but gives the following error on the client machine-B.

Your OpenGL drivers don’t support
required OpenGL features for basic rendering.
Application cannot continue. Please exit and use an older version.
CONTINUE AT YOUR OWN RISK!
OpenGL Vendor: VMware, Inc.
OpenGL Version: 2.1 Mesa 18.0.5
OpenGL Renderer: llvmpipe (LLVM 6.0, 256 bits)

Unable to find a valid OpenGL 3.2 or later implementation. Please update your video card driver to the latest version. If you are using Mesa please make sure you have version 11.2 or later and make sure your driver in Mesa supports OpenGL 3.2 such as llvmpipe or openswr.

I actually think I have OpenGL 3.0 installed on the machine-A and paraview works there on the machine. I’m on centos and I’m not sure if I can actually upgrade it to 3.2 version. How do I solve this issue?

ssh -X into Machine A from Machine B: glxinfo|grep OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 6.0, 256 bits)
OpenGL version string: 2.1 Mesa 18.0.5
OpenGL shading language version string: 1.30
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 18.0.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
OpenGL ES profile extensions:

On Machine A :
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel® Haswell Mobile
OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.1.0-devel (git-5475434 2019-03-09 bionic-oibaf-ppa)
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 19.1.0-devel (git-5475434 2019-03-09 bionic-oibaf-ppa)
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 19.1.0-devel (git-5475434 2019-03-09 bionic-oibaf-ppa)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

Machine B: glxinfo|grep OpenGL (Linux Mint)
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel® Haswell Mobile
OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.1.0-devel (git-5475434 2019-03-09 bionic-oibaf-ppa)
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 19.1.0-devel (git-5475434 2019-03-09 bionic-oibaf-ppa)
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 19.1.0-devel (git-5475434 2019-03-09 bionic-oibaf-ppa)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:


(Mathieu Westphal (Kitware)) #2

X forwarding is not supported at all by ParaView, as it requires OpenGL extensions that are not support by X forwarding. See here:
https://www.paraview.org/Wiki/Setting_up_a_ParaView_Server#Connecting_Through_a_Firewall

ParaView is a client server application. You should run pvserver on your server, ParaView on your client and connect to your server.

Let us know if you need any help !


(Walter Alan Scott) #3

There is actually some subtlety here. Assuming you are running a Kitware client (i.e., paraview), ParaView is built to run with more than one backends. The default is hardware rendering, which fails for the reasons Mathieu mentions. However, another option is to run ParaView with a software backend. Try ssh -X’ing into your machine-B. Then, run ParaView as follows:

paraview --mesa-llvm

You can find usage using paraview --help.


#4

@mwestphal Thanks for the response, I’m a newbie in compiling in building files and built the paraview version I’m using now from source files(since the latest version in binaries on website is unusable due to this bug https://gitlab.kitware.com/paraview/paraview/issues/18761 for my application). I would like to know the options I need to select on the cmake configuration to make this pvserver work. Furthermore, the binary files I generated don’t work anywhere other than the machine where I compiled it. Any help in this regard is also hugely appreciated.
If there are binary files generated for any new version after the bug, it would be of great help for me.


#5

I tried doing that it says, “cannot open data file --mesa-llvm”


(Walter Alan Scott) #6

Right, with your own build, correct? Try the Kitware build. With regards to bug number18761, pull a recent nightly, as opposed to 5.6.0.


#7

Thank you! I’ll try that. I totally forgot about the nightly builds.


#8

@wascott I downloaded and extracted
https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=nightly&type=binary&os=Linux&downloadFile=ParaView-latest-osmesa-MPI-Linux-64bit.tar.gz
but I don’t see a executable called “paraview” in bin folder, to open paraview. Am I missing something?


(Walter Alan Scott) #9

I just looked, and nightlies are still not being built for the client side for Linux. There is some major disruption in the force (of the build process) going on right now. This should be cleaned up within a few days? @cory.quammen @ben.boeckel ?


(Cory Quammen (Kitware)) #10

The build with the ParaView client seems to be succeeding:

https://open.cdash.org/viewFiles.php?buildid=5796086

However, it looks like it isn’t being uploaded to www.paraview.org? @ben.boeckel

@vrkssai please try this nightly build: ParaView-5.6.0-1074-gdcb1bac-MPI-Linux-64bit.tar.gz


#11

@cory.quammen Thank you!


#12

@mwestphal I tried using the pvserver however on the host side only ssh tunnel is accepted. Hence I used,
ssh -NL 2345:127.0.0.1:11111 host@domain
on the client side and successfully connected to the server on localport 2345. But the error still shows up:
“OpenGL drivers on the server side don’t support
required OpenGL features for basic rendering.
Remote rendering will be disabled.OpenGL Vendor: VMware, Inc.
OpenGL Version: 2.1 Mesa 18.0.5
OpenGL Renderer: llvmpipe (LLVM 6.0, 256 bits)”

What’s the way forward from here? I’m able to use the functionality though, unlike last attempt with ssh -X, but it’s very slow sometimes(might be due to ssh or the error).


(Mathieu Westphal (Kitware)) #13

To hide the warning, you may need to run the following

MESA_GL_VERSION_OVERRIDE=3.2 ./bin/pvserver