OpenGL doc states that
If glXCreateContextAttribsARB succeeds, it initializes the context to the initial state defined by the OpenGL specification, and returns a handle to it. This handle can be used to render to any GLX surface (window, pixmap, or pbuffer) compatible with
<config>
, subject to constraints imposed by the OpenGL API version of the context.
How do I determine compatibility of different framebuffer configurations?
By creating the drawable (window, pixmap, pbuffer) using that framebuffer configuration. This is not something you query but you define at drawable creation time.