| Index: lib/gfx/gfx.c | 
| diff --git a/lib/gfx/gfx.c b/lib/gfx/gfx.c | 
| index 757c1d119d8b41222e8efd8376fef9c226817dee..75f6d088abe11f7226f1341383edb48a7c08969b 100644 | 
| --- a/lib/gfx/gfx.c | 
| +++ b/lib/gfx/gfx.c | 
| @@ -657,27 +657,28 @@ gfx_surface *gfx_create_surface(void *ptr, uint width, uint height, uint stride, | 
| /** | 
| * @brief  Create a new graphics surface object from a display | 
| */ | 
| -gfx_surface *gfx_create_surface_from_display(struct display_info *info) | 
| +gfx_surface *gfx_create_surface_from_display(struct display_framebuffer *fb) | 
| { | 
| +    DEBUG_ASSERT(fb); | 
| gfx_surface *surface; | 
| gfx_format format; | 
| -    switch (info->format) { | 
| -        case DISPLAY_FORMAT_RGB_565: | 
| +    switch (fb->image.format) { | 
| +        case IMAGE_FORMAT_RGB_565: | 
| format = GFX_FORMAT_RGB_565; | 
| break; | 
| -        case DISPLAY_FORMAT_RGB_332: | 
| +        case IMAGE_FORMAT_RGB_332: | 
| format = GFX_FORMAT_RGB_332; | 
| break; | 
| -        case DISPLAY_FORMAT_RGB_2220: | 
| +        case IMAGE_FORMAT_RGB_2220: | 
| format = GFX_FORMAT_RGB_2220; | 
| break; | 
| -        case DISPLAY_FORMAT_ARGB_8888: | 
| +        case IMAGE_FORMAT_ARGB_8888: | 
| format = GFX_FORMAT_ARGB_8888; | 
| break; | 
| -        case DISPLAY_FORMAT_RGB_x888: | 
| +        case IMAGE_FORMAT_RGB_x888: | 
| format = GFX_FORMAT_RGB_x888; | 
| break; | 
| -        case DISPLAY_FORMAT_MONO_8: | 
| +        case IMAGE_FORMAT_MONO_8: | 
| format = GFX_FORMAT_MONO; | 
| break; | 
| default: | 
| @@ -686,9 +687,9 @@ gfx_surface *gfx_create_surface_from_display(struct display_info *info) | 
| return NULL; | 
| } | 
|  | 
| -    surface = gfx_create_surface(info->framebuffer, info->width, info->height, info->stride, format); | 
| +    surface = gfx_create_surface(fb->image.pixels, fb->image.width, fb->image.height, fb->image.stride, format); | 
|  | 
| -    surface->flush = info->flush; | 
| +    surface->flush = fb->flush; | 
|  | 
| return surface; | 
| } | 
| @@ -711,11 +712,11 @@ void gfx_surface_destroy(struct gfx_surface *surface) | 
| */ | 
| void gfx_draw_pattern(void) | 
| { | 
| -    struct display_info info; | 
| -    if (display_get_info(&info) < 0) | 
| +    struct display_framebuffer fb; | 
| +    if (display_get_framebuffer(&fb) < 0) | 
| return; | 
|  | 
| -    gfx_surface *surface = gfx_create_surface_from_display(&info); | 
| +    gfx_surface *surface = gfx_create_surface_from_display(&fb); | 
|  | 
| uint x, y; | 
| for (y = 0; y < surface->height; y++) { | 
| @@ -740,11 +741,11 @@ void gfx_draw_pattern(void) | 
| */ | 
| void gfx_draw_pattern_white(void) | 
| { | 
| -    struct display_info info; | 
| -    if (display_get_info(&info) < 0) | 
| +    struct display_framebuffer fb; | 
| +    if (display_get_framebuffer(&fb) < 0) | 
| return; | 
|  | 
| -    gfx_surface *surface = gfx_create_surface_from_display(&info); | 
| +    gfx_surface *surface = gfx_create_surface_from_display(&fb); | 
|  | 
| uint x, y; | 
| for (y = 0; y < surface->height; y++) { | 
| @@ -809,19 +810,19 @@ static int cmd_gfx(int argc, const cmd_args *argv) | 
| return -1; | 
| } | 
|  | 
| -    struct display_info info; | 
| -    if (display_get_info(&info) < 0) { | 
| +    struct display_framebuffer fb; | 
| +    if (display_get_framebuffer(&fb) < 0) { | 
| printf("no display to draw on!\n"); | 
| return -1; | 
| } | 
|  | 
| -    gfx_surface *surface = gfx_create_surface_from_display(&info); | 
| +    gfx_surface *surface = gfx_create_surface_from_display(&fb); | 
|  | 
| if (!strcmp(argv[1].str, "display_info")) { | 
| printf("display:\n"); | 
| -        printf("\tframebuffer %p\n", info.framebuffer); | 
| -        printf("\twidth %u height %u stride %u\n", info.width, info.height, info.stride); | 
| -        printf("\tformat %u\n", info.format); | 
| +        printf("\tframebuffer %p\n", fb.image.pixels); | 
| +        printf("\twidth %u height %u stride %u\n", fb.image.width, fb.image.height, fb.image.stride); | 
| +        printf("\tformat %u\n", fb.image.format); | 
| } else if (!strcmp(argv[1].str, "rgb_bars")) { | 
| gfx_draw_rgb_bars(surface); | 
| } else if (!strcmp(argv[1].str, "test_pattern")) { | 
|  |