2

Raspberry Pi でhello_triangle の例 ( /opt/vc/src/hello_pi/hello_triangle) を変更して、fb0 ではなく fb1 に出力しようとしています。

考えられることはすべて検索しましたが、答えはありませんでした (何を検索すればよいかわからない可能性があります)。

変更する必要がある行は次の行のようです。

state->display = eglGetDisplay(EGL_DEFAULT_DISPLAY);

ドキュメントには、パラメーターのタイプNativeDisplayTypeと「接続するディスプレイを指定します。EGL_DEFAULT_DISPLAY はデフォルトのディスプレイを示します」と記載されています。ただし、使用可能なディスプレイを一覧表示/検索する方法に関する情報は提供されません。

EGL_DEFAULT_DISPLAYとして定義されている(NativeDisplayType)0ので、 0 は fb0 を参照していると推測しましたが、(NativeDisplayType)1for fb1を使用するeglGetDisplayと が返されましたEGL_NO_DISPLAY

元の例では fb0 に出力されますが、問題はありません。fb1に画像を表示するために
使用できるので、ディスプレイが正しく機能していることもわかっています。fbi

4

1 に答える 1

2

クイックアンサー: できません。

詳細については、Raspberry Pi フォーラムでの私の投稿を参照してください。

RPi 上の EGL は、Linux フレームバッファをまったく使用せず、fb1 も fb0 も使用しません。グラフィックス ハードウェアはより高いレベル (dispmanx) で動作し、ディスプレイは複数のレイヤーで構成されます。Linux の起動時に、fb0 の全画面をカバーする 1 つのレイヤーが作成されます。EGL を使用してウィンドウを作成すると、新しいレイヤーも作成され、他のレイヤーの前に表示するようにハードウェアに指示されます。

于 2013-10-24T19:36:04.653 に答える