From b32fd10dd6fc1292d78a3a6a6cb87e1ad904f142 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Mon, 28 Feb 2005 23:06:31 +0000 Subject: - remove ddcxinfos, replaced by monitor-edid (which is in a separate package) - add many resolutions (they are structured by aspect ratio for next move) - put the "Monitor preferred modeline" from EDID in xorg.conf - for this ModeLine must be exported from the monitor section - specifying a VendorName|ModelName in auto_inst is valid, don't overwrite it with edid probe - the strange /dev/zero needed (?) by ddcxinfos is no more needed - field {size} is now {diagonal_size}, and is no more "corrected" - add @CVT_ratios and @CVT_vfreqs (unused at the moment) - Getopt::Long is needed by monitor-parse-edid --- perl-install/any.pm | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) (limited to 'perl-install/any.pm') diff --git a/perl-install/any.pm b/perl-install/any.pm index ad7552d37..f96322387 100644 --- a/perl-install/any.pm +++ b/perl-install/any.pm @@ -834,7 +834,7 @@ sub report_bug { header("partitions"), cat_("/proc/partitions"), header("cpuinfo"), cat_("/proc/cpuinfo"), header("syslog"), cat_("/tmp/syslog") || cat_("$::prefix/var/log/syslog"), - header("ddcxinfos"), ddcxinfos(), + header("monitor_full_edid"), monitor_full_edid(), header("stage1.log"), cat_("/tmp/stage1.log") || cat_("$::prefix/root/drakx/stage1.log"), header("ddebug.log"), cat_("/tmp/ddebug.log") || cat_("$::prefix/root/drakx/ddebug.log"), header("install.log"), cat_("$::prefix/root/drakx/install.log"), @@ -973,22 +973,27 @@ You can use userdrake to add a user to this group.") } } -sub ddcxinfos() { +sub monitor_full_edid() { return if $::noauto; - my @l; - run_program::raw({ timeout => 20 }, 'ddcxinfos', '>', \@l); - if ($::isInstall && -e "/tmp/ddcxinfos") { - my @l_old = cat_("/tmp/ddcxinfos"); - if (@l < @l_old) { - log::l("new ddcxinfos is worse, keeping the previous one"); - @l = @l_old; - } elsif (@l > @l_old) { - log::l("new ddcxinfos is better, dropping the previous one"); + my ($vbe, $edid); + run_program::raw({ timeout => 20 }, 'monitor-edid', '>', \$edid, '2>', \$vbe, '-v', '--perl'); + if ($::isInstall) { + foreach (['edid', \$edid], ['vbe', \$vbe]) { + my ($name, $val) = @$_; + if (-e "/tmp/$name") { + my $old = cat_("/tmp/$name"); + if (length($$val) < length($old)) { + log::l("new $name is worse, keeping the previous one"); + $$val = $old; + } elsif (length($$val) > length($old)) { + log::l("new $name is better, dropping the previous one"); + } + } + output("/tmp/$name", $$val); } } - output("/tmp/ddcxinfos", @l) if $::isInstall; - @l; + ($edid, $vbe); } sub running_window_manager() { -- cgit v1.2.1