0

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?

genpfault
  • 51,148
  • 11
  • 85
  • 139
Hongkun Wang
  • 717
  • 8
  • 22
  • The OpenGL emulation software for Linux is `mesa`. Likely you already have it installed. To force MESA to emulate see [this](https://askubuntu.com/questions/861246/force-opengl-software-rendering-for-specific-programs). I don't know the last OGL version emulated (3.3?) when "forcing" is set. – Ripi2 Jun 26 '20 at 23:01
  • Thanks for your suggestions, I'll give mesa software implementation a try. – Hongkun Wang Jun 29 '20 at 17:56

0 Answers0