2

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

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

看来我需要修改的行是这一行:

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,那里没有问题。
我也知道我的显示器工作正常,因为我可以fbi很好地在 fb1 上显示图像。

4

1 回答 1

2

快速回答:你不能。

有关详细信息,请参阅我在 Raspberry Pi 论坛上的帖子

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

于 2013-10-24T19:36:04.653 回答