Video Driver and OpenGL Troubleshooting in Linux
Identification
this command
lspci | grep VGA
more detailed w/o root
lspci -vnn | grep VGA -A 12
more detailed (requires sudo root) - this actually shows the driver being used.
sudo lshw -C video
OpenGL
Determine OpenGL version (from CLI on local machine... not remote ssh)
glxinfo | grep "OpenGL version"
To exercise use of glxinfo via ssh session to a remote machine, two things will have to be applied. Firstly, if you see the error ( Error: unable to open display ) then you did not allow x-forwarding on your ssh session. Initiate SSH like this:
ssh -X remotehost
The -X allows x-forwarding. Secondly, AND VERY IMPORTANT, executing the command now will falsely report glxinfo because it will still reference your local host even though you are at the remote CLI. Now to specify which display (the correct remote display) execute the command:
DISPLAY=:0 glxinfo | grep "OpenGL version"
glxgears is a simple utility to test 3D Acceleration (local host)
sudo apt install mesa-utils glxgears
Why mesa-utils and what is mesa? Mesa is an open-source implementation of the OpenGL. The OpenGL libGL.so comes with your driver.
What is your video card
lspci lspci|grep -i vga
To upgrade to a newer version of OpenGL you will have to update the graphic card driver. The graphics chip AND corresponding driver will provide higher possible OpenGL support.
You may not have the option to upgrade to a newer graphics driver. For example the Radeon HD 7560D can not be updated with a new driver other than one the distribution includes in the kernel. Radeon HD 7560D is not supported by amdgpu because it is not GCN hardware, it is supported only by the radeon driver.