我正在创建一个非常简单的OpenGL ES 2.0演示,该演示可以在iMX6内核的Yocto Linux发行版上运行。我将图像直接写入控制台帧缓冲区,而不是使用X11。我使用实现EGL的Vivante GPU驱动程序。
当我运行该应用程序时,我看到光标在屏幕底部闪烁,如果我在程序执行期间键入内容,字母将显示在底部。如何在程序中阻止这种情况的发生?
最佳答案
好的,我找到了答案here。
答案是建议这样做,这也可以消除电源管理:
#include <linux/kd.h>
int cfd;
// Set console to graphics mode
if((cfd=open("/dev/tty0", O_RDWR))<0){
fprintf(stderr, "Error - cannot open tty0\n");
return -1;
}
else{
ioctl(cfd, KDSETMODE, KD_GRAPHICS);
}
我需要添加两个另外的包含,
<fnctl.h>
和<sys/ioctl.h>
。警告-如果您的程序无法退出,则按
CTRL C
键将使您无法停止程序。