+
+ ioctl(fd, FBIOGET_VSCREENINFO, &new_vinfo);
+ new_vinfo.xres = x;
+ new_vinfo.yres = y;
+ new_vinfo.bits_per_pixel = depth;
+
+ if(ioctl(fd, FBIOPUT_VSCREENINFO, &new_vinfo) == -1) {
+ fprintf(stderr, "failed to set video mode %dx%d %dbpp: %s\n", x, y, depth, strerror(errno));
+ return 0;
+ }
+
+ if(vmem) {
+ munmap(vmem, vmem_size);
+ vmem = 0;
+ vmem_size = 0;
+ }
+
+ return fbgfx_get_video_mode(0, 0, 0);