Context creation library on Jetson TX1? SFML, GLFW or SDL?

Hi there,
I’m following some excellent OpenGL tutorials at:

It suggests using SFML, GLFW or SDL to create my wondow/context.
However, I’ve got a Jetson TX1 running nv_tegra 28.1.
I was wondering which one comes with it, or do I need to use something else?
Many thanks!

There are far more options than I know about, but a command you might be interested in under Linux when logged in to a graphical display is “glxinfo” (or to page it, “glxinfo | less”).

What you’ll find if you search for ‘NVIDIA’ are some of the versions related to GL. For example, glx is X11 way of using OpenGL, and on R28.1 I see:

server glx version string: 1.4

For OpenGL I see this:

OpenGL core profile version string: 4.5.0 NVIDIA 28.1.0

…so OpenGL version 4.5 is available.

OpenGL ES is usually used in smaller embedded systems, and you can see this:

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 28.1.0

…so it supports OpenGL ES 3.2.

Many other tool kits are built on top of this, e.g., SDL bases on some native direct acceleration API depending on platform. If run on a Jetson I suppose it would run with OpenGL underneath it (I’ve never tried…perhaps it would run with OpenGL ES…not sure).

Thank you very much for your advice. I managed to get that command after installing mesa-utils.
And found the same info as you.
I’m afraid I don’t really understand what SDL is.
Since I asked the question, I’ve found that the Jetson TX1 samples use freeglut, which it seems I can use to make windows and keyboard callbacks etc.
The reason I asked is because I don’t really know how to get the other libraries to compile on the TX1 as it is aarch64.

For SDL see:

The question of whether the Jetson comes with this is perhaps the same as whether a desktop comes with this…no, none of these come with this, at least not the development files for programming (you can typically use OpenGL on the Jetson and most desktop Linux distributions, but cannot develop software for this without additional packages). Yes, most platforms have the option of installing this, e.g., via the “devel” files.

The name of the package will vary depending on Linux distributions, but for example on Fedora glew (e.g., header “/usr/include/GL/glew.h”) is from package “glew-devel”. On a TX2 (Ubuntu) it seems to be “libglew-dev”.

For Ubuntu (L4T) you might be interested in:

# See if you have this:
dpkg -l | grep libglew-dev
# See where it comes from:
apt-cache policy libglew-dev
# Just look directly if you have some headers:
ls /usr/include/GL

The “apt-file” command would require you to install package “apt-file” via:

sudo apt-get install apt-file

You might find this of interest:

sudo apt-file update
sudo apt-file search /usr/include/GL/glew.h