In the way glxDisplay is implemented right now, OpenGL > 3.0 contexts cannot be built using MESA (Open source) drivers. I don’t know if it is affecting some other Core-profile implementations…
This can be fixed just simply copying the “temporal” context generation from glxinfo tool:
cgit.freedesktop.org/mesa/demos … /glxinfo.c
I did that, creating a pull request:
Actually, it is not a really smart solution (for instance I’m duplicating the stuff to get glXCreateContextAttribsARB extension function). Anyway, I tested that with a NVidia privative driver, and a AMGPU open source driver, and it seems to work nice (the same context 4.5 is generated with the NVidia driver, while a context 4.1 is resulting with AMGPU).
Jose Luis Cercos-Pita