diff options
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | lib/Xconfig/monitor.pm | 29 |
2 files changed, 5 insertions, 26 deletions
@@ -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; }; |