Haiku OS 用に提供される Xlib/X11 互換性レイヤー

BeOS のアイデアの開発を続けるオープン オペレーティング システム Haiku の開発者は、Xlib ライブラリとの互換性を確保するためのレイヤーの初期実装を準備しました。これにより、X サーバーを使用せずに Haiku で X11 アプリケーションを実行できるようになります。このレイヤーは、高レベルの Haiku グラフィックス API への呼び出しを変換することにより、Xlib 関数のエミュレーションを通じて実装されます。

現在の形式では、このレイヤーは一般的に使用される Xlib API のほとんどを提供しますが、一部の呼び出しはスタブに置き換えられたままです。このレイヤーを使用すると、GTK ライブラリに基づいてアプリケーションをコンパイルして実行できますが、ウィンドウ内の要素のレイアウトの品質にはまだ改善の必要があります。キーボードやマウスクリックによる入力処理はまだ実用化されていません(マウス移動イベントの処理が追加されているだけです)。

Haiku での Qt ライブラリのサポートは、以前は Haiku API 上で実行されるネイティブ Qt ポートを作成することで実装されていました。ただし、GTK のサポートについては、X11 エミュレーションを使用する方が良い選択肢と考えられています。これは、GTK の内部がそれほど抽象化されておらず、Haiku 用に別の GTK バックエンドを作成するには多大なリソースが必要となるためです。解決策として、Haiku 用の X11 サーバーのポートを作成する可能性が検討されましたが、このアプローチは、X11 API が Haiku API 上に直接実装できる状況では不適切であると考えられました。 X11 は長期にわたって安定した不変のプロトコルとして選択されましたが、Wayland による実験はまだ進行中であり、独自のサーバー実装を作成する必要があり、必要なすべてのプロトコル拡張が最終的に承認されているわけではありません。

Haiku OS 用に提供される Xlib/X11 互換性レイヤー

レイヤーを介して Tcl/Tk および wxWidget で単純なアプリケーションを実行すると、まだ解決されていない問題も指摘されますが、外観はすでに正常に近づいています。

Haiku OS 用に提供される Xlib/X11 互換性レイヤー
Haiku OS 用に提供される Xlib/X11 互換性レイヤー
Haiku OS 用に提供される Xlib/X11 互換性レイヤー

Haiku プロジェクトは、BeOS OS 開発の縮小に対する反応として 2001 年に設立され、OpenBeOS という名前で開発されましたが、名前に BeOS 商標が使用されているとの申し立てがあったため、2004 年に名前が変更されたことを思い出してください。このシステムは BeOS 5 テクノロジーに直接基づいており、この OS 用のアプリケーションとのバイナリ互換性を目指しています。 Haiku OS のほとんどのソース コードは、一部のライブラリ、メディア コーデック、他のプロジェクトから借用したコンポーネントを除き、無料の MIT ライセンスの下で配布されています。

このシステムはパーソナル コンピュータを対象としており、ハイブリッド アーキテクチャ上に構築された独自のカーネルを使用し、ユーザーのアクションに対する高い応答性とマルチスレッド アプリケーションの効率的な実行のために最適化されています。 OpenBFS はファイル システムとして使用され、拡張ファイル属性、ロギング、64 ビット ポインター、メタ タグの保存のサポート (ファイルごとに属性を key=value の形式で保存できるため、ファイル システムはデータベースと同様になります) ) と、それらの検索を高速化するための特別なインデックス。 「B+ ツリー」はディレクトリ構造を編成するために使用されます。 BeOS コードから、Haiku には Tracker ファイル マネージャーと Deskbar が含まれています。これらはどちらも BeOS の開発中止後にオープンソース化されました。

出所: オープンネット.ru

コメントを追加します