summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--lib/Xconfig/monitor.pm29
2 files changed, 5 insertions, 26 deletions
diff --git a/NEWS b/NEWS
index c9b2328..567ea5e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,8 @@
- never fallback to guessing display resolution from display size or
forcing it to 1024x768, instead fallback to automatic display mode
(mga#9934)
+- never fallback to assuming a 1024x768 monitor if probing failed,
+ instead select an automatic "Plug'n Play" monitor (mga#9272)
Version 0.107 - 22 April 2013
diff --git a/lib/Xconfig/monitor.pm b/lib/Xconfig/monitor.pm
index 2622057..c21e5c2 100644
--- a/lib/Xconfig/monitor.pm
+++ b/lib/Xconfig/monitor.pm
@@ -10,28 +10,6 @@ use any;
use log;
-sub good_default_monitor() {
- detect_devices::is_xbox() ? 'Generic|640x480 @ 60 Hz' :
- arch() =~ /ppc/ ?
- (detect_devices::get_mac_model() =~ /^iBook/ ? 'Apple|iBook 800x600' : 'Apple|iMac/PowerBook 1024x768') :
- (detect_devices::isLaptop() ? 'Generic|Flat Panel 1024x768' : 'Generic|1024x768 @ 60 Hz');
-}
-
-sub default_monitor {
- my ($card_Driver) = @_;
- if (detect_devices::is_virtualbox() || detect_devices::isLaptop() || $card_Driver eq 'siliconmotion' && arch() =~ /mips/) {
- # HACK: since there is no way to get the EDID on gdium, the resolution is passed to the kernel
- # so we can rely on it
- # in vbox, we return Plug'n'Play because the vbox integration addons
- # will take care of everything for us
- # On laptops the X server should usually be able to autodetect everything.
- { VendorName => "Plug'n Play" };
- } else {
- good_default_monitor() =~ /(.*)\|(.*)/ or internal_error("bad good_default_monitor");
- { VendorName => $1, ModelName => $2 };
- }
-}
-
my @VertRefresh_ranges = ("50-70", "50-90", "50-100", "40-150");
my @HorizSync_ranges = (
@@ -90,8 +68,8 @@ sub configure_auto_install {
foreach my $monitor (@$monitors) {
if (!is_valid($monitor)) {
- put_in_hash($monitor, default_monitor($card_Driver));
- configure_automatic($monitor) or internal_error("good_default_monitor (" . good_default_monitor() . ") is unknown in MonitorsDB");
+ put_in_hash($monitor, { VendorName => "Plug'n Play" });
+ configure_automatic($monitor) or internal_error("default monitor is unknown in MonitorsDB");
}
}
$raw_X->set_monitors(@$monitors);
@@ -122,8 +100,7 @@ sub choose {
my $merged_name = do {
my $merged_name = $merge_name->($monitor);
if (!exists $h_monitors{$merged_name}) {
- $merged_name = is_valid($monitor) ? 'Custom' :
- $merge_name->(default_monitor($raw_X->get_Driver));
+ $merged_name = is_valid($monitor) ? 'Custom' : "Plug'n Play";
}
$merged_name;
};