教育的な演習として、独自のディスプレイ サーバーを作成しています。コンソールのグラフィカル モードに関するドキュメントは、Linux カーネル ツリーのどこで探せばよいでしょうか?
基本的に、私が理解している限りでは、Xorg は tty デバイスを引き継ぎ、raw ハードウェアも引き継ぎます。そのアクションを複製するためのドキュメントはどこで見つけることができますか?
答え1
Nano-X
繰り返しになりますが、ソースを確認してください。
git clone git://microwindows.org/microwin
特に、次のファイルを確認してください:
drivers/kbd_tty.c
drivers/scr_fb.c
ttyドライバで行われることはXorgが行うことと非常に似ており、devfb
運転者非常にシンプルでクリーンな実装です。
Linux の devfb フレーム バッファーは、主にioctl
(例: 解像度の設定/取得) とmmap
(ピクセルの生の書き込み/読み取り) に依存しています。
devfb
グラフィック ハードウェアにアクセスする 1 つの方法 (Linux では簡単で移植性が少し高い) にすぎません。
代わりに、Xorg ドライバーはカーネル ドライバーと、ドライバーと Xorg 自体の間の Xorg ユーザー空間インターフェイスで構成され、カーネルとユーザー側の間で何が起こるかは実際には実装に依存します (標準はありません)。
SDL
またはを参照することもできますDirectfb
が、Nano-X は最もクリーンかつ簡単で、それ自体がディスプレイ サーバーなので、おそらく、確実に遭遇する他の質問にも役立つ可能性があります。