diff options
author | Thierry Vignaud <tv@mandriva.org> | 2009-10-28 16:06:50 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mandriva.org> | 2009-10-28 16:06:50 +0000 |
commit | efe7adfcce9e723681cf08486568a1757e4e2447 (patch) | |
tree | 3f258e1f012fc39d1bdc1e6f5168c4f03376db70 /perl-install/standalone/service_harddrake | |
parent | f073abf1f2cad14fd91497127309b4aeb5bf3c1b (diff) | |
download | drakx-backup-do-not-use-efe7adfcce9e723681cf08486568a1757e4e2447.tar drakx-backup-do-not-use-efe7adfcce9e723681cf08486568a1757e4e2447.tar.gz drakx-backup-do-not-use-efe7adfcce9e723681cf08486568a1757e4e2447.tar.bz2 drakx-backup-do-not-use-efe7adfcce9e723681cf08486568a1757e4e2447.tar.xz drakx-backup-do-not-use-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
Diffstat (limited to 'perl-install/standalone/service_harddrake')
-rwxr-xr-x | perl-install/standalone/service_harddrake | 13 |
1 files changed, 8 insertions, 5 deletions
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}}) { |