Difference between revisions of "Hybris"

From postmarketOS
Jump to: navigation, search
(explicitly state that hybris devices will not be featured devices)
(*** dropping libhybris from postmarketOS ***)
 
(15 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[https://en.wikipedia.org/wiki/Hybris_(software) Libhybris] allows devices lacking FLOSS drivers to make full use of their hardware by using the proprietary drivers from Android. Mainlining and using free software drivers is of course the better approach, but it is not possible for all devices. '''We will not list devices that need hybris as featured devices''' (see {{issue|83|postmarketos.org}}).
+
[https://en.wikipedia.org/wiki/Hybris_(software) Libhybris] is an Android compatibility layer, allowing libraries compiled with bionic libc to be loaded by applications built with different libc (originally glibc, musl in postmarketOS case). It allows to run proprietary Android userspace drivers on top of a downstream kernel by running parts of Android in a container. The upsides and downsides of this approach are discussed in {{issue|703|pmaports}}.
  
== Using libhybris with your device ==
+
There were some efforts with limited success to make it work in postmarketOS. But due to lack of maintenance, it was decided to drop it in August of 2020.
  
''This is a stub copied from chat messages in #postmarketOS. Please extend if you are porting your device to libhybris.''
+
If you are interested in working on libhybris, consider joining the excellent [https://ubports.com/ ubports] project. If it has to be postmarketOS and libhybris, please create your own aports repository and put the libhybris related packages there. Feel free to edit this wiki page and link to your repository.
 
 
* convert the halium system.img to a mountable image (basically what the [https://github.com/Halium/halium-scripts/blob/master/halium-install#L41-L52 halium install script] does)
 
* install postmarketOS on the device without user interface and copy the new system.img to the device, to <code>/var/lib/lxc/android/system.img</code>
 
* install the hybris related packages:
 
 
 
<syntaxhighlight lang="shell-session">
 
$ sudo apk add lxc-android xf86-video-hwcomposer libhybris libhybris-egl libhybris-gles libhybris-7.1-caf wayland-libs-client wayland-libs-server
 
</syntaxhighlight>
 
 
 
* start the service:
 
<syntaxhighlight lang="shell-session">
 
$ sudo rc-service lxc-android start
 
</syntaxhighlight>
 
  
 
== See also ==
 
== See also ==
* {{github|1402}} Package libhybris
+
* [https://gitlab.com/postmarketOS/pmaports/-/tree/cb22119c3d62c2d1bfbe79e1b6b67f82be31b8eb/hybris Old hybris pmaports]
 +
* [https://wiki.postmarketos.org/index.php?title=Hybris&oldid=11809 Previous version of this wiki page] (before libhybris support was dropped from postmarketOS)
 +
* {{MR|1144|pmaports}} WIP Android 9 support for pmaports
 +
* {{github|1402}} Initial packaging of libhybris
 
* [[Motorola_Droid_4_(motorola-maserati)|Droid 4]]: the device for which NotKit originally made the libhybris support
 
* [[Motorola_Droid_4_(motorola-maserati)|Droid 4]]: the device for which NotKit originally made the libhybris support
 
* [[Planet_Computers_Gemini_PDA_(planet-geminipda)|Gemini PDA]]: NotKit also made it work with libhybris
 
* [[Planet_Computers_Gemini_PDA_(planet-geminipda)|Gemini PDA]]: NotKit also made it work with libhybris
 
* [https://postmarketos.org/blog/2018/06/09/one-year/#libhybris-and-optional-proprietary-components One year of postmarketOS: libhybris and optional proprietary components]
 
* [https://postmarketos.org/blog/2018/06/09/one-year/#libhybris-and-optional-proprietary-components One year of postmarketOS: libhybris and optional proprietary components]
 
* [https://postmarketos.org/blog/2017/12/31/219-days-of-postmarketOS/#libre-drivers-and-libhybris 219 days of postmarketOS: libre drivers and libhybris]
 
* [https://postmarketos.org/blog/2017/12/31/219-days-of-postmarketOS/#libre-drivers-and-libhybris 219 days of postmarketOS: libre drivers and libhybris]
 +
 +
[[Category:Technical Reference]]

Latest revision as of 03:52, 3 August 2020

Libhybris is an Android compatibility layer, allowing libraries compiled with bionic libc to be loaded by applications built with different libc (originally glibc, musl in postmarketOS case). It allows to run proprietary Android userspace drivers on top of a downstream kernel by running parts of Android in a container. The upsides and downsides of this approach are discussed in pmaports#703.

There were some efforts with limited success to make it work in postmarketOS. But due to lack of maintenance, it was decided to drop it in August of 2020.

If you are interested in working on libhybris, consider joining the excellent ubports project. If it has to be postmarketOS and libhybris, please create your own aports repository and put the libhybris related packages there. Feel free to edit this wiki page and link to your repository.

See also