How to install OpenGL on Amazon Linux 2 AMI t2.small type?

I need to install Grass GIS on my Amazon Linux 2 AMI instance which is of type t2.small During the configuration of Grass GIS it stopped with

checking for GL/gl.h... no
configure: error: *** Unable to locate OpenGL includes.

To install OpenGL and/or its includes, I've tried following (all with sudo)

yum install libx11-dev
yum install libx11
yum install libX11
yum install libX11-dev
yum install libglu1-mesa-dev
yum install freeglut-devel
yum install freeglut3-dev
yum install mesa-common-dev

As far as I can remember, all of them returned a message of this kind (message translated into English)

amzn2-core
no package named libX11-dev which can be used

Question #1

I kept on searching and found this post which seems to say that in order to use OpenGL, the instance type should be G2 Is that right?

If that's the case then I presume that the G2 type has a capable graphics hardware whereas my instance t2.small (or shortlyT2 ?) is likely to have no capable graphics hardware.

lspci | grep VGA gives: 00:02.0 VGA compatible controller: Cirrus Logic GD 5446

Question #2

Is it in any way possible to install OpenGL on t2.type (whether using yum or using the source codes and building OpenGL from scratch) ?


Solution 1:

Here we see compilation failed because a C include file was missing:

checking for GL/gl.h... no
configure: error: *** Unable to locate OpenGL includes.

You should use yum to search for the package containing the missing file.

[ec2-user@localhost ~]$ sudo yum provides */GL/gl.h
Loaded plugins: langpacks, priorities, update-motd
mesa-libGL-devel-17.0.1-6.20170307.amzn2.x86_64 : Mesa libGL development package
Repo        : amzn2-core
Matched from:
Filename    : /usr/include/GL/gl.h



mesa-libGL-devel-17.2.3-8.20171019.amzn2.0.1.x86_64 : Mesa libGL development
                                                    : package
Repo        : amzn2-core
Matched from:
Filename    : /usr/include/GL/gl.h



mesa-libGL-devel-17.2.3-8.20171019.amzn2.0.4.x86_64 : Mesa libGL development
                                                    : package
Repo        : amzn2-core
Matched from:
Filename    : /usr/include/GL/gl.h



mesa-libGL-devel-18.3.4-5.amzn2.0.1.x86_64 : Mesa libGL development package
Repo        : amzn2-core
Matched from:
Filename    : /usr/include/GL/gl.h

So now you can see the package name is mesa-libGL-devel and you can install it.

Note that without GPU hardware attached to the VM, this won't buy you much. You can certainly compile the software but you'll want an instance with a GPU in order to run it without having to wait forever for software rendering. (The Cirrus you see there is an emulated 1996-era SVGA card which is good for basic video and little else. It basically exists only for the relatively new Screenshot feature, and that level of video is about all it can do.)