0

私が書いているソフトウェアの場合、Linux フレームバッファがいつ更新されるかを知る必要があります。Windows Mirror Drivers のようなものが必要です (詳細については、Wikipedia の Mirror_driver を参照してください)。

周りを見ても何も見つからなかったので、これを達成する方法を探しています。

私が見てきたことから、フレームバッファ固有のモジュールの後にロードされ、fb ops 構造をフックして独自のものを注入し、更新をキャッチするモジュールを作成する必要があります。

誰かが私にヒントを与えることができますか?カーネルモジュールの作成経験はあまりありません。

ありがとうございました!

4

1 に答える 1

1

一般的なカーネルモジュールの作成のヒントについては、 Linux Kernel DevelopmentLinux Kernel in a Nutshell、およびLinuxDeviceDriversの本を読むことができます。

独自のカーネルモジュールを構築およびインストールする方法の基本を理解したら、カーネルのソースコードを読んで、フレームバッファがどこにあるかを把握できます(Documentation / fb / framebuffer.txtから開始)。そのようにフレームバッファドライバに接続できるかどうかはわかりません。接続できない場合は、フックサポートを自分で追加するか、メインドライバのイベントを「ハイジャック」してフックをシミュレートする必要があります。たとえば、更新があるたびに呼び出される関数があるとします。この関数へのポインターが宣言されている場所を見つけ、値を保存してから、関数へのポインターで変更します。関数内で元の関数を呼び出し、次に独自のコードを呼び出して、必要なものを操作し、適切に返します。

フレームバッファのことについてはよくわからないので、あなたのオプションが何であるかを推測しているだけです。linux-fbの主題に固有のディスカッションリストがどこかにある可能性があります。これは私にとって良いスタートかもしれません

于 2011-01-27T08:05:57.277 に答える