# Error running headless Paraview EGL image in Docker

**URL:** https://discourse.paraview.org/t/error-running-headless-paraview-egl-image-in-docker/10097
**Category:** ParaView Support
**Created:** [August 3, 2022, 12:11pm UTC](https://discourse.paraview.org/t/error-running-headless-paraview-egl-image-in-docker/10097 "2022-08-03T12:11:28Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![CapLek](https://discourse.paraview.org/user_avatar/discourse.paraview.org/caplek/32/3430_2.png) [@CapLek](https://discourse.paraview.org/u/CapLek)
#### Post date: [August 3, 2022, 12:11pm UTC](https://discourse.paraview.org/t/error-running-headless-paraview-egl-image-in-docker/10097/1 "2022-08-03T12:11:28Z")

</div>

Hi all,

Trying to run kitware/paraview:pv-v5.8.0-egl-py3 image in docker using following command

```auto
docker run --gpus all -ti kitware/paraview:pv-v5.8.0-egl-py3

```

But when I`m starting pvpython process after checking GL information I’ve got segfault

```auto
$ ./bin/pvpython --force-offscreen-rendering
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from paraview.simple import *
>>> print(GetOpenGLInformation().GetCapabilities())
( 18.568s) [main thread] vtkEGLRenderWindow.cxx:311 WARN| vtkEGLRenderWindow (0x55e542b7d7c0): Setting an EGL display to device index: 0 require EGL_EXT_device_base EGL_EXT_platform_device EGL_EXT_platform_base extensions
( 18.568s) [main thread] vtkEGLRenderWindow.cxx:382 ERR| vtkEGLRenderWindow (0x55e542b7d7c0): Only EGL 1.4 and greater allows OpenGL as client API. See eglBindAPI for more information.
( 18.569s) [main thread]vtkOpenGLRenderWindow.c:565 ERR| vtkEGLRenderWindow (0x55e542b7d7c0): GLEW could not be initialized: Missing GL version

Loguru caught a signal: SIGSEGV
Stack trace:
0 0x7f7371290f20 /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20) [0x7f7371290f20]
( 18.569s) [main thread] :0 FATL| Signal: SIGSEGV
Segmentation fault

```

The host machine is Windows 10 21H2, graphics card RTX 3050 NVIDIA card with 511.65 driver version.

What am I missing?  
Thanks.

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [August 9, 2022, 2:55pm UTC](https://discourse.paraview.org/t/error-running-headless-paraview-egl-image-in-docker/10097/2 "2022-08-09T14:55:14Z")

</div>

Did you try the nvidia image to validate that your runtime is properly setup?

[`sudo docker run --gpus all --rm nvidia/cuda:9.0-base nvidia-smi`](http://kitware.github.io/paraviewweb/docs/docker.html#Docker-runtime-installation)

You may want to pick a newer version of the cuda image but the idea is here.

---

<div class="post-metadata">

### Author: ![CapLek](https://discourse.paraview.org/user_avatar/discourse.paraview.org/caplek/32/3430_2.png) [@CapLek](https://discourse.paraview.org/u/CapLek)
#### Post date: [August 9, 2022, 7:17pm UTC](https://discourse.paraview.org/t/error-running-headless-paraview-egl-image-in-docker/10097/3 "2022-08-09T19:17:35Z")

</div>

My host machine is Windows. Here is output

```auto
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.47.03 Driver Version: 511.65 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... On | 00000000:01:00.0 Off | N/A |
| N/A 41C P5 12W / N/A | 0MiB / 4096MiB | 1% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+

```

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [August 9, 2022, 9:02pm UTC](https://discourse.paraview.org/t/error-running-headless-paraview-egl-image-in-docker/10097/4 "2022-08-09T21:02:48Z")

</div>

I’m not sure about the capability part but it seems that you should be good to go.

No need to do the `--force-offscreen-rendering` since your binary is the EGL one.

You should be able to do the following without crash in docker/pvpython

```python
from paraview.simple import *
Cone()
Show()
Render()

```

---

<div class="post-metadata">

### Author: ![CapLek](https://discourse.paraview.org/user_avatar/discourse.paraview.org/caplek/32/3430_2.png) [@CapLek](https://discourse.paraview.org/u/CapLek)
#### Post date: [August 11, 2022, 8:36am UTC](https://discourse.paraview.org/t/error-running-headless-paraview-egl-image-in-docker/10097/5 "2022-08-11T08:36:03Z")

</div>

Still the same error.

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [August 11, 2022, 5:23pm UTC](https://discourse.paraview.org/t/error-running-headless-paraview-egl-image-in-docker/10097/6 "2022-08-11T17:23:13Z")

</div>

Since the “latest” nvidia image is working for you, can you build one where you download/untar pv egl and use it?

Taking a binary from [here](https://www.paraview.org/download/?version=v5.10&filter=Linux&tags=OFFSCREEN) and doing something like [that](https://github.com/Kitware/paraview-visualizer/blob/master/docker/Dockerfile#L9) but with a local file rather than downloading it?
