diff --git a/src/api/glx/mod.rs b/src/api/glx/mod.rs index 317d9ff3..18f29386 100644 --- a/src/api/glx/mod.rs +++ b/src/api/glx/mod.rs @@ -430,6 +430,9 @@ unsafe fn choose_fbconfig(glx: &ffi::glx::Glx, extensions: &str, xlib: &ffi::Xli if extensions.split(' ').find(|&i| i == "GLX_ARB_framebuffer_sRGB").is_some() { out.push(ffi::glx_extra::FRAMEBUFFER_SRGB_CAPABLE_ARB as c_int); out.push(1); + } else if extensions.split(' ').find(|&i| i == "GLX_EXT_framebuffer_sRGB").is_some() { + out.push(ffi::glx_extra::FRAMEBUFFER_SRGB_CAPABLE_EXT as c_int); + out.push(1); } else { return Err(()); } @@ -498,7 +501,8 @@ unsafe fn choose_fbconfig(glx: &ffi::glx::Glx, extensions: &str, xlib: &ffi::Xli } else { None }, - srgb: get_attrib(ffi::glx_extra::FRAMEBUFFER_SRGB_CAPABLE_ARB as c_int) != 0, + srgb: get_attrib(ffi::glx_extra::FRAMEBUFFER_SRGB_CAPABLE_ARB as c_int) != 0 || + get_attrib(ffi::glx_extra::FRAMEBUFFER_SRGB_CAPABLE_EXT as c_int) != 0, }; Ok((fb_config, pf_desc))