<div dir="ltr"><div><div><div>Hi,<br><br></div>I am using Amazon ubuntu instance (t2.micro type) to try to run some OpenGL applications. Since this type of instance does not provide GPU support, I have to install mesa to obtain OpenGL functionality. But after installation of mesa version 10.3.5 (build from source, not apt-get install mesa-common-dev), reboot and run some OpenGL applications, I always got errors. I created a dummy display, as suggested by Petre Eftime 
(<a href="http://lists.freedesktop.org/archives/mesa-users/2014-December/000908.html">http://lists.freedesktop.org/archives/mesa-users/2014-December/000908.html</a>),
 using command<br><pre class="">Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./10.log -config ./xorg.conf :10</pre>suggested in <a href="https://www.xpra.org/trac/wiki/Xdummy">https://www.xpra.org/trac/wiki/Xdummy</a>. But the same error comes out. For example,<br><br></div>If I run glxinfo -display :10 (:10 is the display I created using Xdummy), I got:<br>name of display: :10<br>Error: couldn't find RGB GLX visual or fbconfig<br>Error: couldn't find RGB GLX visual or fbconfig<br><br></div>If I run glxgears -display :10, I got:<br>Error: couldn't get an RGB, Double-buffered visual<br><br><div>If I run glmark2, I got:<br>Error: GLX version >= 1.3 is required<br>Error: Error: Could not get a valid XVisualInfo!<br>Error: Error: Couldn't create X Window!<br>Error: main: Could not initialize canvas<br><br></div><div>To find out the reason, I check the log file 10.log, using "grep EE 10.log". The results returned are:<br>    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.<br>[ 10203.744] Initializing built-in extension MIT-SCREEN-SAVER<br>[ 10203.756] (EE) AIGLX: reverting to software rendering<br>[ 10203.762] (EE) AIGLX error: dlopen of /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so failed (/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: undefined symbol: _glapi_tls_Dispatch)<br>[ 10203.762] (EE) GLX: could not load software renderer<br><br></div><div>Form the log, it can be seen that there is an error when linking dynamically to swrast_dri.so, which is a software driver that should be used because Amazon EC2 t2.micro instance does not provide any hardware graphics card, and this is a part of mesa (so I asked here). Due to the failure to link to this indispensable software driver, GLX could not be loaded, leading to above error messages involving GLX, to the best of my understanding.<br></div><div><br></div><div><div>So I think it is not the display limit of t2.micro instance, but the failed linking of mesa's software driver <b>swrast</b> that lead to failures to run OpenGL applications. For this reason, I wonder if anyone could help me solve this problem, e.g., by disabling the AIGLX or something. Thank you very much for the help.<br><br></div><div>For your reference, below is the output of the command "ldd /usr/lib/xorg/modules/extensions/libglx.so"<br><br>    linux-vdso.so.1 =>  (0x00007f04cd423000)<br>    libGL.so.1 => /usr/local/lib/libGL.so.1 (0x00007f04ccf13000)<br>    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f04cccf5000)<br>    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f04ccaf0000)<br>    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f04cc72a000)<br>    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f04cc500000)<br>    libglapi.so.0 => /usr/local/lib/libglapi.so.0 (0x00007f04cc2a5000)<br>    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f04cc093000)<br>    libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f04cbe90000)<br>    libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f04cbc89000)<br>    libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f04cba87000)<br>    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f04cb752000)<br>    libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007f04cb53a000)<br>    libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007f04cb335000)<br>    libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007f04cb132000)<br>    libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007f04caf2e000)<br>    libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007f04cad28000)<br>    libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f04cab09000)<br>    libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007f04ca906000)<br>    libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f04ca700000)<br>    libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f04ca4f4000)<br>    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f04ca1ed000)<br>    /lib64/ld-linux-x86-64.so.2 (0x00007f04cd425000)<br>    libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f04c9fe9000)<br>    libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f04c9de2000)</div><br></div></div>