2018-04-20 11:19 BST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002888ThirdPartyPatchpublic2018-03-26 23: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
There are no notes attached to this issue.
+Notes

-Issue History
Date Modified Username Field Change
2018-03-24 23:58 wyldckat New Issue
+Issue History