Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Randolph Sapp <rs@ti.com>
To: Joshua Watt <jpewhacker@gmail.com>
Cc: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>,
	<richard.purdie@linuxfoundation.org>, <ross.burton@arm.com>,
	<alex@linutronix.de>, <otavio@ossystems.com.br>,
	<kexin.hao@windriver.com>, <afd@ti.com>, <detheridge@ti.com>,
	<denis@denix.org>, <reatmon@ti.com>,
	<openembedded-core@lists.openembedded.org>, <vijayp@ti.com>
Subject: Re: [oe-core][PATCHv9 0/6] Display manager proposal for x11 and wayland
Date: Thu, 18 Sep 2025 17:31:26 -0500	[thread overview]
Message-ID: <DCWA6GFPV2UX.3777W4JSPK51A@ti.com> (raw)
In-Reply-To: <CAJdd5GZFeR4OHG09g8z1RC1PFBzJh72EHUbLx2CPfa5CKK75sA@mail.gmail.com>

On Thu Sep 18, 2025 at 5:25 PM CDT, Joshua Watt wrote:
> On Thu, Sep 18, 2025 at 3:49 PM Randolph Sapp via
> lists.openembedded.org <rs=ti.com@lists.openembedded.org> wrote:
>>
>> From: Randolph Sapp <rs@ti.com>
>>
>> We've recently run into some issues with weston-init attempting to start Weston
>> prior to all drm devices being registered. There's not really a good, scriptable
>> mechanism to listen in to device registration events that works with the
>> existing weston-init package. Well, at least one that doesn't involve polling
>> files or introducing more dependency on the init system being used.
>
> It's not clear how switching to emptty actually solves that problem; I
> don't see anything in my (brief) look at the emptty code that would
> lead me to believe it actually cares about any drm devices being
> present or handles devices showing up dynamically. Can you maybe
> elaborate more on this?

It doesn't currently have any tests to wait for the DRM device. I still need to
look into adding that, but what it currently does is add a retry event counter
and a small delay between retries that is better than the current console
implementations. Especially considering authentication is handled separately
from this retry process.

By centralizing display manager specific code, common checks and fallback logic
can be more easily implemented in the future. I'm hoping this lays the
groundwork to let me address some other issues I've seen in multi-card
environments as well.

