From: <rs@ti.com>
To: <raj.khem@gmail.com>, <richard.purdie@linuxfoundation.org>,
<mathieu.dubois-briand@bootlin.com>, <alex@linutronix.de>,
<otavio@ossystems.com.br>, <kexin.hao@windriver.com>
Cc: <afd@ti.com>, <detheridge@ti.com>, <denis@denix.org>,
<reatmon@ti.com>, <openembedded-core@lists.openembedded.org>,
<vijayp@ti.com>
Subject: [oe-core][PATCHv16 6/6] xsessions: add unique desktop entries
Date: Fri, 27 Feb 2026 12:31:35 -0600 [thread overview]
Message-ID: <20260227183135.64544-7-rs@ti.com> (raw)
In-Reply-To: <20260227183135.64544-1-rs@ti.com>
From: Randolph Sapp <rs@ti.com>
Now that we have a display manager, users can have the option to choose
a session manager with the default emptty configuration. Currently this
could be either mini-x-session or matchbox-session.
Previously, only one was selectable via update-alternatives logic
switching out the x-session-manager link that xserver-nodm-init would
unconditionally use. From my testing this normally resulted in
matchbox-session being chosen.
Now xserver-nodm-init will use a DEFAULT_SESSION variable to configure
the automatic login session, and both of these session managers will
provide unique desktop entries for their respective sessions.
The loose default for DEFAULT_SESSION will be matchbox-session to keep
in line with the existing behavior.
Signed-off-by: Randolph Sapp <rs@ti.com>
---
.../matchbox-session/matchbox-session.desktop | 6 ++++++
.../matchbox-session/matchbox-session_0.1.bb | 13 ++++++-------
.../mini-x-session/files/mini-x-session.desktop | 6 ++++++
.../mini-x-session/mini-x-session_0.1.bb | 13 ++++++-------
.../x11-common/xserver-nodm-init/default.desktop | 5 -----
.../x11-common/xserver-nodm-init/emptty.conf.in | 2 +-
.../x11-common/xserver-nodm-init_3.0.bb | 7 ++++---
7 files changed, 29 insertions(+), 23 deletions(-)
create mode 100644 meta/recipes-graphics/matchbox-session/matchbox-session/matchbox-session.desktop
create mode 100644 meta/recipes-graphics/mini-x-session/files/mini-x-session.desktop
delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/default.desktop
diff --git a/meta/recipes-graphics/matchbox-session/matchbox-session/matchbox-session.desktop b/meta/recipes-graphics/matchbox-session/matchbox-session/matchbox-session.desktop
new file mode 100644
index 0000000000..f496fd860f
--- /dev/null
+++ b/meta/recipes-graphics/matchbox-session/matchbox-session/matchbox-session.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Name=Matchbox Session
+Comment=Very simple session manager for matchbox tools
+Type=Application
+Exec=matchbox-session
+DesktopNames=matchbox
diff --git a/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb
index d8be3417cc..bee18ad617 100644
--- a/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb
+++ b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb
@@ -9,17 +9,16 @@ LIC_FILES_CHKSUM = "file://matchbox-session;endline=20;md5=180f1c169a15d059a56c3
SECTION = "x11"
RCONFLICTS:${PN} = "matchbox-common"
-SRC_URI = "file://matchbox-session"
+SRC_URI = "file://matchbox-session \
+ file://matchbox-session.desktop"
S = "${UNPACKDIR}"
-inherit update-alternatives
-
-ALTERNATIVE:${PN} = "x-session-manager"
-ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/matchbox-session"
-ALTERNATIVE_PRIORITY = "100"
-
do_install() {
install -d ${D}/${bindir}
install -m 0755 ${S}/matchbox-session ${D}/${bindir}
+ install -d ${D}${datadir}/xsessions
+ install -m 0644 ${S}/matchbox-session.desktop ${D}${datadir}/xsessions
}
+
+FILES:${PN} += "${datadir}/xsessions"
diff --git a/meta/recipes-graphics/mini-x-session/files/mini-x-session.desktop b/meta/recipes-graphics/mini-x-session/files/mini-x-session.desktop
new file mode 100644
index 0000000000..d7afed9cfd
--- /dev/null
+++ b/meta/recipes-graphics/mini-x-session/files/mini-x-session.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Name=Mini X Session
+Comment=Very simple session manager for X
+Type=Application
+Exec=mini-x-session
+DesktopNames=matchbox
diff --git a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb
index e90786df44..b223c38c9e 100644
--- a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb
+++ b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb
@@ -9,19 +9,18 @@ LIC_FILES_CHKSUM = "file://mini-x-session;endline=5;md5=b6430bffbcf05f9760e72938
SECTION = "x11"
RCONFLICTS:${PN} = "matchbox-common"
-SRC_URI = "file://mini-x-session"
+SRC_URI = "file://mini-x-session \
+ file://mini-x-session.desktop"
S = "${UNPACKDIR}"
RDEPENDS:${PN} = "sudo"
-inherit update-alternatives
-
-ALTERNATIVE:${PN} = "x-session-manager"
-ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/mini-x-session"
-ALTERNATIVE_PRIORITY = "50"
-
do_install() {
install -d ${D}/${bindir}
install -m 0755 ${S}/mini-x-session ${D}/${bindir}
+ install -d ${D}${datadir}/xsessions
+ install -m 0644 ${S}/mini-x-session.desktop ${D}${datadir}/xsessions
}
+
+FILES:${PN} += "${datadir}/xsessions"
diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/default.desktop b/meta/recipes-graphics/x11-common/xserver-nodm-init/default.desktop
deleted file mode 100644
index 3357cd9a7f..0000000000
--- a/meta/recipes-graphics/x11-common/xserver-nodm-init/default.desktop
+++ /dev/null
@@ -1,5 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Type=Application
-Name=Default X11 Desktop
-Exec=x-session-manager
diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/emptty.conf.in b/meta/recipes-graphics/x11-common/xserver-nodm-init/emptty.conf.in
index bdb3bec782..fbe106d9b6 100644
--- a/meta/recipes-graphics/x11-common/xserver-nodm-init/emptty.conf.in
+++ b/meta/recipes-graphics/x11-common/xserver-nodm-init/emptty.conf.in
@@ -17,7 +17,7 @@ DEFAULT_USER=xuser
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=Default X11 Desktop
+AUTOLOGIN_SESSION=@DEFAULT_SESSION@
# 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=2
diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb b/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb
index 0e9fe1e65a..a4b4a11d1b 100644
--- a/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb
+++ b/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb
@@ -4,7 +4,6 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
SECTION = "x11"
SRC_URI = "file://emptty.conf.in \
- file://default.desktop \
file://system-xuser.conf"
S = "${UNPACKDIR}"
@@ -18,21 +17,23 @@ PACKAGECONFIG ??= "blank"
PACKAGECONFIG[blank] = ""
PACKAGECONFIG[nocursor] = ""
+# matchbox-session seems to be the current preferred session provider
+DEFAULT_SESSION ??= "matchbox-session"
+
do_install() {
install -D -p -m0644 ${S}/emptty.conf.in ${D}${sysconfdir}/emptty/conf
- install -D -p -m0644 ${S}/default.desktop ${D}${datadir}/xsessions/default.desktop
BLANK_ARGS="${@bb.utils.contains('PACKAGECONFIG', 'blank', '', '-s 0 -dpms', d)}"
NO_CURSOR_ARG="${@bb.utils.contains('PACKAGECONFIG', 'nocursor', '-nocursor', '', d)}"
sed -i "s:@NO_CURSOR_ARG@:${NO_CURSOR_ARG}:" ${D}${sysconfdir}/emptty/conf
sed -i "s:@BLANK_ARGS@:${BLANK_ARGS}:" ${D}${sysconfdir}/emptty/conf
+ sed -i "s:@DEFAULT_SESSION@:${DEFAULT_SESSION}:" ${D}${sysconfdir}/emptty/conf
install -D -m 0644 ${S}/system-xuser.conf ${D}${sysconfdir}/dbus-1/system.d/system-xuser.conf
}
FILES:${PN} = "${sysconfdir}/emptty/conf \
- ${datadir}/xsessions/default.desktop \
${sysconfdir}/dbus-1/system.d/system-xuser.conf"
USERADD_PACKAGES = "${PN}"
--
2.53.0
prev parent reply other threads:[~2026-02-27 18:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-27 18:31 [oe-core][PATCHv16 0/6] Display manager proposal for x11 and wayland rs
2026-02-27 18:31 ` [oe-core][PATCHv16 1/6] emptty: add version 0.15.0 rs
2026-02-27 18:31 ` [oe-core][PATCHv16 2/6] weston-init: convert to virtual-emptty-conf rs
2026-02-27 18:31 ` [oe-core][PATCHv16 3/6] weston: remove deprecated weston-start scripts rs
2026-02-27 18:31 ` [oe-core][PATCHv16 4/6] xserver-nodm-init: convert to virtual-emptty-conf rs
2026-02-27 18:31 ` [oe-core][PATCHv16 5/6] xuser-account: merge with xserver-nodm-init rs
2026-02-27 18:31 ` rs [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260227183135.64544-7-rs@ti.com \
--to=rs@ti.com \
--cc=afd@ti.com \
--cc=alex@linutronix.de \
--cc=denis@denix.org \
--cc=detheridge@ti.com \
--cc=kexin.hao@windriver.com \
--cc=mathieu.dubois-briand@bootlin.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=otavio@ossystems.com.br \
--cc=raj.khem@gmail.com \
--cc=reatmon@ti.com \
--cc=richard.purdie@linuxfoundation.org \
--cc=vijayp@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox