summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/NEWS2
-rwxr-xr-xperl-install/standalone/service_harddrake4
2 files changed, 6 insertions, 0 deletions
diff --git a/perl-install/NEWS b/perl-install/NEWS
index 32dd45230..b62145a58 100644
--- a/perl-install/NEWS
+++ b/perl-install/NEWS
@@ -1,4 +1,6 @@
- service_harddrake:
+ o fix detecting nvidia proprietary driver when checking if current
+ xorg driver still supports current card (#54943)
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)
diff --git a/perl-install/standalone/service_harddrake b/perl-install/standalone/service_harddrake
index 5848975e1..9b1ac5274 100755
--- a/perl-install/standalone/service_harddrake
+++ b/perl-install/standalone/service_harddrake
@@ -103,6 +103,10 @@ foreach my $device (@devices) {
my $card_data = Xconfig::card::readCardsDB("/usr/share/ldetect-lst/Cards+")->{$id};
my $current_driver = get_xorg_driver();
+ # nvidia proprietary driver in ldetect-lst can be 'nvidia173', 'nvidia-current', ...
+ # but really is just 'nvidia' in xorg.conf:
+ $card_data->{Driver2} =~ s/(nvidia)-.*/$1/;
+
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 any { $current_driver =~ $_->{xorg_driver_regexp} } @cards;