summaryrefslogtreecommitdiffstats
path: root/perl-install/install_any.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/install_any.pm')
-rw-r--r--perl-install/install_any.pm16
1 files changed, 16 insertions, 0 deletions
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index 53e4cc0b3..4e9a71405 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -295,6 +295,22 @@ sub dont_run_directly_stage2() {
readlink("/usr/bin/runinstall2") eq "runinstall2.sh";
}
+
+sub start_i810fb() {
+ my ($vga) = cat_('/proc/cmdline') =~ /vga=(\S+)/;
+ return if !$vga || listlength(cat_('/proc/fb'));
+
+ my %vga_to_xres = (0x311 => '640', 0x314 => '800', 0x317 => '1024');
+ my $xres = $vga_to_xres{$vga} || '800';
+
+ log::l("trying to load i810fb module with xres <$xres> (vga was <$vga>)");
+ eval { modules::load('intel-agp') };
+ eval {
+ my $opt = "xres=$xres hsync1=32 hsync2=48 vsync1=50 vsync2=70 vram=2 bpp=16 accel=1 mtrr=1"; #- this sucking i810fb does not accept floating point numbers in hsync!
+ modules::load_with_options([ 'i810fb' ], { i810fb => $opt });
+ };
+}
+
sub spawnShell() {
return if $::local_install || $::testing || dont_run_directly_stage2();