DirectFB

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

概要
DirectFBはDirect Frame Bufferを意味する言葉であり、GNU/LinuxなどUnix系ベースのオペレーティングシステムにて動作するソフトウェアライブラリである。主に、組み込みLinuxでの利用を前提に開発されている。これは、少ないメモリ使用量で、グラフィックアクセラレーションを実現し、入力デバイスの管理や抽象化レイヤーの作成、ウィンドウシステムの統合などのサポートを、一切カーネルに変更を加えることなく、フレームバッファの上層に透過的なウィンドウと多層の描画レイヤーを提供することで実現している。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が含まれている。

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を利用していた。

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

関連項目 

 X.Org Server
 Crank Storyboard Suite
 Storyboard Designer, user interface builder targetting DirectFB

脚注

注記

外部リンク 
 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月時点のアーカイブ。
 
 Embedded Linux WikiによるDirectFBの詳細な説明

Linux API
グラフィックライブラリ
オープンソースソフトウェア