Index: uspace/fb/fb.c
===================================================================
--- uspace/fb/fb.c	(revision 2bc137c2ead5aef4703a85727d96bf8f99c6f418)
+++ uspace/fb/fb.c	(revision 228b13511773d4e4522facc70f00a9efccb1be5e)
@@ -160,4 +160,15 @@
 }
 
+static void bgr_byte0888(void *dst, int rgb)
+{
+	*((uint32_t *) dst) = BLUE(rgb, 8) << 16 | GREEN(rgb, 8) << 8 | RED(rgb, 8);
+}
+
+static int byte0888_bgr(void *src)
+{
+	int color = *(uint32_t *)(src);
+	return ((color & 0xff) << 16) | (((color >> 8) & 0xff) << 8) | ((color >> 16) & 0xff);
+}
+
 static void rgb_byte888(void *dst, int rgb)
 {
@@ -508,4 +519,9 @@
 		screen.rgb2scr = rgb_byte0888;
 		screen.scr2rgb = byte0888_rgb;
+		screen.pixelbytes = 4;
+		break;
+	case VISUAL_BGR_0_8_8_8:
+		screen.rgb2scr = bgr_byte0888;
+		screen.scr2rgb = byte0888_bgr;
 		screen.pixelbytes = 4;
 		break;
