diff options
Diffstat (limited to 'perl-install/install_any.pm')
-rw-r--r-- | perl-install/install_any.pm | 16 |
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(); |