summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/live.cfg2
-rwxr-xr-xfiles/50gdm-disable-wayland.xsetup20
-rwxr-xr-xfiles/50gdm-nokms-disable-wayland.xsetup6
3 files changed, 21 insertions, 7 deletions
diff --git a/config/live.cfg b/config/live.cfg
index 1509992..e836a0d 100644
--- a/config/live.cfg
+++ b/config/live.cfg
@@ -40,7 +40,7 @@ my $_l = {
# enable root access to display to allow MCC and draklive-install to be run from the desktop
[ 'files/gnome-enable-root-gui.desktop', '/etc/xdg/autostart/gnome-enable-root-gui.desktop', { mode => 0644 } ],
# disable Wayland when we know it won't work (workaround for mga#20079)
- [ 'files/50gdm-nokms-disable-wayland.xsetup', '/etc/X11/xsetup.d/50gdm-nokms-disable-wayland.xsetup', { mode => 0755 } ],
+ [ 'files/50gdm-disable-wayland.xsetup', '/etc/X11/xsetup.d/50gdm-disable-wayland.xsetup', { mode => 0755 } ],
),
# blacklist pata_acpi
[ 'files/blacklist_ide.conf', '/etc/modprobe.d/blacklist_ide.conf', { mode => 0644 } ],
diff --git a/files/50gdm-disable-wayland.xsetup b/files/50gdm-disable-wayland.xsetup
new file mode 100755
index 0000000..dbfa33e
--- /dev/null
+++ b/files/50gdm-disable-wayland.xsetup
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+disable=0
+
+# disable Wayland if the user asks us to.
+if /bin/grep -q nowayland /proc/cmdline; then
+ disable=1
+fi
+
+# nokmsboot implies we are using a driver that won't work with Wayland,
+# which prevents autologin working (mga#20079).
+if [ -e /run/mgalive ]; then
+ if /bin/grep -q nokmsboot /proc/cmdline; then
+ disable=1
+ fi
+fi
+
+if [ $disable -eq 1 -a -f /etc/X11/gdm/custom.conf ]; then
+ sed -i 's/#WaylandEnable=false/WaylandEnable=false/' /etc/X11/gdm/custom.conf
+fi
diff --git a/files/50gdm-nokms-disable-wayland.xsetup b/files/50gdm-nokms-disable-wayland.xsetup
deleted file mode 100755
index 6232353..0000000
--- a/files/50gdm-nokms-disable-wayland.xsetup
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-if [ -e /run/mgalive -a -f /etc/X11/gdm/custom.conf ]; then
- if /bin/grep -q nokmsboot /proc/cmdline; then
- sed -i 's/#WaylandEnable=false/WaylandEnable=false/' /etc/X11/gdm/custom.conf
- fi
-fi