| --- a/src/serdisp_specific_framebuffer.c |
| +++ b/src/serdisp_specific_framebuffer.c |
| @@ -312,13 +312,15 @@ serdisp_t* serdisp_framebuffer_setup(con |
| |
| if (fb_success) { |
| /* check if colour mode is supported */ |
| - if (! (vinfo.bits_per_pixel == 16 || vinfo.bits_per_pixel == 24 || vinfo.bits_per_pixel == 32) ) { |
| + if (! (vinfo.bits_per_pixel == 1 ||vinfo.bits_per_pixel == 16 || vinfo.bits_per_pixel == 24 || vinfo.bits_per_pixel == 32) ) { |
| sd_error(SERDISP_ERUNTIME, "unsupported colour depth (%d)", vinfo.bits_per_pixel); |
| fb_success = 0; |
| } |
| } |
| - |
| - dd->scrbuf_size = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel/8; |
| + if (vinfo.bits_per_pixel == 1) |
| + dd->scrbuf_size = (vinfo.xres * vinfo.yres) / 8; |
| + else |
| + dd->scrbuf_size = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel/8; |
| |
| if (fb_success) { |
| /* map framebuffer device to memory */ |