summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
authorAnssi Hannula <anssi@mageia.org>2011-12-04 02:24:03 +0000
committerAnssi Hannula <anssi@mageia.org>2011-12-04 02:24:03 +0000
commit52e6141a994a85b0c45f59ebf826751c4f04aa2c (patch)
tree836702217a4bf8b865e9b4f6bed80d403f9c4594 /perl-install
parentcb81da8dff967a061522f2027f85706669ee058c (diff)
downloaddrakx-backup-do-not-use-52e6141a994a85b0c45f59ebf826751c4f04aa2c.tar
drakx-backup-do-not-use-52e6141a994a85b0c45f59ebf826751c4f04aa2c.tar.gz
drakx-backup-do-not-use-52e6141a994a85b0c45f59ebf826751c4f04aa2c.tar.bz2
drakx-backup-do-not-use-52e6141a994a85b0c45f59ebf826751c4f04aa2c.tar.xz
drakx-backup-do-not-use-52e6141a994a85b0c45f59ebf826751c4f04aa2c.zip
service_harddrake: show proper warning when a proprietary driver is wrongly loaded
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/NEWS2
-rwxr-xr-xperl-install/standalone/service_harddrake21
2 files changed, 17 insertions, 6 deletions
diff --git a/perl-install/NEWS b/perl-install/NEWS
index 0cb062ab3..5beb2667f 100644
--- a/perl-install/NEWS
+++ b/perl-install/NEWS
@@ -1,6 +1,8 @@
- service_harddrake:
o better notification message when the driver has been automatically
switched
+ o show a correct warning message when a proprietary driver is loaded while
+ a free driver is configured
Version 13.70.2 - 27 November 2011
diff --git a/perl-install/standalone/service_harddrake b/perl-install/standalone/service_harddrake
index 236ed3c77..f29636753 100755
--- a/perl-install/standalone/service_harddrake
+++ b/perl-install/standalone/service_harddrake
@@ -424,12 +424,21 @@ if (!$reboot_needed && text2bool($cfg{HANDLE_KMS_BOOT_CONFIG})) {
# or free driver loaded while vesa is configured).
my $kms_changed = Xconfig::various::setup_kms();
$reboot_needed |= $kms_changed;
- if (!$reboot_needed && cat_("/proc/cmdline") !~ /\bnokmsboot\b/) {
- # Wrong driver loaded but fixing the bootloader configuration failed.
- # Possibly a direct boot from another bootloader.
- dialog_with_timeout("warn", N("Display driver issue"),
- N("The display driver currently configured requires you to use the 'nokmsboot' boot option to prevent the KMS driver of the kernel from being loaded in the boot process. Startup of the X server may now fail as that option was not specified."),
- 60, $plymouth);
+ if (!$reboot_needed) {
+ my $kms_allowed = system("display_driver_helper", "--is-kms-allowed") == 0;
+ if (!$kms_allowed && cat_("/proc/cmdline") !~ /\bnokmsboot\b/) {
+ # Wrong driver loaded and boot parameters incorrect, but fixing the
+ # bootloader configuration failed.
+ # Possibly a direct boot from another bootloader.
+ dialog_with_timeout("warn", N("Display driver issue"),
+ N("The display driver currently configured requires you to use the 'nokmsboot' boot option to prevent the KMS driver of the kernel from being loaded in the boot process. Startup of the X server may now fail as that option was not specified."),
+ 60, $plymouth);
+ } else {
+ # Wrong driver loaded even while boot parameters were correct.
+ dialog_with_timeout("warn", N("Display driver issue"),
+ N("Detected a loaded display driver kernel module which conflicts with the driver the X server is configured to use. Startup of the X server may now fail."),
+ 60, $plymouth);
+ }
}
} elsif (-e "/dev/.late_kms") {
# initrd didn't load the KMS driver; non-fatal but ugly, fix it for next boot