写入 FrameBuffer /dev/fb0 似乎不会更改图形屏幕

写入 FrameBuffer /dev/fb0 似乎不会更改图形屏幕

在尝试直接写入图形帧缓冲区 /dev/fb0 (Ubuntu 12.04) 时,图形屏幕不会改变。

Ubuntu 12.04 是否使 /dev/fb0 的使用无效,或者是否需要以某种方式激活它?

答案1

必须执行第二次ioctl()激活帧缓冲区,然后它就起作用了。

/* Refresh buffer manually */
vi.activate |= FB_ACTIVATE_NOW | FB_ACTIVATE_FORCE;
if(0 > ioctl(fd, FBIOPUT_VSCREENINFO, &vi)) {
  printf("Failed to refresh\n");
  return -1;
}

相关内容