*/
 static bool efifb_bgrt_sanity_check(struct screen_info *si, u32 bmp_width)
 {
-       static const int default_resolutions[][2] = {
-               {  800,  600 },
-               { 1024,  768 },
-               { 1280, 1024 },
-       };
-       u32 i, right_margin;
-
-       for (i = 0; i < ARRAY_SIZE(default_resolutions); i++) {
-               if (default_resolutions[i][0] == si->lfb_width &&
-                   default_resolutions[i][1] == si->lfb_height)
-                       break;
-       }
-       /* If not a default resolution used for textmode, this should be fine */
-       if (i >= ARRAY_SIZE(default_resolutions))
-               return true;
-
-       /* If the right margin is 5 times smaller then the left one, reject */
-       right_margin = si->lfb_width - (bgrt_tab.image_offset_x + bmp_width);
-       if (right_margin < (bgrt_tab.image_offset_x / 5))
-               return false;
+       /*
+        * All x86 firmwares horizontally center the image (the yoffset
+        * calculations differ between boards, but xoffset is predictable).
+        */
+       u32 expected_xoffset = (si->lfb_width - bmp_width) / 2;
 
-       return true;
+       return bgrt_tab.image_offset_x == expected_xoffset;
 }
 #else
 static bool efifb_bgrt_sanity_check(struct screen_info *si, u32 bmp_width)