>> I also see there is also a lot of scripting around starting X11,
>> xserver-nodm-init, that (from my limited review) should experience the same
>> issue.
>>
>> I'd like to introduce the following display manager for oe-core, emptty [1].
>> This display manager is, as described upstream, a "Dead simple CLI Display
>> Manager on TTY". It supports both x11 and wayland sessions, with togglable build
>> parameters to completely remove x11 and pam dependencies. It's licensed MIT,
>> which shouldn't be an issue for any users. (It is written in Go, if you have
>> opinions about that.)
>>
>> With this, both weston-init and the xserver-nodm-init packages can be re-tuned
>> to leverage this display manager and simply add a user and emptty config for an
>> autologin session. This can resolve the current behavior across init systems
>> without additional scripting, and move some development out of this layer.
>>
>> This lists myself as a maintainer of emptty as well as xserver-nodm-init and
>> xuser-account since these are currently unassigned and I've reworked them
>> significantly here.
>>
>> Sorry for the delay on this series. I found a few bugs in emptty that I wanted
>> to address before submitting this officially.
>>
>> [1] https://github.com/tvrzna/emptty
>>
>> v2:
>>         - Address spelling issues in commit messages
>>         - Attempt to resolve some test related issues with weston
>>         - Add additional logs to X11 related tests
>> v3:
>>         - Reset AUTOLOGIN_MAX_RETRY to the default value of 2. When running
>>           under QEMU the first auth attempt almost always fails.
>> v4:
>>         - Add a tmpfile entry for the x11 domain socket directory.
>>         - Remove some scripts associated with weston-init that were being
>>           shipped with weston
>> v5:
>>         - Move tmpfile data to individual files
>>         - Add explicit entries for these in the FILES variable
>> v6:
>>         - Do not attempt to ship a tmpfiles.d entry in libx11
>> v7:
>>         - Include a backported fix for go/runtime to address segfault issues
>>           reported on x86 platforms in previous revisions
>> v8:
>>         - Sign-off backported patch
>> v9:
>>         - Resolve merge conflict in maintainers file
>>
>> Randolph Sapp (6):
>>   libx11: create tmpfile dir for x11 domain socket
>>   go: fix sigaction usage on i386 platforms
>>   emptty: add version 0.14.0
>>   weston-init: convert to virtual-emptty-conf
>>   weston: remove deprecated weston-start scripts
>>   xserver-nodm-init: convert to virtual-emptty-conf
>>
>>  .../conf/distro/include/default-providers.inc |   1 +
>>  meta/conf/distro/include/maintainers.inc      |   6 +-
>>  meta/lib/oeqa/runtime/cases/weston.py         |  18 +-
>>  meta/lib/oeqa/runtime/cases/xorg.py           |   8 +
>>  meta/recipes-devtools/go/go-1.25.0.inc        |   1 +
>>  ...ng-cgo-on-386-call-C-sigaction-funct.patch | 248 ++++++++++++
>>  meta/recipes-graphics/emptty/emptty-conf.bb   |  14 +
>>  meta/recipes-graphics/emptty/emptty.inc       |  26 ++
>>  .../recipes-graphics/emptty/emptty/emptty.tab |   1 +
>>  meta/recipes-graphics/emptty/emptty/pamconf   |  10 +
>>  meta/recipes-graphics/emptty/emptty_0.14.0.bb |  53 +++
>>  meta/recipes-graphics/wayland/weston-init.bb  |  61 +--
>>  .../wayland/weston-init/emptty.conf           |  77 ++++
>>  .../recipes-graphics/wayland/weston-init/init |  54 ---
>>  .../wayland/weston-init/weston-autologin      |  11 -
>>  .../wayland/weston-init/weston-socket.sh      |  20 -
>>  .../wayland/weston-init/weston-start          |  76 ----
>>  .../wayland/weston-init/weston.env            |   0
>>  .../wayland/weston-init/weston.service        |  71 ----
>>  .../wayland/weston-init/weston.socket         |  14 -
>>  .../weston/systemd-notify.weston-start        |   9 -
>>  .../wayland/weston/xwayland.weston-start      |   6 -
>>  .../recipes-graphics/wayland/weston_14.0.2.bb |  10 -
>>  .../x11-common/xserver-nodm-init/X11/Xsession |  38 --
>>  .../X11/Xsession.d/13xdgbasedirs.sh           |  19 -
>>  .../X11/Xsession.d/89xdgautostart.sh          |   7 -
>>  .../X11/Xsession.d/90XWindowManager.sh        |   7 -
>>  .../x11-common/xserver-nodm-init/Xserver      |  25 --
>>  .../xserver-nodm-init/capability.conf         |   2 -
>>  .../xserver-nodm-init/default.desktop         |   5 +
>>  .../xserver-nodm-init/emptty.conf.in          |  77 ++++
>>  .../xserver-nodm-init/gplv2-license.patch     | 355 ------------------
>>  .../x11-common/xserver-nodm-init/xserver-nodm |  75 ----
>>  .../xserver-nodm-init/xserver-nodm.conf.in    |   7 -
>>  .../xserver-nodm-init/xserver-nodm.service.in |  11 -
>>  .../x11-common/xserver-nodm-init_3.0.bb       |  57 +--
>>  meta/recipes-graphics/xorg-lib/libx11/99_x11  |   1 +
>>  .../xorg-lib/libx11_1.8.12.bb                 |  15 +-
>>  .../user-creation/xuser-account_0.1.bb        |   3 +-
>>  39 files changed, 581 insertions(+), 918 deletions(-)
>>  create mode 100644 meta/recipes-devtools/go/go/0001-runtime-when-using-cgo-on-386-call-C-sigaction-funct.patch
>>  create mode 100644 meta/recipes-graphics/emptty/emptty-conf.bb
>>  create mode 100644 meta/recipes-graphics/emptty/emptty.inc
>>  create mode 100644 meta/recipes-graphics/emptty/emptty/emptty.tab
>>  create mode 100644 meta/recipes-graphics/emptty/emptty/pamconf
>>  create mode 100644 meta/recipes-graphics/emptty/emptty_0.14.0.bb
>>  create mode 100644 meta/recipes-graphics/wayland/weston-init/emptty.conf
>>  delete mode 100644 meta/recipes-graphics/wayland/weston-init/init
>>  delete mode 100644 meta/recipes-graphics/wayland/weston-init/weston-autologin
>>  delete mode 100755 meta/recipes-graphics/wayland/weston-init/weston-socket.sh
>>  delete mode 100755 meta/recipes-graphics/wayland/weston-init/weston-start
>>  delete mode 100644 meta/recipes-graphics/wayland/weston-init/weston.env
>>  delete mode 100644 meta/recipes-graphics/wayland/weston-init/weston.service
>>  delete mode 100644 meta/recipes-graphics/wayland/weston-init/weston.socket
>>  delete mode 100644 meta/recipes-graphics/wayland/weston/systemd-notify.weston-start
>>  delete mode 100644 meta/recipes-graphics/wayland/weston/xwayland.weston-start
>>  delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession
>>  delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/13xdgbasedirs.sh
>>  delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/89xdgautostart.sh
>>  delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/90XWindowManager.sh
>>  delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/Xserver
>>  delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/capability.conf
>>  create mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/default.desktop
>>  create mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/emptty.conf.in
>>  delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/gplv2-license.patch
>>  delete mode 100755 meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm
>>  delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf.in
>>  delete mode 100644 meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service.in
>>  create mode 100644 meta/recipes-graphics/xorg-lib/libx11/99_x11
>>
>> --
>> 2.51.0
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#223699): https://lists.openembedded.org/g/openembedded-core/message/223699
>> Mute This Topic: https://lists.openembedded.org/mt/115318655/3616693
>> Group Owner: openembedded-core+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [JPEWhacker@gmail.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>



  reply	other threads:[~2025-09-18 22:31 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-18 21:48 [oe-core][PATCHv9 0/6] Display manager proposal for x11 and wayland rs
2025-09-18 21:48 ` [oe-core][PATCHv9 1/6] libx11: create tmpfile dir for x11 domain socket rs
2025-09-18 21:48 ` [oe-core][PATCHv9 2/6] go: fix sigaction usage on i386 platforms rs
2025-09-18 21:48 ` [oe-core][PATCHv9 3/6] emptty: add version 0.14.0 rs
2025-09-18 21:48 ` [oe-core][PATCHv9 4/6] weston-init: convert to virtual-emptty-conf rs
2025-09-18 22:03   ` Patchtest results for " patchtest
2025-09-18 21:49 ` [oe-core][PATCHv9 5/6] weston: remove deprecated weston-start scripts rs
2025-09-18 21:49 ` [oe-core][PATCHv9 6/6] xserver-nodm-init: convert to virtual-emptty-conf rs
2025-09-18 22:25 ` [oe-core][PATCHv9 0/6] Display manager proposal for x11 and wayland Joshua Watt
2025-09-18 22:31   ` Randolph Sapp [this message]
2025-09-18 22:35     ` Joshua Watt
2025-09-18 22:39       ` Randolph Sapp
     [not found]       ` <186681957172BF4C.23626@lists.openembedded.org>
2025-09-18 22:42         ` Randolph Sapp
2025-09-18 23:03           ` Joshua Watt
2025-09-18 23:13             ` Randolph Sapp
2025-09-21 12:25 ` Mathieu Dubois-Briand
2025-09-22 21:51   ` Randolph Sapp
     [not found]   ` <1867B951D10D3F9C.23856@lists.openembedded.org>
2025-09-22 22:21     ` Randolph Sapp
     [not found]     ` <1867BAF5F353054B.23856@lists.openembedded.org>
2025-09-22 23:16       ` Randolph Sapp
2025-09-23  9:03         ` Richard Purdie
2025-09-23 17:56           ` Randolph Sapp
     [not found]           ` <1867FB133639FF67.16927@lists.openembedded.org>
2025-09-23 18:04             ` Randolph Sapp
2025-09-23 22:41               ` Richard Purdie

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=DCWA6GFPV2UX.3777W4JSPK51A@ti.com \
    --to=rs@ti.com \
    --cc=afd@ti.com \
    --cc=alex@linutronix.de \
    --cc=denis@denix.org \
    --cc=detheridge@ti.com \
    --cc=jpewhacker@gmail.com \
    --cc=kexin.hao@windriver.com \
    --cc=mathieu.dubois-briand@bootlin.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=otavio@ossystems.com.br \
    --cc=reatmon@ti.com \
    --cc=richard.purdie@linuxfoundation.org \
    --cc=ross.burton@arm.com \
    --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