File 0008-grub-proper-graphics-initialization.patch of Package grub
diff --git a/stage2/builtins.c b/stage2/builtins.c
index a206a17..a4bef0a 100644
--- a/stage2/builtins.c
+++ b/stage2/builtins.c
@@ -302,6 +302,19 @@ static int
boot_func (char *arg, int flags)
{
struct term_entry *prev_term = current_term;
+
+ /* If graphic don't inition, we should be inition */
+#ifdef SUPPORT_GRAPHICS
+#ifdef PLATFORM_EFI
+
+ if (!graphics_inited)
+ {
+ graphics_init();
+ graphics_cls();
+ }
+#endif
+#endif
+
/* Clear the int15 handler if we can boot the kernel successfully.
This assumes that the boot code never fails only if KERNEL_TYPE is
not KERNEL_TYPE_NONE. Is this assumption is bad? */
diff --git a/efi/xpm.c b/efi/xpm.c
index 085a10c..0a6270b 100644
--- a/efi/xpm.c
+++ b/efi/xpm.c
@@ -85,7 +85,11 @@ xpm_open(char *path)
c = 0;
do {
if (grub_read(&c, 1) != 1) {
+/* Suppress the failure message on EFI systems, because splashscreen is not used there
+ and we don't need to scare people with it */
+#ifndef PLATFORM_EFI
grub_printf("grub_read() failed\n");
+#endif
grub_free(xpm);
grub_close();
return NULL;