I am testing one of my OpenGL core-profile applications (explicitly request OpenGL core-profile 3.3 when creating context) on numbers of Linux machines.
By using glxinfo
, I notices that computers with old Intel processors does not have core-profile, as the result, my applications fails to create OpeGL context. I paste some glxinfo
output here:
Ubuntu 20 on macBook (2008, Intel Core 2 Duo)
==============================================
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) 965GM (CL)
OpenGL version string: 2.1 Mesa 20.0.4
OpenGL shading language version string: 1.20
Debian 10 on Intel BayTrail Tablet (2013, Intel Atom Z3770)
==============================================
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Bay Trail
OpenGL core profile version string: 4.2 (Core Profile) Mesa 18.3.6
OpenGL core profile shading language version string: 4.20
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 3.0 Mesa 18.3.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
We can see that 2013 Intel Atom processor does support core-profile but 2008 Core 2 Duo does not.
My question is: If I would like to have my app run on those old computers but I do not want to add implementation by compatibility profile, what is the easiest way to do that? Is there a emulated core-profile implementation for those old systems?