summaryrefslogtreecommitdiffstats
path: root/perl-install/any.pm
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2005-02-28 23:06:31 +0000
committerPascal Rigaux <pixel@mandriva.com>2005-02-28 23:06:31 +0000
commitb32fd10dd6fc1292d78a3a6a6cb87e1ad904f142 (patch)
tree3de51de387129c058de30ba6b769989e53c61ad3 /perl-install/any.pm
parent1f2d53396dd61b3ee999db70f1b373dd015d0b73 (diff)
downloaddrakx-b32fd10dd6fc1292d78a3a6a6cb87e1ad904f142.tar
drakx-b32fd10dd6fc1292d78a3a6a6cb87e1ad904f142.tar.gz
drakx-b32fd10dd6fc1292d78a3a6a6cb87e1ad904f142.tar.bz2
drakx-b32fd10dd6fc1292d78a3a6a6cb87e1ad904f142.tar.xz
drakx-b32fd10dd6fc1292d78a3a6a6cb87e1ad904f142.zip
- 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
Diffstat (limited to 'perl-install/any.pm')
-rw-r--r--perl-install/any.pm31
1 files changed, 18 insertions, 13 deletions
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() {