libhybris

libhybris is a compatibility layer for computers running Linux distributions based on the GNU C library or Musl,[3] intended for using software written for Bionic-based Linux systems, which mainly includes Android libraries and device drivers.

[4] Hybris was initially written by Carsten Munk, a Mer developer, who released it on GitHub on 5 August 2012[1] and publicly announced the project later that month.

In April 2013, Munk announced that Hybris has been extended to allow Wayland compositors to use graphic device drivers written for Android.

[13] Hybris loads "Android libraries, and overrides some symbols from bionic with glibc"[4] calls, making it possible to use Bionic-based software, such as binary-only Android drivers, on glibc-based Linux distributions.

This feature was initially developed by Collabora's Pekka Paalanen for his Android port of Wayland.

The GNU C Library (glibc) and libbionic act as a wrapper around the Linux system calls. Libhybris replaces Libbionic and works on top of the glibc, i.e. it hooks into glibc instead of into the Linux kernel system calls, thereby acting as a compatibility layer.
The Android operating system replaces the GNU C Library with libbionic . Both libraries are wrappers around the system calls of the Linux kernel , but while the GNU C Library has aimed to become and stay POSIX-compliant, libbionic does not. Programs written for libbionic can only run on GNU C Library with the help of another wrapper called libhybris.
While a programmer targets and uses an API , a compiled program can only use the resulting ABI. . After compilation, the binaries offer an ABI .