Hello!
I built [1] ParaView 5.0.0 against OSMesa 11.2 from Git
(11.2.0-0.devel.8.24ea81a.fc24 from Fedora Rawhide [2]), but I am running
into following problem:
ERROR: In
/ParaView-v5.0.0-source/VTK/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx,
line 587
vtkOSOpenGLRenderWindow (0x10dfcb0): 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.
This error message does not seem to make sense, because ParaView seems to
be taking the OSMesaCreateContextAttribs codepath and thus should get a
context that satisfies both OpenGL version requirements mentioned in the
error message, judging from a KitWare blog post [3], an earlier post on
this mailinglist [4] and the corresponding commit to Mesa [5].
Steps to reproduce:
1. Download skull.raw from [6] and place it in $HOME/paraview-samples/
2. Run: git clone --branch 5.0.0-osmesa
https://github.com/urzds/paraview-docker.git
3. Run: docker build --tag paraview:5.0.0-osmesa paraview-docker
4. Run: docker run -i -p 11111:11111 -v $HOME/paraview-samples/:/mnt/
paraview:5.0.0-osmesa
5. Download ParaView 5.0.0 (Linux 64-bit) from [7] and extract it
6. Start the binary ParaView 5.0.0 client you just downloaded
7. Connect to localhost:11111
8. Verify that the connection works: Press left-mouse and drag -> observe
movement of the coordinate system in the lower left corner
9. Open /mnt/skull.raw
10. In "Properties", set "Data Scalar Type = unsigned char" and "Data
Extend x,y,z = 0..255", press "Apply"
11. Verify that the file loaded correctly: See a white wireframe box
appear, press left-mouse and drag -> observe movement of the box
12. Press the "Contour" button
13. In "Properties", press "Apply"
14. Verify that the contour displays properly: See parts of the jaw appear
in white colour, press left-mouse and drag -> observe movement of the
displayed contour
15. In "Properties", change the "Value Range" to "50"
16. See the dialogue box: "The server side has disconnected"
17. Have a look at the server output:
```
Waiting for client...
Connection URL: cs://c0dbd3b1f304:11111
Accepting connection(s): c0dbd3b1f304:11111
Client connected.
GL_Version: 2.1 Mesa 11.2.0-devel (git-24ea81a)
ERROR: In
/ParaView-v5.0.0-source/VTK/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx,
line 587
vtkOSOpenGLRenderWindow (0x2dc9c60): 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.
ERROR: In
/ParaView-v5.0.0-source/VTK/Rendering/OpenGL2/vtkShaderProgram.cxx, line
369
[...]
10: Module: vtkPolyDataFS.glsl
[...]
ERROR: In
/ParaView-v5.0.0-source/VTK/Rendering/OpenGL2/vtkShaderProgram.cxx, line
370
vtkShaderProgram (0x46ef030): 0:2(12): error: extension
`GL_EXT_gpu_shader4' unsupported in fragment shader
```
It appears that ParaView indeed takes the OSMesaCreateContextAttribs
codepath, but is unable to get a context from it. Attached patch, that
you'll also find in the 5.0.0-osmesa-debug branch of abovementioned GitHub
repository, makes ParaView output the following:
URZDS: Using OSMesa 11.2
URZDS: OSMesaCreateContextAttribs available
URZDS: Context: (nil)
It would be great if someone could help me debug this and possibly find a
solution.
Best regards,
Dennis
[1]: https://github.com/urzds/paraview-docker/blob/5.0.0-osmesa/Dockerfile
[2]: https://apps.fedoraproject.org/packages/mesa
[3]: http://www.kitware.com/blog/home/post/999
[4]: http://public.kitware.com/pipermail/paraview/2015-December/035804.html
[5]:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a34e7612dcde891121e355e78c058f138a34c31c
[6]:
http://www.gris.uni-tuebingen.de/edu/areas/scivis/volren/datasets/datasets.html
[7]: http://www.paraview.org/download/
--
Universität Heidelberg, Universitätsrechenzentrum (URZ)
Servicebereich Future IT - Research & Education (FIRE)
Tel. +49 6221 54-4519, Fax +49 6221 54-5581
[email protected]
http://www.urz.uni-heidelberg.de/
Ruprecht-Karls-Universität Heidelberg
Universitätsrechenzentrum
Im Neuenheimer Feld 293, 69120 Heidelberg
--- ./VTK/Rendering/OpenGL2/vtkOSOpenGLRenderWindow.cxx.orig 2016-02-03 11:01:27.946436424 +0100
+++ ./VTK/Rendering/OpenGL2/vtkOSOpenGLRenderWindow.cxx 2016-02-03 17:16:32.788997253 +0100
@@ -180,6 +180,7 @@
if (!this->Internal->OffScreenContextId)
{
#if (OSMESA_MAJOR_VERSION * 100 + OSMESA_MINOR_VERSION >= 1102) && defined(OSMESA_CONTEXT_MAJOR_VERSION)
+printf("URZDS: Using OSMesa 11.2\n");
static const int attribs[] = {
OSMESA_FORMAT, OSMESA_RGBA,
OSMESA_DEPTH_BITS, 32,
@@ -196,7 +197,9 @@
if (OSMesaCreateContextAttribs != NULL)
{
+printf("URZDS: OSMesaCreateContextAttribs available\n");
this->Internal->OffScreenContextId = OSMesaCreateContextAttribs(attribs, NULL);
+printf("URZDS: Context: %p\n", this->Internal->OffScreenContextId);
}
#endif
// if we still have no context fall back to the generic signature
_______________________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Search the list archives at: http://markmail.org/search/?q=ParaView
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview