Libhybris

Hybris
Original authorCarsten Munk
DevelopersMer, Jolla, Open webOS community, Canonical Ltd.
Initial release5 August 2012; 13 years ago (2012-08-05)[1]
Written inC, C++
Operating systemLinux
TypeCompatibility layer
LicenseApache License 2[2]
Websitegithub.com/libhybris
Repository
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.

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]

History

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.[4][5] Munk has since been hired by Jolla as their Chief Research Engineer.[6]

Hybris has also been picked up by the Open webOS community for WebOS Ports,[7][8] by Canonical for Ubuntu Touch[6][9] and by the AsteroidOS[10] project.

In April 2013, Munk announced that Hybris has been extended to allow Wayland compositors to use graphic device drivers written for Android.[6][11][12] Weston has had support for libhybris since version 1.3, which was released on 11 October 2013.[13]

Features

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.

Hybris can also translate Android's EGL calls into Wayland EGL calls, allowing Android graphic drivers to be used on Wayland-based systems. This feature was initially developed by Collabora's Pekka Paalanen for his Android port of Wayland.[6][14][15][16]

See also

References

  1. ^ a b "Initial commit of stskeeps/libhybris". GitHub. 5 August 2012. Retrieved 3 July 2013.
  2. ^ "libhybris/hybris/COPYING". GitHub. 4 April 2013. Retrieved 3 July 2013.
  3. ^ "Hybris - postmarketOS". wiki.postmarketos.org. Retrieved 21 October 2019.
  4. ^ a b c Carsten Munk. "So, introducing libhybris,…". Google+. Retrieved 3 July 2013.
  5. ^ "Libhybris: Load Android Libraries, Override Bionic Symbols". Phoronix. 25 September 2012. Retrieved 3 July 2013.
  6. ^ a b c d Carsten Munk (11 April 2013). "Wayland utilizing Android GPU drivers on glibc based systems, Part 1". Mer Project. Retrieved 3 July 2013.
  7. ^ "Open webOS ported to Nexus 7 over holiday break". The H Open. 7 January 2013. Retrieved 3 July 2013.
  8. ^ "WebOS-Ports". WebOS-Ports. Retrieved 3 July 2013.
  9. ^ "libhybris in Launchpad". Launchpad.net. 5 February 2013. Retrieved 3 July 2013.
  10. ^ "AsteroidOS: An open-source operating system for smartwatches". AsteroidOS. Retrieved 27 January 2016.
  11. ^ Munk, Carsten (8 May 2013). "Wayland utilizing Android GPU drivers on glibc based systems, Part 2". Mer Project. Retrieved 3 July 2013.
  12. ^ "Jolla Brings Wayland Atop Android GPU Drivers". Phoronix. 11 April 2013. Retrieved 3 July 2013.
  13. ^ "Wayland and Weston 1.3 release notes". 11 October 2013.
  14. ^ Munk, Carsten (13 April 2013). "libhybris/hybris/egl/platforms/common/wayland-android.xml". GitHub. Retrieved 3 July 2013.
  15. ^ "First Signs Of Wayland Running On Android". Phoronix. 27 April 2012. Retrieved 3 July 2013.
  16. ^ Pekka Paalanen (24 September 2012). "Wayland on Android: upgrade to 4.0.4 and new build integration". Retrieved 3 July 2013.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.