Issue was caused by bug in mesa #54080 which makes
glXQueryDrawable fail with GLXBadDrawable for any
request with direct context.
Worked around by temporary overriding X error handling
when getting old interval value and disablingintervals
extension if this query fails.
Also added check for glXSwapIntervalEXT which is
apparently NULL here with GLX_EXT_swap_control=1.