diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2002-01-03 17:46:02 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2002-01-03 17:46:02 +0000 |
commit | 6b7e1e5ba3348b4f6c2bcae6fe659d742991b63b (patch) | |
tree | 76aa99e1c7eec479dd828bd97041abd44783675c /perl-install | |
parent | c451c2ba4d5470ba3eb838a8096c52f7e96e9189 (diff) | |
download | drakx-6b7e1e5ba3348b4f6c2bcae6fe659d742991b63b.tar drakx-6b7e1e5ba3348b4f6c2bcae6fe659d742991b63b.tar.gz drakx-6b7e1e5ba3348b4f6c2bcae6fe659d742991b63b.tar.bz2 drakx-6b7e1e5ba3348b4f6c2bcae6fe659d742991b63b.tar.xz drakx-6b7e1e5ba3348b4f6c2bcae6fe659d742991b63b.zip |
save the output of ddcxinfos before modprobe'ing i810fb, and use that output for Xconfig (when i810fb is modprobe'd, ddc probe doesn't work anymore)
Diffstat (limited to 'perl-install')
-rw-r--r-- | perl-install/Xconfig.pm | 3 | ||||
-rw-r--r-- | perl-install/any.pm | 12 | ||||
-rw-r--r-- | perl-install/install2.pm | 9 |
3 files changed, 19 insertions, 5 deletions
diff --git a/perl-install/Xconfig.pm b/perl-install/Xconfig.pm index cb23f05af..487b2b6fa 100644 --- a/perl-install/Xconfig.pm +++ b/perl-install/Xconfig.pm @@ -3,6 +3,7 @@ package Xconfig; # $Id$ use diagnostics; use strict; +use any; use common; use mouse; use devices; @@ -190,7 +191,7 @@ sub getinfoFromDDC { my $o = shift || {}; my $O = $o->{monitor} ||= {}; #- return $o if $O->{hsyncrange} && $O->{vsyncrange} && $O->{modelines}; - my ($m, @l) = `ddcxinfos`; + my ($m, @l) = any::ddcxinfos(); $? == 0 or return $o; $o->{card}{memory} ||= to_int($m); diff --git a/perl-install/any.pm b/perl-install/any.pm index 1a8e5657a..389c57511 100644 --- a/perl-install/any.pm +++ b/perl-install/any.pm @@ -868,7 +868,7 @@ sub report_bug { header("partitions"), cat_("/proc/partitions"), header("cpuinfo"), cat_("/proc/cpuinfo"), header("syslog"), cat_("/tmp/syslog"), - header("ddcxinfos"), `$ENV{LD_LOADER} ddcxinfos`, + header("ddcxinfos"), ddcxinfos(), header("stage1.log"), cat_("/tmp/stage1.log"), header("ddebug.log"), cat_("/tmp/ddebug.log"), header("install.log"), cat_("$prefix/root/install.log"), @@ -911,4 +911,14 @@ Or on the command line use: "usermod -G fileshare user_name"'); } } +sub ddcxinfos { + if ($::isInstall && -e "/tmp/ddcxinfos") { + cat_("/tmp/ddcxinfos"); + } else { + my @l = `$ENV{LD_LOADER} ddcxinfos`; + output("/tmp/ddcxinfos", @l) if $::isInstall; + @l; + } +} + 1; diff --git a/perl-install/install2.pm b/perl-install/install2.pm index 1aa15d45b..529a3b6ac 100644 --- a/perl-install/install2.pm +++ b/perl-install/install2.pm @@ -328,9 +328,12 @@ sub start_i810fb { my $xres = $vga_to_xres{$vga} || '800'; log::l("trying to load i810fb module with xres <$xres> (vga was <$vga>)"); - eval { modules::load('i810fb', undef, - ("xres=$xres", 'hsync1=32', 'hsync2=48', 'vsync1=50', 'vsync2=70', #- this sucking i810fb does not accept floating point numbers in hsync! - 'vram=2', 'bpp=16', 'accel=1', 'mtrr=1', 'hwcur=1', 'xcon=4')) }; + eval { + any::ddcxinfos(); # keep the result otherwise ddcxinfos doesn't return good results afterwards + modules::load('i810fb', undef, + ("xres=$xres", 'hsync1=32', 'hsync2=48', 'vsync1=50', 'vsync2=70', #- this sucking i810fb does not accept floating point numbers in hsync! + 'vram=2', 'bpp=16', 'accel=1', 'mtrr=1', 'hwcur=1', 'xcon=4')); + }; } |