在尝试直接写入图形帧缓冲区 /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;
}