]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
xserver-nodm-init: avoid race condition related to udev
authorChen Qi <Qi.Chen@windriver.com>
Fri, 31 Oct 2025 06:11:05 +0000 (14:11 +0800)
committerMathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Tue, 4 Nov 2025 09:42:40 +0000 (10:42 +0100)
With systemd upgraded to 258+, there's a race condition error found
on qemuarm:

  failed to find screen to remove

This error is likely to be introduced by the following systemd commit:
https://github.com/systemd/systemd/commit/0ba9d06963ecb848e71951ed5e9f6f6f03b80b06

However, I think the commit cannot be reverted, not only because
there are a bunch of changes based on this one, but also because
the change look like a reasonable one.

Before xserver is able to handle such issue inside its codes, this service
need wait for udev to settle things before it starts. This can avoid the
above race condition error.

Fixes [YOCTO #16045]

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service.in

index 87dc4f8fcd8ff3d599aea4fb8eebb53ea906ae4c..43aaa84c0fc4f333f25455829e98e535b77a4a5c 100644 (file)
@@ -1,5 +1,7 @@
 [Unit]
 Description=Xserver startup without a display manager
+After=systemd-udev-settle.service
+Wants=systemd-udev-settle.service
 
 [Service]
 EnvironmentFile=/etc/default/xserver-nodm