Index: kernel/arch/ia32/src/drivers/vesa.c
===================================================================
--- kernel/arch/ia32/src/drivers/vesa.c	(revision 4a26e39bc1a5a960a80381b8559a9632bfb86bb7)
+++ kernel/arch/ia32/src/drivers/vesa.c	(revision 1496f871c444d0770d9415a64dfff04b5a59352f)
@@ -57,4 +57,13 @@
 uint16_t vesa_scanline;
 
+uint8_t vesa_red_mask;
+uint8_t vesa_red_pos;
+
+uint8_t vesa_green_mask;
+uint8_t vesa_green_pos;
+
+uint8_t vesa_blue_mask;
+uint8_t vesa_blue_pos;
+
 int vesa_present(void)
 {
@@ -74,5 +83,10 @@
 		break;
 	case 16:
-		visual = VISUAL_RGB_5_6_5;
+		if ((vesa_red_mask == 5) && (vesa_red_pos == 10)
+		    && (vesa_green_mask == 5) && (vesa_green_pos == 5)
+		    && (vesa_blue_mask == 5) && (vesa_blue_pos == 0))
+			visual = VISUAL_RGB_5_5_5;
+		else
+			visual = VISUAL_RGB_5_6_5;
 		break;
 	case 24:
