summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Xconfig/various.pm8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/Xconfig/various.pm b/lib/Xconfig/various.pm
index ed43386..d98df16 100644
--- a/lib/Xconfig/various.pm
+++ b/lib/Xconfig/various.pm
@@ -413,9 +413,13 @@ sub setup_kms() {
sub {
my ($bootloader) = @_;
my $kms_ok = run_program::rooted($::prefix, "/sbin/display_driver_helper", "--is-kms-allowed") || 0;
- return if $kms_ok != bootloader::get_append_simple($bootloader, "nokmsboot");
+ my $nokmsboot = bootloader::get_append_simple($bootloader, "nokmsboot");
+ my $nomodeset = bootloader::get_append_simple($bootloader, "nomodeset");
+ my $kms_disabled = $nokmsboot || $nomodeset;
+ return if $kms_ok != $kms_disabled;
if ($kms_ok) {
- bootloader::remove_append_simple($bootloader, "nokmsboot");
+ bootloader::remove_append_simple($bootloader, "nokmsboot") if $nokmsboot;
+ bootloader::remove_append_simple($bootloader, "nomodeset") if $nomodeset;
} else {
bootloader::set_append_simple($bootloader, "nokmsboot");
}