# OpenGL Version

**URL:** https://discourse.paraview.org/t/opengl-version/1283
**Category:** ParaView Support
**Created:** [February 13, 2019, 5:21pm UTC](https://discourse.paraview.org/t/opengl-version/1283 "2019-02-13T17:21:57Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![jfavre](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/j/b5ac83/32.png) [@jfavre](https://discourse.paraview.org/u/jfavre)
#### Post date: [February 13, 2019, 5:21pm UTC](https://discourse.paraview.org/t/opengl-version/1283/1 "2019-02-13T17:21:57Z")

</div>

I am using ParaView (client only) on my desktop  
The Help-\>About menu reports OpenGL Version ‘3.2.0 NVIDIA 410.78’

However, if I query the same using the Python Shell:

```
from vtk.vtkPVClientServerCoreRendering import vtkPVOpenGLInformation
info = vtkPVOpenGLInformation()
info.CopyFromObject(None)
print("Version: %s" % info.GetVersion())

```

it reports ‘4.5.0 NVIDIA 410.78’. Why the difference between 3.2.0 and 4.5.0?

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [February 13, 2019, 5:35pm UTC](https://discourse.paraview.org/t/opengl-version/1283/2 "2019-02-13T17:35:01Z")

</div>

I do reproduce the issue.

Funny thing is glxinfo give another answer as well :  
`OpenGL version string: 4.6.0 NVIDIA 415.27`

I wonder if that is linked to different requested version of OpenGL.

---

<div class="post-metadata">

### Author: ![jfavre](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/j/b5ac83/32.png) [@jfavre](https://discourse.paraview.org/u/jfavre)
#### Post date: [February 13, 2019, 5:37pm UTC](https://discourse.paraview.org/t/opengl-version/1283/3 "2019-02-13T17:37:31Z")

</div>

I did not want to add to the confusion, but indeed, my glxinfo also gives yet another answer:

glxinfo | grep 4.6  
OpenGL core profile version string: 4.6.0 NVIDIA 410.78  
OpenGL core profile shading language version string: 4.60 NVIDIA  
OpenGL version string: 4.6.0 NVIDIA 410.78  
OpenGL shading language version string: 4.60 NVIDIA

---

<div class="post-metadata">

### Author: ![wascott](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/w/8e8cbc/32.png) [@wascott](https://discourse.paraview.org/u/wascott)
#### Post date: [February 13, 2019, 8:44pm UTC](https://discourse.paraview.org/t/opengl-version/1283/4 "2019-02-13T20:44:32Z")

</div>

OK, down the rabbit hole. I believe that many of us have been misinterpreting OpenGL version string. Evidentally, some OpenGL functionality has been deprecated, and these OpenGL strings are trying to tell us two separate things. OpenGL version string tells us the version of OpenGL that is TOTALLY SUPPORTED (including deprecated functionality). Frequently, that stops at version 3.0. The OpenGL core profile version string, on the other hand, tells us the version number that is core, i.e., currently required, functionality.

So, for the following:  
OpenGL renderer string: Mesa DRI Intel® Iris Pro Graphics P580 (Skylake GT4e)  
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.0.5  
OpenGL core profile shading language version string: 4.50  
OpenGL version string: 3.0 Mesa 18.0.5

I believe it says that ALL OpenGL functionality (whether deprecated or not) is up to version 3.0, and current, core required functionality up to 4.5 is covered.

In ParaView’s About, it reports the following:  
OpenGL version 4.5 (Core Profile) Mesa 18.0.5

So, I interpret this as saying that we are running on OpenGL version 4.5, ParaView realizes that, and will run in hardware.

By the way, this does NOT answer Jean’s original question, having to do with the difference between the About information and the Python information.

Here is my reference for my thoughts: [https://askubuntu.com/questions/850900/why-is-my-opengl-version-stuck-at-3-0-despite-new-hardware-software](https://askubuntu.com/questions/850900/why-is-my-opengl-version-stuck-at-3-0-despite-new-hardware-software)

Alan

---

<div class="post-metadata">

### Author: ![wascott](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/w/8e8cbc/32.png) [@wascott](https://discourse.paraview.org/u/wascott)
#### Post date: [February 13, 2019, 8:56pm UTC](https://discourse.paraview.org/t/opengl-version/1283/5 "2019-02-13T20:56:59Z")

</div>

By the way, when I run the code provided by Jean above, it gives me

Version: 4.5 (Core Profile) Mesa 18.0.5

Which is exactly what I get with About, and the openGL core profile version string.

---

<div class="post-metadata">

### Author: ![wascott](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/w/8e8cbc/32.png) [@wascott](https://discourse.paraview.org/u/wascott)
#### Post date: [February 13, 2019, 10:03pm UTC](https://discourse.paraview.org/t/opengl-version/1283/6 "2019-02-13T22:03:45Z")

</div>

I just verified my answer above with a former Evans and Sutherland OpenGL architect. Amazingly, I pretty much got it correct.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [February 14, 2019, 8:32am UTC](https://discourse.paraview.org/t/opengl-version/1283/7 "2019-02-14T08:32:51Z")

</div>

Well, that does not explain why pvpython and ParaView give different answers.

---

<div class="post-metadata">

### Author: ![Michael](https://discourse.paraview.org/user_avatar/discourse.paraview.org/michael/32/16_2.png) [@Michael](https://discourse.paraview.org/u/Michael)
#### Post date: [February 14, 2019, 8:41am UTC](https://discourse.paraview.org/t/opengl-version/1283/8 "2019-02-14T08:41:18Z")

</div>

We explicitly set the [OpenGL version to 3.2](https://gitlab.kitware.com/vtk/vtk/blob/master/GUISupport/Qt/QVTKOpenGLWindow.cxx#L484) in the VTK QT widget. That’s the OpenGL context version we are working with, and reported by ParaView about window. The version reported by python (4.5) is probably the maximum version supported by the card.
