Re: [meta-arago][master][PATCH] emptty: add version 0.15.0

Ryan Eatmon <[email protected]> Thu, 5 Mar 2026 16:40:38 -0600
Newsgroups org.yoctoproject.lists.meta-arago
Message-ID <[email protected]>

On 3/5/2026 3:14 PM, Denys Dmytriyenko wrote:
> How is it different from Randolph's continued efforts to push it to OE-Core
> for many months?
> 

It's not.  We just need it for our testing and they are still reviewing 
it in the patch review meetings.  So this is hopefully temporary.


> On Thu, Mar 05, 2026 at 02:54:55PM -0600, Antonios Christidis via lists.yoctoproject.org wrote:
>> From: Antonios Christidis <[email protected]>
>>
>> Add emptty, a "Dead simple CLI Display Manager on TTY". This is a
>> relatively lightweight display manager that supports x11 as well as
>> wayland through both a CLI and an automatic login mechanism.
>>
>> This can effectively replace the custom init scripts for both x11
>> (xserver-nodm-init) and wayland (weston-init) with a single tool with
>> more verbose logging capabilities.
>>
>> This is split into two recipes. The emptty package provides the binary
>> and various agnostic configs while the emptty-conf package provides the
>> default configuration for the application itself. This RPROVIDES
>> virtual-emptty-conf, allowing other recipes to provide their own
>> configurations to override the default behavior.
>>
>> Signed-off-by: Antonios Christidis <[email protected]>
>> ---
>>   0001-emptty-add-version-0.15.0.patch          | 522 ++++++++++++++++++
>>   .../classes/tisdk-bundle.bbclass              |  14 +-
>>   meta-arago-distro/conf/distro/arago.conf      |   2 +
>>   .../recipes-graphics/emptty/emptty-conf.bb    |  14 +
>>   .../recipes-graphics/emptty/emptty.inc        |  27 +
>>   .../recipes-graphics/emptty/emptty/pamconf    |  11 +
>>   .../recipes-graphics/emptty/emptty_0.15.0.bb  |  57 ++
>>   .../wayland/weston-init-arago.bb              |  72 +++
>>   .../weston-init-arago/beaglebone/weston.ini   |  85 +++
>>   .../wayland/weston-init-arago/emptty.conf     |  77 +++
>>   .../weston-launch-calibrator.sh               |  13 +
>>   .../wayland/weston-init-arago/weston.ini      |  21 +
>>   12 files changed, 914 insertions(+), 1 deletion(-)
>>   create mode 100644 0001-emptty-add-version-0.15.0.patch
>>   create mode 100644 meta-arago-distro/recipes-graphics/emptty/emptty-conf.bb
>>   create mode 100644 meta-arago-distro/recipes-graphics/emptty/emptty.inc
>>   create mode 100644 meta-arago-distro/recipes-graphics/emptty/emptty/pamconf
>>   create mode 100644 meta-arago-distro/recipes-graphics/emptty/emptty_0.15.0.bb
>>   create mode 100644 meta-arago-distro/recipes-graphics/wayland/weston-init-arago.bb
>>   create mode 100644 meta-arago-distro/recipes-graphics/wayland/weston-init-arago/beaglebone/weston.ini
>>   create mode 100644 meta-arago-distro/recipes-graphics/wayland/weston-init-arago/emptty.conf
>>   create mode 100644 meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston-launch-calibrator.sh
>>   create mode 100644 meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston.ini
>>
>> diff --git a/0001-emptty-add-version-0.15.0.patch b/0001-emptty-add-version-0.15.0.patch
>> new file mode 100644
>> index 00000000..dba3013d
>> --- /dev/null
>> +++ b/0001-emptty-add-version-0.15.0.patch
>> @@ -0,0 +1,522 @@
>> +From d41ec048882b955124d7dbeee1c2bf1351a0aba4 Mon Sep 17 00:00:00 2001
>> +From: Antonios Christidis <[email protected]>
>> +Date: Thu, 5 Mar 2026 13:12:08 -0600
>> +Subject: [PATCH] emptty: add version 0.15.0
>> +
>> +Add emptty, a "Dead simple CLI Display Manager on TTY". This is a
>> +relatively lightweight display manager that supports x11 as well as
>> +wayland through both a CLI and an automatic login mechanism.
>> +
>> +This can effectively replace the custom init scripts for both x11
>> +(xserver-nodm-init) and wayland (weston-init) with a single tool with
>> +more verbose logging capabilities.
>> +
>> +This is split into two recipes. The emptty package provides the binary
>> +and various agnostic configs while the emptty-conf package provides the
>> +default configuration for the application itself. This RPROVIDES
>> +virtual-emptty-conf, allowing other recipes to provide their own
>> +configurations to override the default behavior.
>> +
>> +Signed-off-by: Antonios Christidis <[email protected]>
>> +---
>> + .../classes/tisdk-bundle.bbclass              | 14 ++-
>> + meta-arago-distro/conf/distro/arago.conf      |  2 +
>> + .../recipes-graphics/emptty/emptty-conf.bb    | 14 +++
>> + .../recipes-graphics/emptty/emptty.inc        | 27 ++++++
>> + .../recipes-graphics/emptty/emptty/pamconf    | 11 +++
>> + .../recipes-graphics/emptty/emptty_0.15.0.bb  | 57 +++++++++++++
>> + .../wayland/weston-init-arago.bb              | 72 ++++++++++++++++
>> + .../weston-init-arago/beaglebone/weston.ini   | 85 +++++++++++++++++++
>> + .../wayland/weston-init-arago/emptty.conf     | 77 +++++++++++++++++
>> + .../weston-launch-calibrator.sh               | 13 +++
>> + .../wayland/weston-init-arago/weston.ini      | 21 +++++
>> + 11 files changed, 392 insertions(+), 1 deletion(-)
>> + create mode 100644 meta-arago-distro/recipes-graphics/emptty/emptty-conf.bb
>> + create mode 100644 meta-arago-distro/recipes-graphics/emptty/emptty.inc
>> + create mode 100644 meta-arago-distro/recipes-graphics/emptty/emptty/pamconf
>> + create mode 100644 meta-arago-distro/recipes-graphics/emptty/emptty_0.15.0.bb
>> + create mode 100644 meta-arago-distro/recipes-graphics/wayland/weston-init-arago.bb
>> + create mode 100644 meta-arago-distro/recipes-graphics/wayland/weston-init-arago/beaglebone/weston.ini
>> + create mode 100644 meta-arago-distro/recipes-graphics/wayland/weston-init-arago/emptty.conf
>> + create mode 100644 meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston-launch-calibrator.sh
>> + create mode 100644 meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston.ini
>> +
>> +diff --git a/meta-arago-distro/classes/tisdk-bundle.bbclass b/meta-arago-distro/classes/tisdk-bundle.bbclass
>> +index cc5d1481..24146529 100644
>> +--- a/meta-arago-distro/classes/tisdk-bundle.bbclass
>> ++++ b/meta-arago-distro/classes/tisdk-bundle.bbclass
>> +@@ -106,7 +106,7 @@ cleanup_host_packages() {
>> + }
>> +
>> + ROOTFS_PREPROCESS_COMMAND += "tisdk_image_setup; "
>> +-ROOTFS_POSTPROCESS_COMMAND += "tisdk_image_build; "
>> ++ROOTFS_POSTPROCESS_COMMAND += "tisdk_image_build; add_emptty_inittab; "
>> + IMAGE_PREPROCESS_COMMAND:append = "tisdk_image_cleanup; "
>> +
>> + # Create the SDK image.  We will re-use the rootfs_ipk_do_rootfs functionality
>> +@@ -304,6 +304,18 @@ tisdk_image_build () {
>> +     cp ${WORKDIR}/opkg.conf ${IMAGE_ROOTFS}/etc/
>> + }
>> +
>> ++
>> ++add_emptty_inittab() {
>> ++    [ -f ${IMAGE_ROOTFS}${sysconfdir}/inittab ] || return 0
>> ++
>> ++    if ${@bb.utils.contains_any("IMAGE_FEATURES", [ "x11-base", "weston" ], "true", "false", d)}
>> ++    then
>> ++	echo "7:5:respawn:${bindir}/emptty -t 7 -d" >> ${IMAGE_ROOTFS}${sysconfdir}/inittab
>> ++    fi
>> ++}
>> ++
>> ++
>> ++
>> + TISDK_IMAGE_CLEANUP_DIRS ?= "var etc lib boot dev home media mnt proc run sbin sys tmp usr"
>> + TISDK_IMAGE_CLEANUP_FILES ?= "bin/bash bin/bash.bash bin/sh"
>> +
>> +diff --git a/meta-arago-distro/conf/distro/arago.conf b/meta-arago-distro/conf/distro/arago.conf
>> +index fb5c703f..43d4db53 100644
>> +--- a/meta-arago-distro/conf/distro/arago.conf
>> ++++ b/meta-arago-distro/conf/distro/arago.conf
>> +@@ -68,6 +68,8 @@ PACKAGECONFIG:pn-glmark2 = "drm-gles2 wayland-gles2"
>> +
>> + # Set this to empty string to prevent xwayland config from being added
>> + PACKAGECONFIG:pn-weston-init = ""
>> ++PREFERRED_RPROVIDER_virtual-emptty-conf = "weston-init-arago"
>> ++PREFERRED_RPROVIDER_weston-init = "weston-init-arago"
>> +
>> + # Enable testing for opencl and vulkan with piglit
>> + PACKAGECONFIG:append:pn-piglit = " \
>> +diff --git a/meta-arago-distro/recipes-graphics/emptty/emptty-conf.bb b/meta-arago-distro/recipes-graphics/emptty/emptty-conf.bb
>> +new file mode 100644
>> +index 00000000..0b98e2e1
>> +--- /dev/null
>> ++++ b/meta-arago-distro/recipes-graphics/emptty/emptty-conf.bb
>> +@@ -0,0 +1,14 @@
>> ++require emptty.inc
>> ++
>> ++SUMMARY += " (Default config)"
>> ++
>> ++do_configure[noexec] = "1"
>> ++do_compile[noexec] = "1"
>> ++
>> ++do_install () {
>> ++    oe_runmake -C ${S}/src/${GO_IMPORT} DESTDIR=${D} install-config
>> ++}
>> ++
>> ++FILES:${PN} = "${sysconfdir}/emptty/conf"
>> ++CONFFILES:${PN} = "${sysconfdir}/emptty/conf"
>> ++RPROVIDES:${PN} += "virtual-emptty-conf"
>> +diff --git a/meta-arago-distro/recipes-graphics/emptty/emptty.inc b/meta-arago-distro/recipes-graphics/emptty/emptty.inc
>> +new file mode 100644
>> +index 00000000..d99c4d8c
>> +--- /dev/null
>> ++++ b/meta-arago-distro/recipes-graphics/emptty/emptty.inc
>> +@@ -0,0 +1,27 @@
>> ++SUMMARY = "Dead simple CLI Display Manager on TTY"
>> ++DESCRIPTION = "Emptty is a simple display manager with a command line greeter \
>> ++It supports both X11 and Wayland sessions, exporting required variables and \
>> ++creating user paths as necessary."
>> ++
>> ++HOMEPAGE = "https://github.com/tvrzna/emptty"
>> ++BUGTRACKER = "https://github.com/tvrzna/emptty/issues"
>> ++LICENSE = "MIT"
>> ++LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=d1e4d12c7d1d17367ba5668706a405ba"
>> ++
>> ++S = "${UNPACKDIR}"
>> ++
>> ++FILESEXTRAPATHS:append = ":${THISDIR}/emptty"
>> ++
>> ++GO_IMPORT = "github.com/tvrzna/emptty"
>> ++GO_IMPORT_pam = "github.com/msteinert/pam"
>> ++SRC_URI = "\
>> ++    git://${GO_IMPORT}.git;protocol=https;branch=master;destsuffix=src/${GO_IMPORT} \
>> ++    git://${GO_IMPORT_pam}.git;protocol=https;branch=master;name=pam;destsuffix=src/${GO_IMPORT_pam} \
>> ++    file://pamconf \
>> ++    "
>> ++SRCREV = "bb203ad0a224731a7a2ff50deeb342ab79c4af09"
>> ++SRCREV_pam = "50ded1b0e7864b9bf75005eb945a8ec826bcf69d"
>> ++
>> ++SRCREV_FORMAT .= "_pam"
>> ++
>> ++PR = "r1"
>> +diff --git a/meta-arago-distro/recipes-graphics/emptty/emptty/pamconf b/meta-arago-distro/recipes-graphics/emptty/emptty/pamconf
>> +new file mode 100644
>> +index 00000000..5c82d46b
>> +--- /dev/null
>> ++++ b/meta-arago-distro/recipes-graphics/emptty/emptty/pamconf
>> +@@ -0,0 +1,11 @@
>> ++#%PAM-1.0
>> ++auth            sufficient      pam_succeed_if.so user ingroup nopasswdlogin
>> ++auth            include         common-auth
>> ++-auth           optional        pam_gnome_keyring.so
>> ++-auth           optional        pam_kwallet5.so
>> ++account         include         common-account
>> ++session         include         common-session
>> ++-session        optional        pam_gnome_keyring.so auto_start
>> ++-session        optional        pam_kwallet5.so auto_start force_run
>> ++password        include         common-password
>> ++
>> +diff --git a/meta-arago-distro/recipes-graphics/emptty/emptty_0.15.0.bb b/meta-arago-distro/recipes-graphics/emptty/emptty_0.15.0.bb
>> +new file mode 100644
>> +index 00000000..415c5ea5
>> +--- /dev/null
>> ++++ b/meta-arago-distro/recipes-graphics/emptty/emptty_0.15.0.bb
>> +@@ -0,0 +1,57 @@
>> ++require emptty.inc
>> ++
>> ++PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam x11', d)}"
>> ++PACKAGECONFIG[pam] = ",,libpam,pam-plugin-succeed-if"
>> ++PACKAGECONFIG[x11] = ",,virtual/libx11,util-linux-mcookie"
>> ++
>> ++DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'virtual/crypt', d)}"
>> ++
>> ++GO_TAGS = ""
>> ++GO_TAGS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pam', '', ',nopam', d)}"
>> ++GO_TAGS:append = "${@bb.utils.contains('PACKAGECONFIG', 'x11', '', ',noxlib', d)}"
>> ++
>> ++GOBUILDFLAGS:append = " -tags=${GO_TAGS}"
>> ++
>> ++export GO111MODULE = "off"
>> ++
>> ++inherit go
>> ++
>> ++DEPENDS += "gzip"
>> ++
>> ++do_install () {
>> ++    # general collateral
>> ++    install -Dm755 ${B}/${GO_BUILD_BINDIR}/emptty ${D}${bindir}/emptty
>> ++    install -d ${D}${mandir}/man1
>> ++    gzip -cn ${S}/src/${GO_IMPORT}/res/emptty.1 > ${D}${mandir}/man1/emptty.1.gz
>> ++
>> ++    # pam config
>> ++    if "${@bb.utils.contains('PACKAGECONFIG','pam','true','false',d)}"
>> ++    then
>> ++        install -Dm644 ${S}/pamconf ${D}${sysconfdir}/pam.d/emptty
>> ++    fi
>> ++
>> ++    # systemd init service
>> ++    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}
>> ++    then
>> ++        oe_runmake -C ${S}/src/${GO_IMPORT} DESTDIR=${D} install-systemd
>> ++    fi
>> ++}
>> ++
>> ++FILES:${PN} = "\
>> ++    ${systemd_system_unitdir}/emptty.service \
>> ++    ${bindir}/emptty \
>> ++    ${mandir}/man1/emptty.1.gz \
>> ++    ${sysconfdir}/pam.d/emptty \
>> ++"
>> ++
>> ++RDEPENDS:${PN} += "virtual-emptty-conf"
>> ++SYSTEMD_SERVICE:${PN} = "emptty.service"
>> ++
>> ++inherit systemd
>> ++
>> ++USERADD_PACKAGES = "${PN}"
>> ++GROUPADD_PARAM:${PN} = "-r nopasswdlogin"
>> ++
>> ++inherit useradd
>> ++
>> ++
>> +diff --git a/meta-arago-distro/recipes-graphics/wayland/weston-init-arago.bb b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago.bb
>> +new file mode 100644
>> +index 00000000..484d25e1
>> +--- /dev/null
>> ++++ b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago.bb
>> +@@ -0,0 +1,72 @@
>> ++SUMMARY = "Configuration files for the Weston Wayland compositor"
>> ++LICENSE = "MIT"
>> ++LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>> ++
>> ++PACKAGE_ARCH = "${MACHINE_ARCH}"
>> ++
>> ++SRC_URI:append = " \
>> ++    file://weston.ini \
>> ++    file://weston-launch-calibrator.sh \
>> ++    file://emptty.conf \
>> ++"
>> ++
>> ++S = "${UNPACKDIR}"
>> ++
>> ++PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)}"
>> ++PACKAGECONFIG:append:qemuriscv64 = " use-pixman"
>> ++PACKAGECONFIG:append:qemuppc64 = " use-pixman"
>> ++
>> ++PACKAGECONFIG[xwayland] = ",,"
>> ++PACKAGECONFIG[no-idle-timeout] = ",,"
>> ++PACKAGECONFIG[use-pixman] = ",,"
>> ++
>> ++DEFAULTBACKEND ??= ""
>> ++DEFAULTBACKEND:qemuall ?= "drm"
>> ++
>> ++do_install() {
>> ++	install -D -p -m0644 weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini
>> ++	install -D -p -m0644 emptty.conf ${D}${sysconfdir}/emptty/conf
>> ++
>> ++	if [ -n "${DEFAULTBACKEND}" ]; then
>> ++		sed -i -e "/^\[core\]/a backend=${DEFAULTBACKEND}-backend.so" ${D}${sysconfdir}/xdg/weston/weston.ini
>> ++	fi
>> ++
>> ++	if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
>> ++		sed -i -e "/^\[core\]/a xwayland=true" ${D}${sysconfdir}/xdg/weston/weston.ini
>> ++	fi
>> ++
>> ++	if [ "${@bb.utils.contains('PACKAGECONFIG', 'no-idle-timeout', 'yes', 'no', d)}" = "yes" ]; then
>> ++		sed -i -e "/^\[core\]/a idle-time=0" ${D}${sysconfdir}/xdg/weston/weston.ini
>> ++	fi
>> ++
>> ++	if [ "${@bb.utils.contains('PACKAGECONFIG', 'use-pixman', 'yes', 'no', d)}" = "yes" ]; then
>> ++		sed -i -e "/^\[core\]/a use-pixman=true" ${D}${sysconfdir}/xdg/weston/weston.ini
>> ++	fi
>> ++
>> ++	install -dm 755 -o weston -g weston ${D}/home/weston
>> ++	install -Dm755 weston-launch-calibrator.sh ${D}/${bindir}/weston-launch-calibrator
>> ++}
>> ++
>> ++inherit useradd
>> ++
>> ++USERADD_PACKAGES = "${PN}"
>> ++
>> ++# rdepends on weston which depends on virtual/egl
>> ++#
>> ++require ${COREBASE}/meta/recipes-graphics/wayland/required-distro-features.inc
>> ++
>> ++RDEPENDS:${PN} = "weston kbd ${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'weston-xwayland', '', d)} emptty"
>> ++
>> ++FILES:${PN} += "\
>> ++    ${sysconfdir}/xdg/weston/weston.ini \
>> ++    ${sysconfdir}/emptty/conf \
>> ++    /home/weston \
>> ++    ${bindir}/weston-launch-calibrator \
>> ++    "
>> ++
>> ++CONFFILES:${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/emptty/conf"
>> ++RPROVIDES:${PN}:append = " virtual-emptty-conf weston-init"
>> ++RCONFLICTS:${PN} += "weston-init"
>> ++
>> ++USERADD_PARAM:${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input,render,nopasswdlogin weston"
>> ++GROUPADD_PARAM:${PN} = "-r wayland; -r render; -r nopasswdlogin"
>> +diff --git a/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/beaglebone/weston.ini b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/beaglebone/weston.ini
>> +new file mode 100644
>> +index 00000000..9fd9851d
>> +--- /dev/null
>> ++++ b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/beaglebone/weston.ini
>> +@@ -0,0 +1,85 @@
>> ++# configuration file for Weston
>> ++
>> ++[core]
>> ++idle-time=0
>> ++#modules=xwayland.so,cms-colord.so
>> ++#shell=desktop-shell.so
>> ++gbm-format=rgb565
>> ++require-input=false
>> ++
>> ++[shell]
>> ++locking=false
>> ++animation=zoom
>> ++panel-position=top
>> ++startup-animation=fade
>> ++#background-image=/usr/share/backgrounds/gnome/Aqua.jpg
>> ++#background-color=0xff002244
>> ++#background-type=tile
>> ++#clock-format=minutes
>> ++#panel-color=0x90ff0000
>> ++#locking=true
>> ++#animation=zoom
>> ++#startup-animation=fade
>> ++#binding-modifier=ctrl
>> ++#num-workspaces=6
>> ++#cursor-theme=whiteglass
>> ++#cursor-size=24
>> ++
>> ++#lockscreen-icon=/usr/share/icons/gnome/256x256/actions/lock.png
>> ++#lockscreen=/usr/share/backgrounds/gnome/Garden.jpg
>> ++#homescreen=/usr/share/backgrounds/gnome/Blinds.jpg
>> ++#animation=fade
>> ++
>> ++#[launcher]
>> ++#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
>> ++#path=/usr/bin/gnome-terminal
>> ++
>> ++#[launcher]
>> ++#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
>> ++#path=/usr/bin/weston-terminal
>> ++
>> ++#[launcher]
>> ++#icon=/usr/share/icons/hicolor/24x24/apps/google-chrome.png
>> ++#path=/usr/bin/google-chrome
>> ++
>> ++#[launcher]
>> ++#icon=/usr/share/icons/gnome/24x24/apps/arts.png
>> ++#path=/build/weston-0lEgCh/weston-1.11.0/weston-flower
>> ++
>> ++#[input-method]
>> ++#path=/usr/libexec/weston-keyboard
>> ++
>> ++[output]
>> ++name=HDMI-A-1
>> ++#mode=1680x1050
>> ++#transform=90
>> ++#icc_profile=/usr/share/color/icc/colord/Bluish.icc
>> ++
>> ++#[output]
>> ++#name=VGA1
>> ++#mode=173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
>> ++#transform=flipped
>> ++
>> ++#[output]
>> ++#name=X1
>> ++#mode=1024x768
>> ++#transform=flipped-90
>> ++
>> ++[libinput]
>> ++touchscreen_calibrator=true
>> ++#enable_tap=true
>> ++
>> ++#[touchpad]
>> ++#constant_accel_factor = 50
>> ++#min_accel_factor = 0.16
>> ++#max_accel_factor = 1.0
>> ++
>> ++[screen-share]
>> ++command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize
>> ++
>> ++#[xwayland]
>> ++#path=/usr/bin/Xwayland
>> ++
>> ++[autolaunch]
>> ++# launch the calibrator on startup if a touchscreen is detected
>> ++path=/usr/bin/weston-launch-calibrator
>> +diff --git a/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/emptty.conf b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/emptty.conf
>> +new file mode 100644
>> +index 00000000..ffe1a3c2
>> +--- /dev/null
>> ++++ b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/emptty.conf
>> +@@ -0,0 +1,77 @@
>> ++# TTY, where emptty will start.
>> ++TTY_NUMBER=7
>> ++
>> ++# Enables switching to defined TTY number.
>> ++SWITCH_TTY=true
>> ++
>> ++# Enables printing of /etc/issue in daemon mode.
>> ++PRINT_ISSUE=true
>> ++
>> ++# Enables printing of default motd, /etc/emptty/motd or /etc/emptty/motd-gen.sh.
>> ++PRINT_MOTD=true
>> ++
>> ++# Preselected user, if AUTOLOGIN is enabled, this user is logged in.
>> ++DEFAULT_USER=weston
>> ++
>> ++# Enables Autologin, if DEFAULT_USER is defined and part of nopasswdlogin group. Possible values are "true" or "false".
>> ++AUTOLOGIN=true
>> ++
>> ++# The default session used, if Autologin is enabled. If session is not found in list of session, it proceeds to manual selection.
>> ++AUTOLOGIN_SESSION=Weston
>> ++
>> ++# If Autologin is enabled and session does not start correctly, the number of retries in short period is kept to eventually stop the infinite loop of restarts. -1 is for infinite retries, 0 is for no retry.
>> ++AUTOLOGIN_MAX_RETRY=-1
>> ++
>> ++# Default LANG, if user does not have set own in init script.
>> ++#LANG=en_US.UTF-8
>> ++
>> ++# Starts desktop with calling "dbus-launch".
>> ++DBUS_LAUNCH=true
>> ++
>> ++# Starts Xorg desktop with calling "~/.xinitrc" script, if is true, file exists and selected WM/DE is Xorg session, it overrides DBUS_LAUNCH.
>> ++XINITRC_LAUNCH=false
>> ++
>> ++# Prints available WM/DE each on new line instead of printing on single line.
>> ++VERTICAL_SELECTION=false
>> ++
>> ++# Defines the way, how is logging handled. Possible values are "rotate", "appending" or "disabled".
>> ++#LOGGING=rotate
>> ++
>> ++# Overrides path of log file
>> ++#LOGGING_FILE=/var/log/emptty/[TTY_NUMBER].log
>> ++
>> ++# Arguments passed to Xorg server.
>> ++#XORG_ARGS=
>> ++
>> ++# Allows to use dynamic motd script to generate custom MOTD.
>> ++#DYNAMIC_MOTD=false
>> ++
>> ++# Allows to override default path to dynamic motd.
>> ++#DYNAMIC_MOTD_PATH=/etc/emptty/motd-gen.sh
>> ++
>> ++# Allows to override default path to static motd.
>> ++#MOTD_PATH=/etc/emptty/motd
>> ++
>> ++# Foreground color, available only in daemon mode.
>> ++#FG_COLOR=LIGHT_BLACK
>> ++
>> ++# Background color, available only in daemon mode.
>> ++#BG_COLOR=BLACK
>> ++
>> ++# Enables numlock in daemon mode. Possible values are "true" or "false".
>> ++#ENABLE_NUMLOCK=false
>> ++
>> ++# Defines the way, how is logging of session errors handled. Possible values are "rotate", "appending" or "disabled".
>> ++SESSION_ERROR_LOGGING=rotate
>> ++
>> ++# Overrides path of session errors log file
>> ++#SESSION_ERROR_LOGGING_FILE=/var/log/emptty/session-errors.[TTY_NUMBER].log
>> ++
>> ++# If set true, it will not use `.emptty-xauth` file, but the standard `~/.Xauthority` file. This allows to handle xauth issues.
>> ++#DEFAULT_XAUTHORITY=false
>> ++
>> ++#If set true, Xorg will be started as rootless, if system allows and emptty is running in daemon mode.
>> ++#ROOTLESS_XORG=false
>> ++
>> ++#If set true, environmental groups are printed to differ Xorg/Wayland/Custom/UserCustom desktops.
>> ++IDENTIFY_ENVS=false
>> +diff --git a/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston-launch-calibrator.sh b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston-launch-calibrator.sh
>> +new file mode 100644
>> +index 00000000..45863ecd
>> +--- /dev/null
>> ++++ b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston-launch-calibrator.sh
>> +@@ -0,0 +1,13 @@
>> ++#!/bin/sh
>> ++
>> ++if [ -e /dev/input/touchscreen0 ]; then
>> ++	echo "Touch screen detected..."
>> ++	if [ -n "$LIBINPUT_CALIBRATION_MATRIX" ]; then
>> ++		echo "Calibration matrix already present, skipping calibration..."
>> ++	else
>> ++		echo "Calibrating touchscreen..."
>> ++		exec weston-calibrator
>> ++	fi
>> ++else
>> ++	echo "Touch screen not detected, skipping calibration..."
>> ++fi
>> +diff --git a/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston.ini b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston.ini
>> +new file mode 100644
>> +index 00000000..1bc7a010
>> +--- /dev/null
>> ++++ b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston.ini
>> +@@ -0,0 +1,21 @@
>> ++[core]
>> ++idle-time=0
>> ++require-input=false
>> ++require-outputs=none
>> ++
>> ++[shell]
>> ++locking=false
>> ++animation=zoom
>> ++panel-position=top
>> ++startup-animation=fade
>> ++
>> ++[libinput]
>> ++touchscreen_calibrator=true
>> ++
>> ++[autolaunch]
>> ++# launch the calibrator on startup if a touchscreen is detected
>> ++path=/usr/bin/weston-launch-calibrator
>> ++
>> ++[screensaver]
>> ++# Uncomment path to disable screensaver
>> ++#path=@libexecdir@/weston-screensaver
>> +--
>> +2.34.1
>> +
>> diff --git a/meta-arago-distro/classes/tisdk-bundle.bbclass b/meta-arago-distro/classes/tisdk-bundle.bbclass
>> index cc5d1481..24146529 100644
>> --- a/meta-arago-distro/classes/tisdk-bundle.bbclass
>> +++ b/meta-arago-distro/classes/tisdk-bundle.bbclass
>> @@ -106,7 +106,7 @@ cleanup_host_packages() {
>>   }
>>   
>>   ROOTFS_PREPROCESS_COMMAND += "tisdk_image_setup; "
>> -ROOTFS_POSTPROCESS_COMMAND += "tisdk_image_build; "
>> +ROOTFS_POSTPROCESS_COMMAND += "tisdk_image_build; add_emptty_inittab; "
>>   IMAGE_PREPROCESS_COMMAND:append = "tisdk_image_cleanup; "
>>   
>>   # Create the SDK image.  We will re-use the rootfs_ipk_do_rootfs functionality
>> @@ -304,6 +304,18 @@ tisdk_image_build () {
>>       cp ${WORKDIR}/opkg.conf ${IMAGE_ROOTFS}/etc/
>>   }
>>   
>> +
>> +add_emptty_inittab() {
>> +    [ -f ${IMAGE_ROOTFS}${sysconfdir}/inittab ] || return 0
>> +
>> +    if ${@bb.utils.contains_any("IMAGE_FEATURES", [ "x11-base", "weston" ], "true", "false", d)}
>> +    then
>> +	echo "7:5:respawn:${bindir}/emptty -t 7 -d" >> ${IMAGE_ROOTFS}${sysconfdir}/inittab
>> +    fi
>> +}
>> +
>> +
>> +
>>   TISDK_IMAGE_CLEANUP_DIRS ?= "var etc lib boot dev home media mnt proc run sbin sys tmp usr"
>>   TISDK_IMAGE_CLEANUP_FILES ?= "bin/bash bin/bash.bash bin/sh"
>>   
>> diff --git a/meta-arago-distro/conf/distro/arago.conf b/meta-arago-distro/conf/distro/arago.conf
>> index fb5c703f..43d4db53 100644
>> --- a/meta-arago-distro/conf/distro/arago.conf
>> +++ b/meta-arago-distro/conf/distro/arago.conf
>> @@ -68,6 +68,8 @@ PACKAGECONFIG:pn-glmark2 = "drm-gles2 wayland-gles2"
>>   
>>   # Set this to empty string to prevent xwayland config from being added
>>   PACKAGECONFIG:pn-weston-init = ""
>> +PREFERRED_RPROVIDER_virtual-emptty-conf = "weston-init-arago"
>> +PREFERRED_RPROVIDER_weston-init = "weston-init-arago"
>>   
>>   # Enable testing for opencl and vulkan with piglit
>>   PACKAGECONFIG:append:pn-piglit = " \
>> diff --git a/meta-arago-distro/recipes-graphics/emptty/emptty-conf.bb b/meta-arago-distro/recipes-graphics/emptty/emptty-conf.bb
>> new file mode 100644
>> index 00000000..0b98e2e1
>> --- /dev/null
>> +++ b/meta-arago-distro/recipes-graphics/emptty/emptty-conf.bb
>> @@ -0,0 +1,14 @@
>> +require emptty.inc
>> +
>> +SUMMARY += " (Default config)"
>> +
>> +do_configure[noexec] = "1"
>> +do_compile[noexec] = "1"
>> +
>> +do_install () {
>> +    oe_runmake -C ${S}/src/${GO_IMPORT} DESTDIR=${D} install-config
>> +}
>> +
>> +FILES:${PN} = "${sysconfdir}/emptty/conf"
>> +CONFFILES:${PN} = "${sysconfdir}/emptty/conf"
>> +RPROVIDES:${PN} += "virtual-emptty-conf"
>> diff --git a/meta-arago-distro/recipes-graphics/emptty/emptty.inc b/meta-arago-distro/recipes-graphics/emptty/emptty.inc
>> new file mode 100644
>> index 00000000..d99c4d8c
>> --- /dev/null
>> +++ b/meta-arago-distro/recipes-graphics/emptty/emptty.inc
>> @@ -0,0 +1,27 @@
>> +SUMMARY = "Dead simple CLI Display Manager on TTY"
>> +DESCRIPTION = "Emptty is a simple display manager with a command line greeter \
>> +It supports both X11 and Wayland sessions, exporting required variables and \
>> +creating user paths as necessary."
>> +
>> +HOMEPAGE = "https://github.com/tvrzna/emptty"
>> +BUGTRACKER = "https://github.com/tvrzna/emptty/issues"
>> +LICENSE = "MIT"
>> +LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=d1e4d12c7d1d17367ba5668706a405ba"
>> +
>> +S = "${UNPACKDIR}"
>> +
>> +FILESEXTRAPATHS:append = ":${THISDIR}/emptty"
>> +
>> +GO_IMPORT = "github.com/tvrzna/emptty"
>> +GO_IMPORT_pam = "github.com/msteinert/pam"
>> +SRC_URI = "\
>> +    git://${GO_IMPORT}.git;protocol=https;branch=master;destsuffix=src/${GO_IMPORT} \
>> +    git://${GO_IMPORT_pam}.git;protocol=https;branch=master;name=pam;destsuffix=src/${GO_IMPORT_pam} \
>> +    file://pamconf \
>> +    "
>> +SRCREV = "bb203ad0a224731a7a2ff50deeb342ab79c4af09"
>> +SRCREV_pam = "50ded1b0e7864b9bf75005eb945a8ec826bcf69d"
>> +
>> +SRCREV_FORMAT .= "_pam"
>> +
>> +PR = "r1"
>> diff --git a/meta-arago-distro/recipes-graphics/emptty/emptty/pamconf b/meta-arago-distro/recipes-graphics/emptty/emptty/pamconf
>> new file mode 100644
>> index 00000000..5c82d46b
>> --- /dev/null
>> +++ b/meta-arago-distro/recipes-graphics/emptty/emptty/pamconf
>> @@ -0,0 +1,11 @@
>> +#%PAM-1.0
>> +auth            sufficient      pam_succeed_if.so user ingroup nopasswdlogin
>> +auth            include         common-auth
>> +-auth           optional        pam_gnome_keyring.so
>> +-auth           optional        pam_kwallet5.so
>> +account         include         common-account
>> +session         include         common-session
>> +-session        optional        pam_gnome_keyring.so auto_start
>> +-session        optional        pam_kwallet5.so auto_start force_run
>> +password        include         common-password
>> +
>> diff --git a/meta-arago-distro/recipes-graphics/emptty/emptty_0.15.0.bb b/meta-arago-distro/recipes-graphics/emptty/emptty_0.15.0.bb
>> new file mode 100644
>> index 00000000..415c5ea5
>> --- /dev/null
>> +++ b/meta-arago-distro/recipes-graphics/emptty/emptty_0.15.0.bb
>> @@ -0,0 +1,57 @@
>> +require emptty.inc
>> +
>> +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam x11', d)}"
>> +PACKAGECONFIG[pam] = ",,libpam,pam-plugin-succeed-if"
>> +PACKAGECONFIG[x11] = ",,virtual/libx11,util-linux-mcookie"
>> +
>> +DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'virtual/crypt', d)}"
>> +
>> +GO_TAGS = ""
>> +GO_TAGS:append = "${@bb.utils.contains('PACKAGECONFIG', 'pam', '', ',nopam', d)}"
>> +GO_TAGS:append = "${@bb.utils.contains('PACKAGECONFIG', 'x11', '', ',noxlib', d)}"
>> +
>> +GOBUILDFLAGS:append = " -tags=${GO_TAGS}"
>> +
>> +export GO111MODULE = "off"
>> +
>> +inherit go
>> +
>> +DEPENDS += "gzip"
>> +
>> +do_install () {
>> +    # general collateral
>> +    install -Dm755 ${B}/${GO_BUILD_BINDIR}/emptty ${D}${bindir}/emptty
>> +    install -d ${D}${mandir}/man1
>> +    gzip -cn ${S}/src/${GO_IMPORT}/res/emptty.1 > ${D}${mandir}/man1/emptty.1.gz
>> +
>> +    # pam config
>> +    if "${@bb.utils.contains('PACKAGECONFIG','pam','true','false',d)}"
>> +    then
>> +        install -Dm644 ${S}/pamconf ${D}${sysconfdir}/pam.d/emptty
>> +    fi
>> +
>> +    # systemd init service
>> +    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}
>> +    then
>> +        oe_runmake -C ${S}/src/${GO_IMPORT} DESTDIR=${D} install-systemd
>> +    fi
>> +}
>> +
>> +FILES:${PN} = "\
>> +    ${systemd_system_unitdir}/emptty.service \
>> +    ${bindir}/emptty \
>> +    ${mandir}/man1/emptty.1.gz \
>> +    ${sysconfdir}/pam.d/emptty \
>> +"
>> +
>> +RDEPENDS:${PN} += "virtual-emptty-conf"
>> +SYSTEMD_SERVICE:${PN} = "emptty.service"
>> +
>> +inherit systemd
>> +
>> +USERADD_PACKAGES = "${PN}"
>> +GROUPADD_PARAM:${PN} = "-r nopasswdlogin"
>> +
>> +inherit useradd
>> +
>> +
>> diff --git a/meta-arago-distro/recipes-graphics/wayland/weston-init-arago.bb b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago.bb
>> new file mode 100644
>> index 00000000..484d25e1
>> --- /dev/null
>> +++ b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago.bb
>> @@ -0,0 +1,72 @@
>> +SUMMARY = "Configuration files for the Weston Wayland compositor"
>> +LICENSE = "MIT"
>> +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>> +
>> +PACKAGE_ARCH = "${MACHINE_ARCH}"
>> +
>> +SRC_URI:append = " \
>> +    file://weston.ini \
>> +    file://weston-launch-calibrator.sh \
>> +    file://emptty.conf \
>> +"
>> +
>> +S = "${UNPACKDIR}"
>> +
>> +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)}"
>> +PACKAGECONFIG:append:qemuriscv64 = " use-pixman"
>> +PACKAGECONFIG:append:qemuppc64 = " use-pixman"
>> +
>> +PACKAGECONFIG[xwayland] = ",,"
>> +PACKAGECONFIG[no-idle-timeout] = ",,"
>> +PACKAGECONFIG[use-pixman] = ",,"
>> +
>> +DEFAULTBACKEND ??= ""
>> +DEFAULTBACKEND:qemuall ?= "drm"
>> +
>> +do_install() {
>> +	install -D -p -m0644 weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini
>> +	install -D -p -m0644 emptty.conf ${D}${sysconfdir}/emptty/conf
>> +
>> +	if [ -n "${DEFAULTBACKEND}" ]; then
>> +		sed -i -e "/^\[core\]/a backend=${DEFAULTBACKEND}-backend.so" ${D}${sysconfdir}/xdg/weston/weston.ini
>> +	fi
>> +
>> +	if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
>> +		sed -i -e "/^\[core\]/a xwayland=true" ${D}${sysconfdir}/xdg/weston/weston.ini
>> +	fi
>> +
>> +	if [ "${@bb.utils.contains('PACKAGECONFIG', 'no-idle-timeout', 'yes', 'no', d)}" = "yes" ]; then
>> +		sed -i -e "/^\[core\]/a idle-time=0" ${D}${sysconfdir}/xdg/weston/weston.ini
>> +	fi
>> +
>> +	if [ "${@bb.utils.contains('PACKAGECONFIG', 'use-pixman', 'yes', 'no', d)}" = "yes" ]; then
>> +		sed -i -e "/^\[core\]/a use-pixman=true" ${D}${sysconfdir}/xdg/weston/weston.ini
>> +	fi
>> +
>> +	install -dm 755 -o weston -g weston ${D}/home/weston
>> +	install -Dm755 weston-launch-calibrator.sh ${D}/${bindir}/weston-launch-calibrator
>> +}
>> +
>> +inherit useradd
>> +
>> +USERADD_PACKAGES = "${PN}"
>> +
>> +# rdepends on weston which depends on virtual/egl
>> +#
>> +require ${COREBASE}/meta/recipes-graphics/wayland/required-distro-features.inc
>> +
>> +RDEPENDS:${PN} = "weston kbd ${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'weston-xwayland', '', d)} emptty"
>> +
>> +FILES:${PN} += "\
>> +    ${sysconfdir}/xdg/weston/weston.ini \
>> +    ${sysconfdir}/emptty/conf \
>> +    /home/weston \
>> +    ${bindir}/weston-launch-calibrator \
>> +    "
>> +
>> +CONFFILES:${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/emptty/conf"
>> +RPROVIDES:${PN}:append = " virtual-emptty-conf weston-init"
>> +RCONFLICTS:${PN} += "weston-init"
>> +
>> +USERADD_PARAM:${PN} = "--home /home/weston --shell /bin/sh --user-group -G video,input,render,nopasswdlogin weston"
>> +GROUPADD_PARAM:${PN} = "-r wayland; -r render; -r nopasswdlogin"
>> diff --git a/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/beaglebone/weston.ini b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/beaglebone/weston.ini
>> new file mode 100644
>> index 00000000..9fd9851d
>> --- /dev/null
>> +++ b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/beaglebone/weston.ini
>> @@ -0,0 +1,85 @@
>> +# configuration file for Weston
>> +
>> +[core]
>> +idle-time=0
>> +#modules=xwayland.so,cms-colord.so
>> +#shell=desktop-shell.so
>> +gbm-format=rgb565
>> +require-input=false
>> +
>> +[shell]
>> +locking=false
>> +animation=zoom
>> +panel-position=top
>> +startup-animation=fade
>> +#background-image=/usr/share/backgrounds/gnome/Aqua.jpg
>> +#background-color=0xff002244
>> +#background-type=tile
>> +#clock-format=minutes
>> +#panel-color=0x90ff0000
>> +#locking=true
>> +#animation=zoom
>> +#startup-animation=fade
>> +#binding-modifier=ctrl
>> +#num-workspaces=6
>> +#cursor-theme=whiteglass
>> +#cursor-size=24
>> +
>> +#lockscreen-icon=/usr/share/icons/gnome/256x256/actions/lock.png
>> +#lockscreen=/usr/share/backgrounds/gnome/Garden.jpg
>> +#homescreen=/usr/share/backgrounds/gnome/Blinds.jpg
>> +#animation=fade
>> +
>> +#[launcher]
>> +#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
>> +#path=/usr/bin/gnome-terminal
>> +
>> +#[launcher]
>> +#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
>> +#path=/usr/bin/weston-terminal
>> +
>> +#[launcher]
>> +#icon=/usr/share/icons/hicolor/24x24/apps/google-chrome.png
>> +#path=/usr/bin/google-chrome
>> +
>> +#[launcher]
>> +#icon=/usr/share/icons/gnome/24x24/apps/arts.png
>> +#path=/build/weston-0lEgCh/weston-1.11.0/weston-flower
>> +
>> +#[input-method]
>> +#path=/usr/libexec/weston-keyboard
>> +
>> +[output]
>> +name=HDMI-A-1
>> +#mode=1680x1050
>> +#transform=90
>> +#icc_profile=/usr/share/color/icc/colord/Bluish.icc
>> +
>> +#[output]
>> +#name=VGA1
>> +#mode=173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
>> +#transform=flipped
>> +
>> +#[output]
>> +#name=X1
>> +#mode=1024x768
>> +#transform=flipped-90
>> +
>> +[libinput]
>> +touchscreen_calibrator=true
>> +#enable_tap=true
>> +
>> +#[touchpad]
>> +#constant_accel_factor = 50
>> +#min_accel_factor = 0.16
>> +#max_accel_factor = 1.0
>> +
>> +[screen-share]
>> +command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize
>> +
>> +#[xwayland]
>> +#path=/usr/bin/Xwayland
>> +
>> +[autolaunch]
>> +# launch the calibrator on startup if a touchscreen is detected
>> +path=/usr/bin/weston-launch-calibrator
>> diff --git a/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/emptty.conf b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/emptty.conf
>> new file mode 100644
>> index 00000000..ffe1a3c2
>> --- /dev/null
>> +++ b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/emptty.conf
>> @@ -0,0 +1,77 @@
>> +# TTY, where emptty will start.
>> +TTY_NUMBER=7
>> +
>> +# Enables switching to defined TTY number.
>> +SWITCH_TTY=true
>> +
>> +# Enables printing of /etc/issue in daemon mode.
>> +PRINT_ISSUE=true
>> +
>> +# Enables printing of default motd, /etc/emptty/motd or /etc/emptty/motd-gen.sh.
>> +PRINT_MOTD=true
>> +
>> +# Preselected user, if AUTOLOGIN is enabled, this user is logged in.
>> +DEFAULT_USER=weston
>> +
>> +# Enables Autologin, if DEFAULT_USER is defined and part of nopasswdlogin group. Possible values are "true" or "false".
>> +AUTOLOGIN=true
>> +
>> +# The default session used, if Autologin is enabled. If session is not found in list of session, it proceeds to manual selection.
>> +AUTOLOGIN_SESSION=Weston
>> +
>> +# If Autologin is enabled and session does not start correctly, the number of retries in short period is kept to eventually stop the infinite loop of restarts. -1 is for infinite retries, 0 is for no retry.
>> +AUTOLOGIN_MAX_RETRY=-1
>> +
>> +# Default LANG, if user does not have set own in init script.
>> +#LANG=en_US.UTF-8
>> +
>> +# Starts desktop with calling "dbus-launch".
>> +DBUS_LAUNCH=true
>> +
>> +# Starts Xorg desktop with calling "~/.xinitrc" script, if is true, file exists and selected WM/DE is Xorg session, it overrides DBUS_LAUNCH.
>> +XINITRC_LAUNCH=false
>> +
>> +# Prints available WM/DE each on new line instead of printing on single line.
>> +VERTICAL_SELECTION=false
>> +
>> +# Defines the way, how is logging handled. Possible values are "rotate", "appending" or "disabled".
>> +#LOGGING=rotate
>> +
>> +# Overrides path of log file
>> +#LOGGING_FILE=/var/log/emptty/[TTY_NUMBER].log
>> +
>> +# Arguments passed to Xorg server.
>> +#XORG_ARGS=
>> +
>> +# Allows to use dynamic motd script to generate custom MOTD.
>> +#DYNAMIC_MOTD=false
>> +
>> +# Allows to override default path to dynamic motd.
>> +#DYNAMIC_MOTD_PATH=/etc/emptty/motd-gen.sh
>> +
>> +# Allows to override default path to static motd.
>> +#MOTD_PATH=/etc/emptty/motd
>> +
>> +# Foreground color, available only in daemon mode.
>> +#FG_COLOR=LIGHT_BLACK
>> +
>> +# Background color, available only in daemon mode.
>> +#BG_COLOR=BLACK
>> +
>> +# Enables numlock in daemon mode. Possible values are "true" or "false".
>> +#ENABLE_NUMLOCK=false
>> +
>> +# Defines the way, how is logging of session errors handled. Possible values are "rotate", "appending" or "disabled".
>> +SESSION_ERROR_LOGGING=rotate
>> +
>> +# Overrides path of session errors log file
>> +#SESSION_ERROR_LOGGING_FILE=/var/log/emptty/session-errors.[TTY_NUMBER].log
>> +
>> +# If set true, it will not use `.emptty-xauth` file, but the standard `~/.Xauthority` file. This allows to handle xauth issues.
>> +#DEFAULT_XAUTHORITY=false
>> +
>> +#If set true, Xorg will be started as rootless, if system allows and emptty is running in daemon mode.
>> +#ROOTLESS_XORG=false
>> +
>> +#If set true, environmental groups are printed to differ Xorg/Wayland/Custom/UserCustom desktops.
>> +IDENTIFY_ENVS=false
>> diff --git a/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston-launch-calibrator.sh b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston-launch-calibrator.sh
>> new file mode 100644
>> index 00000000..45863ecd
>> --- /dev/null
>> +++ b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston-launch-calibrator.sh
>> @@ -0,0 +1,13 @@
>> +#!/bin/sh
>> +
>> +if [ -e /dev/input/touchscreen0 ]; then
>> +	echo "Touch screen detected..."
>> +	if [ -n "$LIBINPUT_CALIBRATION_MATRIX" ]; then
>> +		echo "Calibration matrix already present, skipping calibration..."
>> +	else
>> +		echo "Calibrating touchscreen..."
>> +		exec weston-calibrator
>> +	fi
>> +else
>> +	echo "Touch screen not detected, skipping calibration..."
>> +fi
>> diff --git a/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston.ini b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston.ini
>> new file mode 100644
>> index 00000000..1bc7a010
>> --- /dev/null
>> +++ b/meta-arago-distro/recipes-graphics/wayland/weston-init-arago/weston.ini
>> @@ -0,0 +1,21 @@
>> +[core]
>> +idle-time=0
>> +require-input=false
>> +require-outputs=none
>> +
>> +[shell]
>> +locking=false
>> +animation=zoom
>> +panel-position=top
>> +startup-animation=fade
>> +
>> +[libinput]
>> +touchscreen_calibrator=true
>> +
>> +[autolaunch]
>> +# launch the calibrator on startup if a touchscreen is detected
>> +path=/usr/bin/weston-launch-calibrator
>> +
>> +[screensaver]
>> +# Uncomment path to disable screensaver
>> +#path=@libexecdir@/weston-screensaver
>> -- 
>> 2.34.1
> 

-- 
Ryan Eatmon                [email protected]
-----------------------------------------
Texas Instruments, Inc.  -  LCPD  -  MGTS