#include <stdio.h>
#include <fcntl.h>
#include <linux/fb.h>
#include <sys/mman.h>
#include <stdlib.h.>
int main() {
int fb;
struct fb_var_screeninfo vinfo;
// 打开framebuffer设备
fb = open("/dev/fb0", O_RDWR);
if (fb < 0) {
perror("Error: cannot open framebuffer device");
exit(1);
}
// 读取当前的var信息
if (ioctl(fb, FBIOGET_VSCREENINFO, &vinfo)) {
perror("Error reading variable information");
exit(2);
}
// 设置新的分辨率大小
vinfo.xres = 1024; // 水平分辨率
vinfo.yres = 768; // 垂直分辨率
// 设置新的分辨率大小
if (ioctl(fb, FBIOPUT_VSCREENINFO, &vinfo)) {
perror("Error setting variable information");
exit(3);
}
printf("Screen size set to %dx%d\n", vinfo.xres, vinfo.yres);
close(fb);
return 0;
}