diff options
| -rw-r--r-- | Cargo.toml | 1 | ||||
| -rw-r--r-- | src/api/x11/mod.rs | 6 | 
2 files changed, 6 insertions, 1 deletions
@@ -66,6 +66,7 @@ features = ["dynamic"]  [target.arm-unknown-linux-gnueabihf.dependencies]  osmesa-sys = "0.0.5" +wayland-client = "*"  [target.arm-unknown-linux-gnueabihf.dependencies.x11]  version = "*" diff --git a/src/api/x11/mod.rs b/src/api/x11/mod.rs index e615314..29f2bba 100644 --- a/src/api/x11/mod.rs +++ b/src/api/x11/mod.rs @@ -315,10 +315,14 @@ impl Window {          let xf86vmode = ffi::Xf86vmode::open().unwrap();        // FIXME: gracious handling          let glx = { -            let libglx = unsafe { dlopen::dlopen(b"libGL.so\0".as_ptr() as *const _, dlopen::RTLD_NOW) }; +            let mut libglx = unsafe { dlopen::dlopen(b"libGL.so.1\0".as_ptr() as *const _, dlopen::RTLD_NOW) }; +            if libglx.is_null() { +                libglx = unsafe { dlopen::dlopen(b"libGL.so\0".as_ptr() as *const _, dlopen::RTLD_NOW) }; +            }              if libglx.is_null() {                  return Err(CreationError::NotSupported);              } +              ffi::glx::Glx::load_with(|sym| {                  let sym = CString::new(sym).unwrap();                  unsafe { dlopen::dlsym(libglx, sym.as_ptr()) }  | 
