DirectFBは、主にフレームバッファを実装した組込機器において、組み込みLinux等のカーネル環境上でグラフィックスを扱うためのライブラリである。

DirectFB
開発元 Denis Oliver Kropp
最新版
1.7.6 / 2014年8月14日 (9年前) (2014-08-14)
リポジトリ ウィキデータを編集
プログラミング
言語
C言語[1]
対応OS Linux, macOS
種別 ライブラリ
ライセンス LGPL
公式サイト www.directfb.net (archive.org)
テンプレートを表示

概要 編集

DirectFBDirect Frame Bufferを意味する言葉であり、GNU/LinuxなどUnix系ベースのオペレーティングシステムにて動作するソフトウェアライブラリである。主に、組み込みLinuxでの利用を前提に開発されている。これは、少ないメモリ使用量で、グラフィックアクセラレーションを実現し、入力デバイスの管理や抽象化レイヤーの作成、ウィンドウシステムの統合などのサポートを、一切カーネルに変更を加えることなく、フレームバッファの上層に透過的なウィンドウと多層の描画レイヤーを提供することで実現している[2]GPUが実装していない機能はCPUでレンダリングできる。DirectFBはGNU Lesser General Public License (LGPL) にて配布されるフリーソフトウェアである。

このライブラリは、開発者がUnix系オペレーティングシステムにおいて、完全なX Window System (X11) サーバの代替として利用可能になるよう設計されている。DirectFBを利用すると、直接APIを使用しアプリケーションとビデオハードウェアが会話できるようになる。その結果、描画操作を高速かつ簡易に実現できるようになる。

このライブラリは、しばしば、組み込みシステムの開発者が完全なX Window Systemサーバの実装によるオーバーヘッドを巧みに回避し、組み込みシステム上にビデオゲームを実装する際にも利用される。2006年に発表されたCE Linux Forumのオーディオ/ビデオグラフィック仕様V2のソフトウェアスタックに、DirectFBが含まれている[3]

DirectFBはXDirectFBという、DirectFBが生成するウィンドウをX11の最上層のウィンドウ (ルートウィンドウ英語版) に描画するルートレス (rootless) Xサーバの実装にも利用されている。XDirectFBはDirectFB上のX11アプリケーションを書き換えることなく容易に動作させるため、X11とDirectFBの間に立って両者のインタフェースを取り持つ。

DirectFBGLはOpenGLハードウェアアクセラレーションをサポートするため、Mesa 3Dライブラリのダイレクト・レンダリング・インフラストラクチャ (Direct Rendering Infrastructure; DRI) を利用する、DirectFB/XDirectFBのためのOpenGL拡張である。

DirectFBは組み込みに限らず、メモリリソースの限られた環境でグラフィカルなインタフェースを提供する場合に使用されることがある。例えばハードディスクへのオペレーティングシステムのインストール時においては、ディスク上にファイルシステムが作成されるまでは多くのデータがメモリのみに溜め込まれているケースがある。この様な時にGUIを提供する場合は少しでもメモリを節約するため、X Window Systemの代わりにDirectFBをインストーラに組み込む場合がある。LinuxディストリビューションDebianは、オペレーティングシステムのインストーラーであるDebianインストーラでグラフィカルインストールサポートのために、ウィジェット・ツールキットGTK+とのバインディングである、GTK on DirectFB[4]を利用していた[5]

利用例 編集

DirectFBを利用する製品の一例は、LinuxTV、販売されなかったがPalm Foleoモバイルコンパニオン、webOSオペレーティングシステム、そして、jointSPACEプロジェクトの成果物をベースとするPhilipsTVである[6]。 日本ではシャープAQUOSソニーBRAVIAなどデジタルテレビの実装にも用いられている[注 1]

関連項目 編集

脚注 編集

  1. ^ Ohloh Analysis Summary - DirectFB
  2. ^ directfb.org (Internet Archive) | Main
  3. ^ AudioVideoGraphicsSpec_V2 - CE Linux Public
  4. ^ Projects:GTK on DirectFB”. DirectFB.Org (2008年1月3日). 2011年2月13日閲覧。
  5. ^ DebianInstaller/LibraryUdebs”. wiki.debian.org (2009年8月22日). 2011年2月13日閲覧。
  6. ^ jointSPACE TVs Developers

注記 編集

  1. ^ LGPLの条件下によって利用されたソースコードの翻案が公開されており、幾つかの機種でDirectFBが使用されている。液晶テレビ AQUOSサポートステーション|ソースコード公開:シャープ”. シャープ (2011年). 2011年5月8日閲覧。Sony Global - Source Code Distribution Service”. ソニー (2012年). 2012年3月25日閲覧。

外部リンク 編集

  • www.directfb.org 2015年まで機能していたサイト。Internet Archiveによる2015年8月時点のアーカイブ。
  • www.directfb.net 2016年から2017年まで機能していたサイト。Internet Archiveによる2017年6月時点のアーカイブ。
  • directfb.biz 2015年まで機能していたDirectFB integrated media GmbHのサイト。Internet Archiveによる2015年8月時点のアーカイブ。
  • "DirectFB". Freecode.
  • Embedded Linux WikiによるDirectFBの詳細な説明