summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--lib/Xconfig/main.pm2
-rw-r--r--lib/Xconfig/resolution_and_depth.pm14
3 files changed, 11 insertions, 6 deletions
diff --git a/NEWS b/NEWS
index 9d37238..dec8a26 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,7 @@
- XFdrake:
o generic flat planel must allow "800x480 @ 60.00 Hz (GTF) hsync: 29.82 kHz"
so "HorizSync 31.5-90" is too strict, generating "HorizSync 29.5-90"
+ o have Option "PanelGeometry" "XXxYY" on geode driver
- mousedrake, XFdrake:
o do not use /dev/mouse symlink (in xorg.conf)
- mousedrake
diff --git a/lib/Xconfig/main.pm b/lib/Xconfig/main.pm
index 5b58ffc..94ff9be 100644
--- a/lib/Xconfig/main.pm
+++ b/lib/Xconfig/main.pm
@@ -112,7 +112,7 @@ sub configure_chooser_raw {
$prompt_for_resolution->();
} else {
Xconfig::screen::configure($raw_X);
- $may_set->('resolutions', Xconfig::resolution_and_depth::set_resolution($raw_X, $X->{monitors}, $default_resolution, @other_resolutions));
+ $may_set->('resolutions', Xconfig::resolution_and_depth::set_resolution($raw_X, $X->{card}, $X->{monitors}, $default_resolution, @other_resolutions));
}
}
}
diff --git a/lib/Xconfig/resolution_and_depth.pm b/lib/Xconfig/resolution_and_depth.pm
index dc3f446..f688fce 100644
--- a/lib/Xconfig/resolution_and_depth.pm
+++ b/lib/Xconfig/resolution_and_depth.pm
@@ -214,7 +214,7 @@ sub configure {
} else {
$resolution = choose($in, $default_resolution, @resolutions) or return;
}
- set_resolution_($raw_X, $monitors, $default_resolution, $resolution, @resolutions);
+ set_resolution_($raw_X, $card, $monitors, $default_resolution, $resolution, @resolutions);
}
sub configure_auto_install {
@@ -232,15 +232,15 @@ sub configure_auto_install {
($default_resolution, @resolutions) = choices($raw_X, $resolution_wanted, $card, $monitors);
$default_resolution or die "you selected an unusable depth";
}
- set_resolution($raw_X, $monitors, $default_resolution, @resolutions);
+ set_resolution($raw_X, $card, $monitors, $default_resolution, @resolutions);
}
sub set_resolution {
- my ($raw_X, $monitors, $resolution, @other) = @_;
- set_resolution_($raw_X, $monitors, $resolution, $resolution, @other);
+ my ($raw_X, $card, $monitors, $resolution, @other) = @_;
+ set_resolution_($raw_X, $card, $monitors, $resolution, $resolution, @other);
}
sub set_resolution_ {
- my ($raw_X, $monitors, $default_resolution, $resolution, @other) = @_;
+ my ($raw_X, $card, $monitors, $default_resolution, $resolution, @other) = @_;
my $PreferredMode;
if (!$resolution->{automatic}) {
@@ -264,6 +264,10 @@ sub set_resolution_ {
}
$raw_X->set_monitors(@$monitors);
}
+ if ($card->{Driver} eq 'geode') {
+ $card->{Options}{PanelGeometry} = XxY($resolution);
+ Xconfig::card::to_raw_X($card, $raw_X);
+ }
set_default_background($resolution);
my $resolutions = [ $resolution, @other ];