http://www.opengl.org/registry/specs/ARB/glx_create_context.txtThe OpenGL 3.2 introduces the profile mechanism. Each profile is one subset of full OpenGL API. Now there are two profiles: core profile and compatibility profile. The core profile removes lost of old functions. And the compatibility profile could be compatible with any old OpenGL versions.As a result, when create an OpenGL context, the profile should be specified.
Besides, there are two context flag:
GLX_CONTEXT_DEBUG_BIT_ARB and GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB
"If the GLX_CONTEXT_DEBUG_BIT_ARB flag bit is set in
GLX_CONTEXT_FLAGS_ARB, then a <debug context> will be created. Debug
contexts are intended for use during application development, and
provide additional runtime checking, validation, and logging
functionality while possibly incurring performance penalties. The
additional functionality provided by debug contexts may vary
according to the implementation(fn). In some cases a debug context
may be identical to a non-debug context.
If the GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB is set in
GLX_CONTEXT_FLAGS_ARB, then a <forward-compatible> context will be
created. Forward-compatible contexts are defined only for OpenGL
versions 3.0 and later. They must not support functionality marked
as <deprecated> by that version of the API, while a
non-forward-compatible context must support all functionality in
that version, deprecated or not."The profile and flag should be set in the attribute list, which is the last parameter of glXCreateContextAttribsARB.
So just add two options to ContextSetting and set them into the attribute list before calling glXCreateContextAttribsARB.
I have modified the SFML 2.0 snapshot and it works fine for me.
Thanks!