WGL and GLX are what we currently use.
We are currently working on a port to Vulkan, but it will take some months before it will be ready.
I had a look to glx_context,c, expecting to propose you a GLX implementation, but as far as I can see, it would need to keep track of the FBConfig chosen when the main window was created, and so probably a change of a current struct (store the FBConfig into window->context.glx ?). Such a ‘deep change’ is not something that I can do without an ack of the dev-leader…