Terminal command to show OpenGL version?

403,154

Solution 1

To Check OpenGL Version,

glxinfo | grep "OpenGL version"

You will get the output as follows,

glxinfo | grep "OpenGL version"
OpenGL version string: 1.4 (2.1 Mesa 7.7.1)

Edit:

You may have better luck with modern OpenGL just grepping for "version" instead of "OpenGL version" given the differences between the core and compat profiles, as well as the various GLSL and GLES versions:

glxinfo | grep 'version'
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
    Max core profile version: 4.1
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL core profile version string: 4.1 (Core Profile) Mesa 11.1.2
OpenGL core profile shading language version string: 4.10
OpenGL version string: 3.0 Mesa 11.1.2
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.1.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

Notice that the actual version is presented by the "core profile version" (4.1), whereas the "OpenGL version" is presented as 3.0.

Solution 2

depending on what you're looking for:

Open GL Implementation

You can use glxinfo, from the mesa-utils package:

sudo apt-get install mesa-utils

glxinfo | grep "OpenGL version"

Development Libraries

this depends a little,

dpkg -s [package name]

will tell you version information, etc. of any package.

but you'll need to know what specific part/implementation, etc. of opengl you're interested in. i suspect, for you, it'll be:

dpkg -s libglu1-mesa

Solution 3

Note: I've added this answer at a later date, because none of the existing answers address a crucial aspects regarding ssh, and will give misleading values to those who follow the above instructions.

  1. Use X-forwarding when ssh-ing. This is enabled with ssh -X.

    Without x-forwarding:

    $ ssh MYCOMP
    $ glxinfo
    Error: unable to open display
    

    With x-forwarding:

    $ ssh -X MYCOMP
    $ glxinfo | grep -i opengl
    OpenGL vendor string: NVIDIA Corporation
    OpenGL renderer string: GeForce 8800 GT/PCIe/SSE2
    OpenGL version string: 2.1.2 NVIDIA 310.44
    OpenGL shading language version string: 1.20 NVIDIA via Cg compiler
    OpenGL extensions:
    

    I should note here that this is both the wrong graphics card, and wrong version numbers. ('Wrong' in terms of what you would expect).

  2. Set DISPLAY variable to :0, to allow access to the graphic card's driver from the remote session.

    $ ssh -X MYCOMP
    $ DISPLAY=:0
    $ glxinfo | grep -i opengl
     OpenGL vendor string: NVIDIA Corporation
     OpenGL renderer string: GeForce GTX 550 Ti/PCIe/SSE2
     OpenGL version string: 4.3.0 NVIDIA 310.14
     OpenGL shading language version string: 4.30 NVIDIA via Cg compiler
     OpenGL extensions:
    

    This lists the correct graphics card (the one on the remote computer), as well as the correct version numbers.

Solution 4

For those who only want the version number, for example to give it in argument of a program, you can use

$ glxinfo | awk '/OpenGL version/ {print $4}'
3.0

Note: optirun glxinfo | awk '/OpenGL version/ {print $4}' if you are using bumblebee

Solution 5

You can get the information by running following command:

DISPLAY=:0 glxgears -info | grep GL_VERSION

This echos something like:

GL_VERSION    = 3.3.0 NVIDIA 340.93

Also try without DISPLAY=:0 in case of problems. The command glxgears is in mesa-utils package which can be installed with:

sudo apt-get install mesa-utils
Share:
403,154

Related videos on Youtube

Dhinesh.B
Author by

Dhinesh.B

Build a better Stack Exchange: Codidact All code I publish on Stack Overflow and other sites of the Stack Exchange network shall be licensed under the BSD 2-Clause License: Copyright Matthias Braun All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Updated on September 18, 2022

Comments

  • Dhinesh.B
    Dhinesh.B almost 2 years

    I want to find out the OpenGL version I'm using. I have access to Ubuntu via SSH. Which command shall I execute?

  • Engineer
    Engineer about 9 years
    And if you're getting the right card but wrong OpenGL version, it's probably the nouveau / open source drivers -- either blacklist them or uninstall them.
  • Taywee
    Taywee over 8 years
    I've made some edits so that better information can be found with modern OpenGL versions that present multiple profiles, especially given that this is the top result on a google search for "Linux check opengl version".
  • JustWe
    JustWe about 7 years
    This work for me. Freescale iMX6 Yocto poky 1.6.2.
  • phil294
    phil294 about 7 years
    For me, it was localhost:10.0, unfortunately resulting in X Error of failed request: GLXBadContext.
  • starleaf1
    starleaf1 almost 7 years
    Note: In Ubuntu 16.04, glxinfo is not available by default. To be able to use it, you need to install mesa-utils package.
  • Nathan
    Nathan almost 5 years
    @Rich Is there an easy way to find what version the remote is using?
  • Rich
    Rich almost 5 years
    @frank Look at the answer below, by thomasmichaelwallace in the Development Libraries section. When you run an openGL client on a remote machine, the remote client uses the remote libraries, but displays onto your server, so it's a bit confusing at times
  • WiR3D
    WiR3D about 4 years
    even works with the Secure Shell App Chrome Extension (term) and from 18.04 on X to 20.04 on Wayland
  • Adam Stewart
    Adam Stewart over 3 years
    What about OpenGLU? Is there a way to get that version number from glxinfo?