From a87029bb51f98212171ddc62e144511b715587b7 Mon Sep 17 00:00:00 2001 From: Thomas Backlund Date: Thu, 5 Feb 2015 01:14:23 +0159 Subject: fix stage2 loading graphical installer in efi mode --- perl-install/install/NEWS | 1 + perl-install/install/gtk.pm | 9 ++++++--- perl-install/install/steps_gtk.pm | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) (limited to 'perl-install') diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS index d7195097b..255c42df5 100644 --- a/perl-install/install/NEWS +++ b/perl-install/install/NEWS @@ -1,6 +1,7 @@ - default to GPT on disks larger than 4TB, not LVM - fix GPT initialization on empty disk - fix failure to delete partitions after switching to GPT +- fix stage2 loading graphical installer in efi mode Version 16.51 - 3 February 2015 diff --git a/perl-install/install/gtk.pm b/perl-install/install/gtk.pm index f502b4f06..c806090a4 100644 --- a/perl-install/install/gtk.pm +++ b/perl-install/install/gtk.pm @@ -254,7 +254,10 @@ sub createXconf { return if !$Driver; - my $resolution = $Driver eq 'fbdev' ? '"default"' : '"800x600" "640x480"'; + # grub2-efi init framebuffer in 1024x768, we must stay in sync or loading fails + my $resolution = $Driver eq 'fbdev' ? is_uefi() ? '"1024x768"' : '"default"' : '"800x600" "640x480"'; + # efi framebuffer wants 24 bit + my $depth = is_uefi() ? '24' : '16'; output($file, qq(Section "ServerFlags" EndSection @@ -281,9 +284,9 @@ Section "Screen" Identifier "screen" Device "device" Monitor "monitor" - DefaultColorDepth 16 + DefaultColorDepth $depth Subsection "Display" - Depth 16 + Depth $depth Modes $resolution EndSubsection EndSection diff --git a/perl-install/install/steps_gtk.pm b/perl-install/install/steps_gtk.pm index 615cb29df..4a86aafc1 100644 --- a/perl-install/install/steps_gtk.pm +++ b/perl-install/install/steps_gtk.pm @@ -72,10 +72,10 @@ sub _setup_and_start_X { my @servers = qw(Driver:fbdev Driver:vesa); #-) if ($::testing) { @servers = 'Xnest'; - } elsif (arch() =~ /ia64/) { + } elsif ( is_uefi() ) { require Xconfig::card; my ($card) = Xconfig::card::probe(); - @servers = map { if_($_, "Driver:$_") } $card && $card->{Driver}, 'fbdev'; + @servers = 'Driver:fbdev'; } elsif (arch() =~ /i.86/) { require Xconfig::card; my ($card) = Xconfig::card::probe(); -- cgit v1.2.1