[Buildroot] xorg with nodm/xdm init.d script conflicts causes blank screen

Tudor Holton tudor at smartguide.com.au
Fri Sep 13 06:24:52 UTC 2019

Hello awesome buildroot people, :-)

If I select the X.org server BR2_PACKAGE_XSERVER_XORG_SERVER and a 
display manager like BR2_PACKAGE_NODM, then I get 2 files in 

S40xorg which starts the server /usr/sbin/Xorg first and
S90nodm which then tries to start another copy of Xorg (to call 
/etc/X11/Xsession and get everything on the display).

Obviously, this doesn't work because nodm can't start a second X server, 
and the visual result is a black screen.  The only solution I can see is 
a post-build script to remove the S40xorg script to disable X and allow 
nodm to manage X.

I've tried looking for:
(a) A way to tell Xorg that nodm is the default application
(b) A way to tell nodm that an Xorg is already running (the S90nodm 
script reads /etc/default/* but NODM_XINIT is now ignored and there 
aren't any other obvious options to nodm)
(c) To use a different display manager, xdm, but they all seem to insert 
an init.d file that's in the range S90-S99 and follow the same 
presumption (that X has not started)

What's the best (future-proof) approach to getting a display manager 
working with X in buildroot?


P.S. (As an aside, why don't more buildroot init scripts use 
/etc/default config files?)

More information about the buildroot mailing list