summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2009-10-28 16:06:50 +0000
committerThierry Vignaud <tv@mandriva.org>2009-10-28 16:06:50 +0000
commitefe7adfcce9e723681cf08486568a1757e4e2447 (patch)
tree3f258e1f012fc39d1bdc1e6f5168c4f03376db70
parentf073abf1f2cad14fd91497127309b4aeb5bf3c1b (diff)
downloaddrakx-efe7adfcce9e723681cf08486568a1757e4e2447.tar
drakx-efe7adfcce9e723681cf08486568a1757e4e2447.tar.gz
drakx-efe7adfcce9e723681cf08486568a1757e4e2447.tar.bz2
drakx-efe7adfcce9e723681cf08486568a1757e4e2447.tar.xz
drakx-efe7adfcce9e723681cf08486568a1757e4e2447.zip
reconfigure X11 driver if current X11 driver is neither one of currently
supported driver for the card for drivers other than ATI & NVidia too
-rw-r--r--perl-install/NEWS5
-rwxr-xr-xperl-install/standalone/service_harddrake13
2 files changed, 13 insertions, 5 deletions
diff --git a/perl-install/NEWS b/perl-install/NEWS
index f4ed02c3b..32dd45230 100644
--- a/perl-install/NEWS
+++ b/perl-install/NEWS
@@ -1,3 +1,8 @@
+- service_harddrake:
+ o reconfigure X11 driver if current X11 driver is neither one of
+ currently supported driver for the card for drivers other than ATI
+ & NVidia too (eg: poulsbo)
+
Version 12.72 - 27 October 2009
- drakboot:
diff --git a/perl-install/standalone/service_harddrake b/perl-install/standalone/service_harddrake
index acf3494a7..5848975e1 100755
--- a/perl-install/standalone/service_harddrake
+++ b/perl-install/standalone/service_harddrake
@@ -98,19 +98,22 @@ my @cards = (
my @devices = grep { $_->{driver} =~ /^Card:/ } detect_devices::probeall();
-foreach my $card (@cards) {
- my $device = find { $_->{driver} =~ /$card->{ldetect_driver_regexp}/ } @devices;
- next if !$device;
-
+foreach my $device (@devices) {
my $id = $device->{driver} =~ /Card:(.*)/ && $1;
my $card_data = Xconfig::card::readCardsDB("/usr/share/ldetect-lst/Cards+")->{$id};
my $current_driver = get_xorg_driver();
if (!member($current_driver, $card_data->{Driver}, $card_data->{Driver2}, 'fbdev', 'vesa')) {
switch_x_driver($current_driver, $card_data->{Driver}, 'no more supported by this driver');
- schedule_warn_about_switch() if $current_driver =~ $card->{xorg_driver_regexp};
+ schedule_warn_about_switch() if any { $current_driver =~ $_->{xorg_driver_regexp} } @cards;
next;
}
+}
+
+
+foreach my $card (@cards) {
+ my $device = find { $_->{driver} =~ /$card->{ldetect_driver_regexp}/ } @devices;
+ next if !$device;
if (find { -e join('', "/lib/modules/", c::kernel_version(), $_) }
map { ("/dkms/$_", "/dkms-binary/$_", "/kernel/$_") } map { "/drivers/$_" } map { ("extra/$_", "video/$_", "char/$_", "char/drm/$_") } map { $_, "$_.gz" } @{$card->{module_names}}) {