
Linuxカーネルのfbdevにあるフレームバッファサブシステムは、コンピュータのモニター、通常はシステムコンソールにグラフィックを表示するために使用されます。[ 1 ]
これは、Linuxカーネルの基本的な機能とデバイスファイルシステムインターフェースのみを使用して、ユーザー空間ソフトウェアがフレームバッファ(コンピュータのビデオメモリのうち、現在のビデオフレームが格納されている部分)にアクセスできるようにする、ハードウェアに依存しないAPIとして設計されました。これにより、ユーザー空間でビデオドライバを実質的に実装するSVGAlibのようなライブラリが不要になります。
ほとんどのアプリケーションでは、fbdev は Linux Direct Rendering Manager (DRM) サブシステムに置き換えられていますが、2022 年現在、いくつかのドライバは、DRM システムを使用するように更新されていないソフトウェアとの下位互換性のために、DRM と fbdev の両方の API を提供しており、DRM ドライバを持たない古い (主に組み込み) ハードウェア用の fbdev ドライバもまだ存在します。[ 2 ]
Linuxフレームバッファには3つの用途があります。
3番目のアプリケーションの例としては、MPlayer、links2、NetSurf、w3m、fbff [ 3 ] 、 fbida [ 4 ] 、 fim [ 5 ]などのLinuxプログラムや、 GLUT、SDL(バージョン1.2)、GTK、Qtなどのライブラリがあり、これらはすべてフレームバッファを直接使用できます。[ 6 ]この使用例は、組み込みシステムで特に人気があります。
DirectFB2は、Linuxフレームバッファのハードウェアアクセラレーションのためのフレームワークを提供することを目的とした別のプロジェクトです。
また、カーネル空間に実装されたFramebufferUI(fbui)と呼ばれるウィンドウシステムもあり、非常に少ないメモリ使用量で基本的な2次元ウィンドウ操作を実現していました。[ 7 ]
Linuxはカーネル2.1.109以降、汎用フレームバッファのサポートを備えている。[ 8 ]
これは元々 、テキストモードディスプレイを持たないApple Macintoshなどのシステム上でカーネルがテキストコンソールをエミュレートできるようにするために実装されたもので、後にIBM PC互換プラットフォームにも拡張された。