diff options
Diffstat (limited to 'perl-install/standalone/service_harddrake')
-rwxr-xr-x | perl-install/standalone/service_harddrake | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/perl-install/standalone/service_harddrake b/perl-install/standalone/service_harddrake index 8a91146ef..ce7a98fbb 100755 --- a/perl-install/standalone/service_harddrake +++ b/perl-install/standalone/service_harddrake @@ -88,10 +88,11 @@ foreach my $card (@cards) { require Xconfig::card; my @cards = Xconfig::card::probe(); my $driver = $cards[0]{Driver}; - my $new_driver; - cp_af('/etc/X11/xorg.conf', "/etc/X11/xorg.conf.mdv$^T"); - substInFile { $new_driver = $1 if s!Driver "($card->{xorg_driver_regexp})"!Driver "$driver"!g } '/etc/X11/xorg.conf'; + my $new_driver = $1 if cat_('/etc/X11/xorg.conf') =~ /Driver "($card->{xorg_driver_regexp})/; if ($new_driver) { + cp_af('/etc/X11/xorg.conf', "/etc/X11/xorg.conf.mdv$^T"); + substInFile { s!Driver "($card->{xorg_driver_regexp})"!Driver "$driver"!g } '/etc/X11/xorg.conf'; + touch('/var/run/harddrake_swithed_to_free_driver'); log::explanations("switch X.org driver from $new_driver to $driver"); touch('/var/run/harddrake-notify-x11-free-driver-switch'); Xconfig::card::libgl_config_and_more({ Driver => $driver }); |