Raspberry Pi EGL - 如何使用fb1?

时间:2013-10-21 03:26:13

标签: opengl-es raspberry-pi egl

我正在尝试修改我的Raspberry Pi上的hello_triangle示例(/opt/vc/src/hello_pi/hello_triangle)以输出到fb1而不是fb0。

我搜索了所有我能想到的没有答案的东西(可能是我不知道该搜索什么)。

我需要修改的行似乎是这一行:

state->display = eglGetDisplay(EGL_DEFAULT_DISPLAY);

文档声明参数的类型为NativeDisplayType,“指定要连接的显示.EGL_DEFAULT_DISPLAY表示默认显示。”但是,它没有提供有关如何列出/查找可用显示的任何信息。

EGL_DEFAULT_DISPLAY定义为(NativeDisplayType)0所以我猜测0指的是fb0,但使用(NativeDisplayType)1表示fb1导致eglGetDisplay返回EGL_NO_DISPLAY

原始示例按原样输出到fb0,没有问题 我也知道我的显示器工作正常,因为我可以使用fbi在fb1上显示图像就好了。

1 个答案:

答案 0 :(得分:2)

快速回答:你做不到。

有关详细信息,请参阅Raspberry Pi论坛上的post

  

RPi上的EGL根本不使用linux framebuffers,而不是fb1和fb0。图形硬件在更高级别(dispmanx)工作,显示由多个层组成,当linux启动时,它创建一个层来覆盖fb0的全屏。当您使用EGL创建窗口时,您还可以创建一个新图层并告诉硬件将其显示在其他图层之前。