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

Reply via email to