Linux 帧缓冲接口设计与图形库应用
1. 帧缓冲操作基础
在进行帧缓冲操作时,当每个命令成功完成(对于大的帧缓冲可能需要一些时间),可能会看到错误信息:
cat: write error: No space left on device这是因为尝试将无限的比特流写入有限的内存中。每次实验后,可输入clear命令恢复控制台。
要配置帧缓冲,可使用ioctl系统调用。它能让我们访问或修改设备参数,在帧缓冲的情况下,可能的ioctl命令列在/usr/include/linux/fb.h头文件中,如下所示:
| 命令 | 宏定义 | 功能 |
| ---- | ---- | ---- |
| FBIOGET_VSCREENINFO | 0x4600 | 检索可变帧缓冲参数 |
| FBIOPUT_VSCREENINFO | 0x4601 | 更新可变帧缓冲参数 |
| FBIOGET_FSCREENINFO | 0x4602 | 检索固定帧缓冲参数 |
可变帧缓冲参数的数据结构如下:
struct fb_var_screeninfo { __u32 xres; /* visible resolution */ __u32 yres; __u32 xres_virtual; /* virtual resolution