diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2005-02-28 23:06:31 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2005-02-28 23:06:31 +0000 |
commit | b32fd10dd6fc1292d78a3a6a6cb87e1ad904f142 (patch) | |
tree | 3de51de387129c058de30ba6b769989e53c61ad3 /perl-install/any.pm | |
parent | 1f2d53396dd61b3ee999db70f1b373dd015d0b73 (diff) | |
download | drakx-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.pm | 31 |
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() { |