diff --git a/recipes-graphics/xserver-nodm-init/xserver-nodm-init/71-xserver-drm.rules b/recipes-graphics/xserver-nodm-init/xserver-nodm-init/71-xserver-drm.rules new file mode 100644 index 00000000..21eefff0 --- /dev/null +++ b/recipes-graphics/xserver-nodm-init/xserver-nodm-init/71-xserver-drm.rules @@ -0,0 +1 @@ +ACTION=="add", SUBSYSTEM=="drm", KERNEL=="card0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="xserver-nodm@linaro.service" diff --git a/recipes-graphics/xserver-nodm-init/xserver-nodm-init/xserver-nodm@.service b/recipes-graphics/xserver-nodm-init/xserver-nodm-init/xserver-nodm@.service new file mode 100644 index 00000000..5bad2109 --- /dev/null +++ b/recipes-graphics/xserver-nodm-init/xserver-nodm-init/xserver-nodm@.service @@ -0,0 +1,31 @@ +[Unit] +Description=Xserver startup with a display manager (on tty7) +RequiresMountsFor=/run +Conflicts=getty@tty7.service plymouth-quit.service +After=systemd-user-sessions.service getty@tty7.service plymouth-quit-wait.service + +[Service] +User=%i +PermissionsStartOnly=true + +# Log us in via PAM so we get our XDG & co. environment and +# are treated as logged in so we can use the tty: +PAMName=login + +# Grab tty7 +UtmpIdentifier=tty7 +TTYPath=/dev/tty7 +TTYReset=yes +TTYVHangup=yes +TTYVTDisallocate=yes + +# stderr to journal so our logging doesn't get thrown into /dev/null +StandardOutput=tty +StandardInput=tty +StandardError=journal + +EnvironmentFile=-/etc/default/xserver-nodm +ExecStart=/etc/X11/Xserver vt7 $OPTARGS + +#[Install] +#Alias=display-manager.service diff --git a/recipes-graphics/xserver-nodm-init/xserver-nodm-init/xserver-system b/recipes-graphics/xserver-nodm-init/xserver-nodm-init/xserver-system new file mode 100644 index 00000000..b1062dc9 --- /dev/null +++ b/recipes-graphics/xserver-nodm-init/xserver-nodm-init/xserver-system @@ -0,0 +1 @@ +ARGS="-logfile ${XDG_RUNTIME_DIR}/Xorg.log" diff --git a/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.%.bbappend b/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.%.bbappend new file mode 100644 index 00000000..41b38347 --- /dev/null +++ b/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.%.bbappend @@ -0,0 +1,28 @@ +SRC_URI += "file://xserver-nodm@.service \ + file://71-xserver-drm.rules \ + file://xserver-system \ +" + +do_install_append() { + install -D -p -m0644 ${WORKDIR}/xserver-system \ + ${D}${sysconfdir}/X11/xserver-system + + # Remove upstream xserver-nodm.service + rm ${D}${systemd_unitdir}/system/xserver-nodm.service + + # Install Xserver systemd service and accompanying udev rule + install -D -p -m0644 ${WORKDIR}/xserver-nodm@.service \ + ${D}${systemd_unitdir}/system/xserver-nodm@.service + sed -i -e s:/etc:${sysconfdir}:g \ + -e s:/usr/bin:${bindir}:g \ + -e s:/var:${localstatedir}:g \ + ${D}${systemd_unitdir}/system/xserver-nodm@.service + install -D -p -m0644 ${WORKDIR}/71-xserver-drm.rules \ + ${D}${sysconfdir}/udev/rules.d/71-xserver-drm.rules +} + +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +FILES_${PN} += "${systemd_unitdir}/system/xserver-nodm@.service" + +SYSTEMD_SERVICE_${PN} = "xserver-nodm@%i.service" +SYSTEMD_AUTO_ENABLE = "disable"