2018-06-23 12:46 BST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002888ThirdPartyPatchpublic2018-06-07 09:07
Reporterwyldckat 
Assigned To 
PrioritylowSeverityminorReproducibilitysometimes
StatusnewResolutionopen 
PlatformGNU/LinuxOSOS Version
Product Versiondev 
Target VersionFixed in Version 
Summary0002888: Notes on how to deal with OpenGL support on ParaView 5.5 or newer
DescriptionMy apologies, but I don't have a patch ready yet for this, but before I forget to write about this and in case the solution is needed before then, here goes what I've gathered so far:

  a. The "OpenGL" render option has been dropped as of ParaView 5.5 (currently in RC3), as hinted by the issue fixed with report #2779: https://bugs.openfoam.org/view.php?id=2779

  b. The solution is to use the Mesa drivers that will either partially support newer OpenGL implementations with older GPU chips or will simply use a software-based render implementation, e.g. when its running inside a virtual machine.

    - Although there is a bug when using VMs, where the Mesa drivers default to OpenGL 2.1 and ParaView 5.5 needs at least OpenGL 3.3. The solution is documented here: https://www.paraview.org/Wiki/ParaView:Build_And_Install#Notes_on_VM_with_linux



This translates to the following details in OpenFOAM's dealing with ParaView:

a. The option "-rendering OpenGL" will not work as expected in 'makeParaView' with ParaView 5.5 and newer. Therefore, it might be easier to simply drop this option from this script 'makeParaView', given that the next solution also works on ParaView 5.4.


b. Regarding the bug with the Mesa drivers when running within virtual machines, it's possible to use the following commands within 'paraFoam' to deploy a hack when necessary, but I haven't got the final script code yet, but here are the notes on what needs to be done:

  - The following command will get us the current OpenGL version, e.g. it will return '2.1' when running inside a VM (source of this command: https://askubuntu.com/a/387449 ):

      glxinfo | awk '/OpenGL version/ {print $4}'

  - If the value is 2.1 or smaller than 3.3, then the version override that can be deployed by running:

      export MESA_GL_VERSION_OVERRIDE=3.3

  - This hack should only be deploy if it's the Mesa driver currently being used, which should be caught with this command:

      glxinfo | grep "client glx vendor.*Mesa.*"

    Note: This will also give a positive catch if the OS installation is using Mesa to communicate with the actual GPU drivers, e.g. as it does with Intel and AMD drivers.


c. The Mesa drivers have to be installed. The minimum package needed on Ubuntu for building ParaView with Mesa is 'libglu1-mesa-dev'.
Additional InformationI was able to use ParaView 5.4 (along with OpenFOAM 5.x) with the OpenGL2 rendering engine within a VM running CentOS 7, which has the Mesa drivers installed. This way I did not need to rebuild ParaView 5.4 with the outdated OpenGL rendering engine.

@Chris and @Henry: If you prefer, this report can be closed+suspended until the patch is ready.
TagsNo tags attached.
Attached Files

-Relationships
+Relationships

-Notes

~0009574

will (manager)

Did you manage to build ParaView-5.5.0 on the old OS-s? As well as the OpenGL issues, Qt-4 has also been dropped by ParaView-5.5.0, and Qt-5 is not available by default on CentOS 7, nor is it at the required version on Ubuntu 14.04.

~0009583

wyldckat (updater)

No, I haven't yet tried building ParaView 5.5 nor Qt 5.x on older Linux distributions.

However... OK, I found the breadcrumbs from when I looked into Qt 5 for ParaView 5.4 and in in the report #2673 I had a look into this and wrote about it: https://bugs.openfoam.org/view.php?id=2673#c8627
In a nutshell, the Qt project also provides pre-built binaries for Linux, but I only vaguely remember testing it with Ubuntu 16.04, so I don't know if there will be any broken dependencies for glib or stdc++.

Nonetheless, the SCL for RHEL/CentOS might provide some of the missing dependencies: https://wiki.centos.org/AdditionalResources/Repositories/SCL - more specifically, the package "devtoolset-6" will provide a more recent GCC version (I can't remember which one), so at least any issues with stdc++ will be solved by that...

As for Ubuntu 14.04... I haven't tested it yet, but the following wiki page makes the indication that the Qt 5.7.0 binary package works on Ubuntu 12.10: https://wiki.qt.io/Install_Qt_5_on_Ubuntu

~0009714

joseph@n04-138.net (reporter)

Not sure who posted this:

"I was able to use ParaView 5.4 (along with OpenFOAM 5.x) with the OpenGL2 rendering engine within a VM running CentOS 7, which has the Mesa drivers installed. This way I did not need to rebuild ParaView 5.4 with the outdated OpenGL rendering engine."

Is it possible you have some instructions on how you rebuilt ParaView 5.4 with OpenGL2 rendering engine in the VM? I am workin with openfoam5-linux docker script.

~0009718

chris (manager)

The instructions are here:
https://openfoam.org/download/source/
... with additional information above.

The problem I have also experienced is:
- The Docker image uses Ubuntu 16.04
- The OpenGL version is 3.0 in the mesa-utils library on Ubuntu 16.04
- "ParaView 5.5 [and 5.4] needs at least OpenGL 3.3" - see above

That's why we use OpenGL in the Ubuntu packs.
+Notes

-Issue History
Date Modified Username Field Change
2018-03-24 23:58 wyldckat New Issue
2018-05-15 08:45 will Note Added: 0009574
2018-05-15 22:13 wyldckat Note Added: 0009583
2018-06-06 20:21 joseph@n04-138.net Note Added: 0009714
2018-06-07 09:07 chris Note Added: 0009718
+Issue History