I modified a bit the patch in order to have the correct size of screen in all buffermodes
******************************************************* --- DirectFB-1.1.1/systems/fbdev/fbdev.c 2008-04-07 09:44:07.000000000 +0200 +++ DirectFB-1.1.1_modifie/systems/fbdev/fbdev.c 2008-04-10 13:31:07.000000000 +0200 @@ -1888,6 +1890,8 @@ dfb_fbdev_set_mode( CoreSurface FBDEV_IOCTL( FBIOGET_VSCREENINFO, &var ); vxres = var.xres_virtual; + + var.yres_virtual = ( (var.yres_virtual > vyres) ? vyres : var.yres_virtual ); // For FB_S1D13XXX (o n AT91RM9200-EK) switch (config->buffermode) { case DLBM_TRIPLE: vyres = var.yres_virtual / 3; ******************************************************* and now it is working well in all buffermodes ! :) But maybe this patch can affect other framebuffers... (I think it does not) If it does not, is it possible to include it in CVS? Regards, Guillaume GARDET -------- Message d'origine-------- De: [EMAIL PROTECTED] de la part de GARDET Guillaume Date: jeu. 10/04/2008 09:44 À: directfb-dev@directfb.org Objet : [directfb-dev] Patch for fbdev.c for epson S1D13XXX framebuffer -DirectFB 1.1.1 Hi list, I am running DirectFB on the board AT91RM9200-EK which uses the epson S1D13XXX framebuffer (FB_S1D13XXX) and I had a bug with DirectFB. My screen is 640x480 and the framebuffer mode is : DLBM_BACKVIDEO. So, the virtual size should be 640x960 and DirectFB reported a size of 640x1024, so I get a screen size of 640x512 and I lost the bottom of the screen... So, I wrote a little patch : ******************************************************* --- DirectFB-1.1.1/systems/fbdev/fbdev.c 2008-04-10 09:23:23.000000000 +0200 +++ DirectFB-1.1.1/systems/fbdev/fbdev.c 2008-04-07 09:44:07.000000000 +0200 @@ -1893,7 +1895,8 @@ dfb_fbdev_set_mode( CoreSurface vyres = var.yres_virtual / 3; break; case DLBM_BACKVIDEO: - vyres = var.yres_virtual / 2; +// vyres = var.yres_virtual / 2; + vyres = ( (var.yres_virtual > vyres) ? vyres : var.yres_virtual ) / 2; // For FB_S1D1 3XXX (on AT91RM9200-EK) break; default: vyres = var.yres_virtual; ******************************************************* and now it is working well ! :) But I do not know if this patch can affect other framebuffers... If it does not, is it possible to include it in CVS? Regards, Guillaume GARDET
--- DirectFB-1.1.1/systems/fbdev/fbdev.c 2008-04-07 09:44:07.000000000 +0200 +++ DirectFB-1.1.1_modifie/systems/fbdev/fbdev.c 2008-04-10 13:31:07.000000000 +0200 @@ -1888,6 +1890,8 @@ dfb_fbdev_set_mode( CoreSurface FBDEV_IOCTL( FBIOGET_VSCREENINFO, &var ); vxres = var.xres_virtual; + + var.yres_virtual = ( (var.yres_virtual > vyres) ? vyres : var.yres_virtual ); // For FB_S1D13XXX (on AT91RM9200-EK) switch (config->buffermode) { case DLBM_TRIPLE: vyres = var.yres_virtual / 3;
_______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev