Application failed to initialize because it didn't find extension GLX_MESA_swap_control. This extension is definitely available, see attached glxinfo. Investigation showed the call to glx.QueryExtensionsString in src/api/glx/mod.rs line 757 didn't fetch all available extensions: only the ones in the client section of the glxinfo output. I'm running Ubuntu 18.04 on an VMWARE VM.
I've managed to get things working by changing the query call to use glx.GetClientString(xconn.display as *mut _, ffi::glx::EXTENSIONS as i32) which did return all extensions, including the server ones. Not sure if this is the right thing to do though
glxinfo_snippet.txt
glx.QueryExtentensionsString.txt
glx.GetClientString.txt