Hello community,

here is the log from the commit of package grub2 for openSUSE:Factory checked 
in at 2014-07-31 07:41:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/grub2 (Old)
 and      /work/SRC/openSUSE:Factory/.grub2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "grub2"

Changes:
--------
--- /work/SRC/openSUSE:Factory/grub2/grub2.changes      2014-07-18 
14:03:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.grub2.new/grub2.changes 2014-07-31 
07:41:23.000000000 +0200
@@ -1,0 +2,7 @@
+Tue Jul 29 11:46:54 CEST 2014 - [email protected]
+
+- Prefer a higher resolution in efi_gop driver if the mode taking
+  over is too small like 640x480 (bnc#887972):
+  grub2-efi_gop-avoid-low-resolution.patch 
+
+-------------------------------------------------------------------

New:
----
  grub2-efi_gop-avoid-low-resolution.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ grub2.spec ++++++
--- /var/tmp/diff_new_pack.91BvAD/_old  2014-07-31 07:41:25.000000000 +0200
+++ /var/tmp/diff_new_pack.91BvAD/_new  2014-07-31 07:41:25.000000000 +0200
@@ -178,6 +178,7 @@
 Patch229:       grub2-xfs-Fix-termination-loop-for-directory-iteration.patch
 Patch230:       
grub2-xfs-Convert-inode-numbers-to-cpu-endianity-immediate.patch
 Patch231:       grub2-xfs-V5-filesystem-format-support.patch
+Patch232:       grub2-efi_gop-avoid-low-resolution.patch
 
 Requires:       gettext-runtime
 %if 0%{?suse_version} >= 1140
@@ -372,6 +373,7 @@
 %patch229 -p1
 %patch230 -p1
 %patch231 -p1
+%patch232 -p1
 
 # Generate po/LINGUAS for message catalogs ...
 ./linguas.sh

++++++ grub2-efi_gop-avoid-low-resolution.patch ++++++
---
 grub-core/video/efi_gop.c |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

--- a/grub-core/video/efi_gop.c
+++ b/grub-core/video/efi_gop.c
@@ -358,6 +358,7 @@ grub_video_gop_setup (unsigned int width
   grub_err_t err;
   unsigned bpp;
   int found = 0;
+  int avoid_low_resolution = 1;
   unsigned long long best_volume = 0;
   unsigned int preferred_width = 0, preferred_height = 0;
   grub_uint8_t *buffer;
@@ -376,8 +377,11 @@ grub_video_gop_setup (unsigned int width
        }
     }
 
+again:
   /* Keep current mode if possible.  */
-  if (gop->mode->info)
+  if (gop->mode->info &&
+      (!avoid_low_resolution ||
+       (gop->mode->info->width >= 800 && gop->mode->info->height >= 600)))
     {
       bpp = grub_video_gop_get_bpp (gop->mode->info);
       if (bpp && ((width == gop->mode->info->width
@@ -450,6 +454,11 @@ grub_video_gop_setup (unsigned int width
 
   if (!found)
     {
+      if (avoid_low_resolution && gop->mode->info)
+        {
+          avoid_low_resolution = 0;
+          goto again;
+        }
       grub_dprintf ("video", "GOP: no mode found\n");
       return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "no matching mode found");
     }
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to