0
\$\begingroup\$

Many Game Engines require OpenGL to run. I have one of those. I've confirmed that the program and any benchmarks for OpenGL above OpenGL 2 fail to run.

Is there, like, a way to confirm I have dependencies or something to that effect? Is it installed or is it just a library included in other programs?

Specifically using Ubuntu Linux 17.10, computer specs are fairly low but I've run the Engine on Windows on the same machine before. Linux should have more up to date graphics drivers, so I'm not sure what the root of the problem might be.

\$\endgroup\$
3
  • 3
    \$\begingroup\$ Check your GPU specs on the Internet, if it supports required OpenGL versions. Then check for drivers to "unlock" them. \$\endgroup\$ Commented Dec 14, 2017 at 4:35
  • 3
    \$\begingroup\$ OS is not relevant - what GPU have you? \$\endgroup\$ Commented Dec 14, 2017 at 6:49
  • \$\begingroup\$ Is this an engine you have made? If so, knowing the implementation language/bindings would help (some OpenGL bindings have more quirks than others). If not, knowing which particular engine it is might help. \$\endgroup\$ Commented Dec 14, 2017 at 14:41

1 Answer 1

1
\$\begingroup\$

First of all, Opengl is not a library, it's callled a "specification". Libraries like GLEW (OpenGl Extension Wrangler) just specify the functions you need to control your gpu. At that point, it's the graphics card manifacturer's job to implement those functions.

"The OpenGL specification specifies exactly what the result/output of each function should be and how it should perform. It is then up to the developers implementing this specification to come up with a solution of how this function should operate. Since the OpenGL specification does not give us implementation details, the actual developed versions of OpenGL are allowed to have different implementations, as long as their results comply with the specification (and are thus the same to the user)."

One way you could verify if you are able to run Opengl is by creating a simple program with it. In C++ for example, you could write a s imple "hello world" program, using glfw(winidowing Api) and Glew. In the main.cpp file ypu should set the OpenGl context version to 4.0 and see if it runs. You can also check what the currrnt version of Opengl is, by calling glGetString(GL_VERSION); Now, this might not be the ideal way to do it, I'm sure there is an easier way to check for OGL drivers, so i would really appreciate if someone corrected me in the comments section :)

I also would like to leave some useful resources here and here

\$\endgroup\$
4
  • 1
    \$\begingroup\$ Just adding to the verification advice, the OpenGL Extensions Viewer and glxinfo are both useful tools. \$\endgroup\$ Commented Dec 14, 2017 at 14:02
  • 1
    \$\begingroup\$ Opengl literally stands for Open Graphics Library. Wouldn't the driver or the underlying implementation be the "specification", considering they define how high level communicates with the hardware? \$\endgroup\$ Commented Dec 14, 2017 at 14:22
  • 1
    \$\begingroup\$ @Sidar Opengl is not a library, it's a graphics API. At its core it's just a specification of what you can do with the API, there is no prewritten code. \$\endgroup\$ Commented Dec 14, 2017 at 14:44
  • 2
    \$\begingroup\$ @Sidar - don't sweat over the name; it's a relic from 1991 when it would have been more accurate than it is nowadays. \$\endgroup\$ Commented Dec 14, 2017 at 16:21

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.