libhybris

ハイブリス
原作者カーステン・ムンク
開発者MerJollaOpen webOSコミュニティ、Canonical Ltd.
初回リリース2012年8月5日[ 1 ] (2012年8月5日
リポジトリ
書かれたCC++
オペレーティング·システムリナックス
タイプ互換性レイヤー
ライセンスApacheライセンス2 [ 2 ]
Webサイトgithub.com / libhybris
GNU Cライブラリ(glibc)とlibbionicは、Linuxシステムコールのラッパーとして機能します。LibhybrisはLibbionicに代わるものであり、glibc上で動作します。つまり、Linuxカーネルのシステムコールではなくglibcにフックすることで、互換性レイヤーとして機能します。
Androidオペレーティングシステムは、GNU Cライブラリをlibbionicに置き換えました。どちらのライブラリもLinuxカーネルシステムコールをラッパー化したものであり、GNU CライブラリはPOSIX準拠を目指しているのに対し、libbionicはそうではありません。libbionic用に書かれたプログラムは、libhybrisと呼ばれる別のラッパーを使用することでのみGNU Cライブラリ上で実行できます。
プログラマーがAPI をターゲットにして使用する一方で、コンパイルされたプログラムは結果として得られる ABI のみを使用できます。コンパイル後、バイナリはABIを提供します。

libhybrisは、 GNU CライブラリまたはMuslをベースにしたLinuxディストリビューションを実行するコンピュータの互換性レイヤーであり、[ 3 ] BionicベースのLinuxシステム用に書かれたソフトウェア(主にAndroidライブラリとデバイスドライバを含む)を使用することを目的としています。[ 4 ]

歴史

Hybrisは当初、 Mer開発者のCarsten Munkによって書かれ、 2012年8月5日にGitHubで公開され[ 1 ]、同月後半にプロジェクトが公表されました。[ 4 ] [ 5 ] Munkはその後、 Jollaに主任研究エンジニアとして採用されました。 [ 6 ]

HybrisはOpen webOSコミュニティのWebOS Portsにも採用され[ 7 ] [ 8 ] 、 CanonicalUbuntu Touch [ 6 ] [ 9 ] AsteroidOS [ 10 ]プロジェクトにも採用されています。

2013年4月、MunkはHybrisが拡張され、WaylandコンポジターがAndroid用に書かれたグラフィックデバイスドライバーを使用できるようになると発表しました。[ 6 ] [ 11 ] [ 12 ] Westonは2013年10月11日にリリースされたバージョン1.3以降、libhybrisをサポートしています。[ 13 ]

特徴

Hybrisは「Androidライブラリを読み込み、glibc呼び出しでbionicの一部のシンボルを上書きする」[ 4 ]ことで、バイナリのみのAndroidドライバなどのBionicベースのソフトウェアをglibcベースのLinuxディストリビューションで使用できるようにします。

HybrisはAndroidのEGL呼び出しをWaylandのEGL呼び出しに変換できるため、AndroidのグラフィックドライバをWaylandベースのシステムで使用できるようになります。この機能は、CollaboraのPekka Paalanen氏がWaylandのAndroid移植版のために最初に開発しました。[ 6 ] [ 14 ] [ 15 ] [ 16 ]

参照

参考文献

  1. ^ a b「stskeeps/libhybris の最初のコミット」 GitHub。2012年8月5日。 2013年7月3日閲覧
  2. ^ "libhybris/hybris/COPYING" . GitHub. 2013年4月4日. 2013年7月3日閲覧
  3. ^ "Hybris - postmarketOS" . wiki.postmarketos.org . 2019年10月21日閲覧
  4. ^ a b c Carsten Munk. 「それでは、libhybris をご紹介します…」 Google+ . 2013年7月3日閲覧
  5. ^ 「Libhybris: Androidライブラリのロード、Bionicシンボルのオーバーライド」 Phoronix、2012年9月25日。 2013年7月3日閲覧
  6. ^ a b c d Carsten Munk (2013年4月11日). 「glibcベースのシステムでAndroid GPUドライバーを利用するWayland、パート1」 . Mer Project . 2013年7月3日閲覧
  7. ^ 「Open webOS、休暇中にNexus 7に移植」 The H Open、2013年1月7日。 2013年7月3日閲覧
  8. ^ "WebOS-Ports" . WebOS-Ports . 2013年7月3日閲覧
  9. ^ "libhybris in Launchpad" . Launchpad.net. 2013年2月5日. 2013年7月3日閲覧
  10. ^ 「AsteroidOS:スマートウォッチ向けオープンソースオペレーティングシステム」 AsteroidOS . 2016年1月27日閲覧
  11. ^ Munk, Carsten (2013年5月8日). 「glibcベースのシステムでAndroid GPUドライバーを利用するWayland、パート2」 . Mer Project . 2013年7月3日閲覧
  12. ^ 「Jolla、WaylandをAndroid GPUドライバーに搭載」 Phoronix、2013年4月11日。 2013年7月3日閲覧
  13. ^ 「Wayland および Weston 1.3 リリースノート」 2013年10月11日。
  14. ^ Munk, Carsten (2013年4月13日). 「libhybris/hybris/egl/platforms/common/wayland-android.xml」 . GitHub . 2013年7月3日閲覧
  15. ^ 「WaylandがAndroidで動作する最初の兆候」 Phoronix、2012年4月27日。 2013年7月3日閲覧
  16. ^ Pekka Paalanen (2012年9月24日). 「Android版Wayland:4.0.4へのアップグレードと新しいビルド統合」 . 2013年7月3日閲覧