summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/install/NEWS1
-rw-r--r--perl-install/install/gtk.pm9
-rw-r--r--perl-install/install/steps_gtk.pm4
3 files changed, 9 insertions, 5 deletions
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();