summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS4
-rw-r--r--lib/Xconfig/monitor.pm18
2 files changed, 19 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index f3cbd48..5ce14df 100644
--- a/NEWS
+++ b/NEWS
@@ -4,11 +4,15 @@
o have Option "PanelGeometry" "XXxYY" on geode driver
o do not display the weird ratios 128/75, 85/48 (for 1024x600 and 1360x768)
o do not load "Type1" module by default (disabled in xserver-1.5.x)
+ o special hack for gdium: the "default monitor" is "Plug'n Play" instead of
+ good_default_monitor() (it will work since the resolution is passed to the
+ kernel on gdium)
- mousedrake, XFdrake:
o do not use /dev/mouse symlink (in xorg.conf)
- mousedrake
o do not propose to test the chosen mice
(it doesn't handle evdev/synaptics and so is quite obsolete nowadays)
+ o
Version 0.64 - 1 October 2008
diff --git a/lib/Xconfig/monitor.pm b/lib/Xconfig/monitor.pm
index b388397..e3fe0ea 100644
--- a/lib/Xconfig/monitor.pm
+++ b/lib/Xconfig/monitor.pm
@@ -17,6 +17,18 @@ sub good_default_monitor() {
(detect_devices::isLaptop() ? 'Generic|Flat Panel 1024x768' : 'Generic|1024x768 @ 60 Hz');
}
+sub default_monitor {
+ my ($card_Driver) = @_;
+ if ($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
+ { 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 = (
@@ -74,8 +86,7 @@ sub configure_auto_install {
foreach my $monitor (@$monitors) {
if (!is_valid($monitor)) {
- good_default_monitor() =~ /(.*)\|(.*)/ or internal_error("bad good_default_monitor");
- put_in_hash($monitor, { VendorName => $1, ModelName => $2 });
+ put_in_hash($monitor, default_monitor($card_Driver));
configure_automatic($monitor) or internal_error("good_default_monitor (" . good_default_monitor() . ") is unknown in MonitorsDB");
}
}
@@ -107,7 +118,8 @@ sub choose {
my $merged_name = do {
my $merged_name = $merge_name->($monitor);
if (!exists $h_monitors{$merged_name}) {
- $merged_name = is_valid($monitor) ? 'Custom' : good_default_monitor();
+ $merged_name = is_valid($monitor) ? 'Custom' :
+ $merge_name->(default_monitor($raw_X->get_Driver));
}
$merged_name;
};