X のない最小限の CLI システムにはフレームバッファー ドライバーが必要ですか?

X のない最小限の CLI システムにはフレームバッファー ドライバーが必要ですか?

私は最近、Apple Macbook ラップトップで Linux From Scratch システムを構築しましたが、グラフィックス ハードウェアと有効にする必要があるカーネル ドライバー オプションを理解するのに苦労しています。

LFS システムは (現時点では) Bash で起動する非常に最小限のシステムですが、X Window システムや DE はありません。ラップトップは Macbook 2.1 で、Intel GMA 950 グラフィック チップが搭載されています。この GPU に適切なドライバーと思われるものをカーネルで有効にしました。i915 ドライバーです。ただし、「フレーム バッファー デバイス」に関連するその他のオプションも有効にしない限り (正確な構成オプションはまだ特定していません)、起動中に画面に何も表示されません (ただし、画面は数回異なる黒色に変わります)。

ここで何が起こっているのか誰か説明してもらえますか? i915 ドライバーが GPU に適したものであれば、システムが端末出力を画面に印刷するにはそれで十分ではないでしょうか? そうでない場合、i915 ドライバー以外に何が必要ですか?

同じラップトップに Trisquel もインストールされており、LXDE 環境で正常に起動します。によると、lsmodi915 ドライバーは正しいものであり、カーネルはフレームバッファー関連のドライバーをロードしていないようです。

私は混乱しています!

答え1

私自身もこの件について調査してきましたが、簡単に答えると、コンソールを有効にするにはフレームバッファーが必要だということです。

Wikipediaの記事によると、Linux コンソールコンソールには、テキスト モードとフレーム バッファの 2 つのモードがあります。説明によると、テキスト モードは非常に基本的なもので、すべてのグラフィックス ハードウェアで動作するわけではないようです。そのため、フレーム バッファ コンソールが残りますが、このコンソールが動作するにはフレーム バッファが必要であることは明らかです。

出力をlsmod、動作していたカーネル構成のファイルにコピーしました。これを にパイプすると、次のようになりますgrep fb

$ less lsmod_LFS | grep fb
fbcon                  49152  70
bitblit                16384  1 fbcon
fbcon_rotate           16384  1 bitblit
fbcon_ccw              16384  1 fbcon_rotate
fbcon_ud               20480  1 fbcon_rotate
fbcon_cw               16384  1 fbcon_rotate
softcursor             16384  4 fbcon_ud,fbcon_cw,fbcon_ccw,bitblit
cfbfillrect            16384  1 drm_kms_helper
cfbimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
cfbcopyarea            16384  1 drm_kms_helper
fb                     65536  8 fbcon_ud,fbcon_cw,fbcon_ccw,bitblit,softcursor,i915,fbcon,drm_kms_helper
fbdev                  16384  2 fb,fbcon

つまり、フレームバッファ コンソール (fbcon) を使用していました。

しかし、次の疑問は、なぜ fbcon モジュールを読み込めなくなったのかということです (これが画面に何も印刷されない理由のようです)。

関連情報