summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2002-01-03 17:46:02 +0000
committerPascal Rigaux <pixel@mandriva.com>2002-01-03 17:46:02 +0000
commit6b7e1e5ba3348b4f6c2bcae6fe659d742991b63b (patch)
tree76aa99e1c7eec479dd828bd97041abd44783675c /perl-install
parentc451c2ba4d5470ba3eb838a8096c52f7e96e9189 (diff)
downloaddrakx-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.pm3
-rw-r--r--perl-install/any.pm12
-rw-r--r--perl-install/install2.pm9
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'));
+ };
}