c++ - 如何直接写入linux framebuffer?

标签 c++ linux graphics framebuffer

如何直接写入linux framebuffer?

最佳答案

查看 FBIOPUT_VSCREENINFO、ioctl 和 mmap

(我有代码但不在这台电脑上,抱歉)

编辑:这应该让你开始

  //open file descriptor and get info
inf fdScreen = open( "devicename", O_RDWR );
fb_var_screeninfo varInfo;
ioctl( fdScreen, FBIOGET_VSCREENINFO, &varInfo );

  //set resolution/dpi/color depth/.. in varInfo, then write it back
ioctl( fdScreen, FBIOPUT_VSCREENINFO, &varInfo );

  //get writable screen memory; unsigned short here for 16bit color
unsigned short* display = mmap( 0, nScreenSize,
                                PROT_READ | PROT_WRITE, MAP_SHARED, fdScreen, 0 );

关于c++ - 如何直接写入linux framebuffer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1527039/

相关文章:

linux - 无法从日志文件中提取准确的键值对

algorithm - 对DDA算法感到困惑,需要一些帮助

c++ - 在频繁引用的情况下替代单例

c++ - 数组和十六进制值 C++?

c++ - 确定场景何时在 Maya 中完成加载

php - 元编程到几种输出语言

.net - 为 Web 应用程序实现单点登录解决方案?

linux - 为什么使用 rm 从容器中删除文件后虚拟大小仍然相同?

R 使用 lapply 保存绘图

graphics - 更新 Three.js 时使用 GLSL 扩展的问题