我正在创建一个非常简单的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键将使您无法停止程序。

08-26 04:44