xorg-server itself does not need libelogind/libsystemd to invoke the
logind D-Bus API. elogind/systemd-logind works for Xorg server when you
login: once you've logged in on a TTY, pam_systemd or pam_elogind
invokes systemd-logind or elogind to modify the ACL of the device node
of GPU for you:
$ getfacl /dev/dri/card1
getfacl: Removing leading '/' from absolute path names
# file: dev/dri/card1
# owner: root
# group: video
user::rw-
user:xry111:rw-
group::rw-
mask::rw-
other::---
Note that the "user:xry111:rw-" line allows the user logged in (in this
example, xry111, my user account) to operate on the GPU. If
systemd-logind or elogind is not installed, there will be no such a line
and you need to setuid bit for Xorg executable, which is not
recommended.
FWIW logind is smart enough not to add the ACL entry if you've logged in
via SSH.
You may need to logout and login again to use startx if you've installed
pam_{elogind,systemd} and Xorg server & xinit in a continous login
session, but this is already mentioned on xorg-config.xml.
You may ask why Xorg server links to libsystemd or libelogind. It uses
sd_notify and sd_listen_fds API so the Xorg server can function as a
socket-activated systemd service. This is useless in SysV: elogind is
a logind, not a service manager. In Systemd the libsystemd.so installed
in LFS should be enough, and we've never provided instructions to run
Xorg server in BLFS as a systemd service.
Reported-by: Rainer Fiebig <jrf@mailbox.org>
Tested on Intel HD Graphics 630.
I will add the intel-media-driver once I've finished testing it. So far
though, X is currently up. Note that the driver might also remove the
test failure for elements_vapostproc and elements_vacompositor from
gst-plugins-bad, but not sure on that yet. We shall see.
Adjust the description of man page Xserver.1: technically both Xorg and
Xwayland are in the category of "X server". The reason we don't install
it here is not "it's not a part of this package", but we don't want to
overwrite a man page from another package.
Remove the creation of /etc/X11/xorg.conf.d: "Xorg" is "another X
server" so technically Xwayland (and other packages except Xorg and the
Xorg drivers) should have nothing to do with it. In my last build
/etc/X11/xorg.conf.d is empty.
This sed is used to change the command for symlinking xorg to
base in /usr/share/X11/xkb/rules. But the default for the xorg
symlinks is false, and those symlinks have been deprecated since
2005...
Prompted by a question of r1c0n3r0 on #lfs-support
Also add the explanation for --buildtype