Index: kernel/genarch/include/fb/fb.h
===================================================================
--- kernel/genarch/include/fb/fb.h	(revision 0f81ceb764d3f1f6da8afbeeb9de80a2e8226028)
+++ kernel/genarch/include/fb/fb.h	(revision 95b99639fffc643d77610ff187c406c029738c9a)
@@ -50,5 +50,5 @@
 	 * relative to "addr".
 	 */
-	unsigned int offset;	
+	unsigned int offset;
 
 	/** Screen width in pixels. */
Index: kernel/genarch/include/fb/visuals.h
===================================================================
--- kernel/genarch/include/fb/visuals.h	(revision 0f81ceb764d3f1f6da8afbeeb9de80a2e8226028)
+++ kernel/genarch/include/fb/visuals.h	(revision 95b99639fffc643d77610ff187c406c029738c9a)
@@ -45,4 +45,5 @@
 
 #define VISUAL_BGR_0_8_8_8  6
+#define VISUAL_BGR_8_8_8    7
 
 #endif
Index: kernel/genarch/src/fb/fb.c
===================================================================
--- kernel/genarch/src/fb/fb.c	(revision 0f81ceb764d3f1f6da8afbeeb9de80a2e8226028)
+++ kernel/genarch/src/fb/fb.c	(revision 95b99639fffc643d77610ff187c406c029738c9a)
@@ -121,18 +121,23 @@
 
 
+/** RGB 8:8:8 conversion
+ *
+ */
+static void rgb_888(void *dst, uint32_t rgb)
+{
+	((uint8_t *) dst)[0] = BLUE(rgb, 8);
+	((uint8_t *) dst)[1] = GREEN(rgb, 8);
+	((uint8_t *) dst)[2] = RED(rgb, 8);
+}
+
+
 /** BGR 8:8:8 conversion
  *
  */
-static void rgb_888(void *dst, uint32_t rgb)
-{
-#if defined(FB_INVERT_ENDIAN)
+static void bgr_888(void *dst, uint32_t rgb)
+{
 	((uint8_t *) dst)[0] = RED(rgb, 8);
 	((uint8_t *) dst)[1] = GREEN(rgb, 8);
 	((uint8_t *) dst)[2] = BLUE(rgb, 8);
-#else
-	((uint8_t *) dst)[0] = BLUE(rgb, 8);
-	((uint8_t *) dst)[1] = GREEN(rgb, 8);
-	((uint8_t *) dst)[2] = RED(rgb, 8);
-#endif
 }
 
@@ -450,4 +455,8 @@
 		pixelbytes = 3;
 		break;
+	case VISUAL_BGR_8_8_8:
+		rgb_conv = bgr_888;
+		pixelbytes = 3;
+		break;
 	case VISUAL_RGB_8_8_8_0:
 		rgb_conv = rgb_888;
