Starting with 1.16 xorg-server runs as a regular user (probably only with systemd, I’m not really sure). Because of the way logind handles sessions, after a tty login X server must be run only on the same tty, otherwise the session won’t be able to access some devices (e.g. sound). Necessary logic was implemented in `startx` in xinit-1.3.4 (44915d69).
Sorry, things got slightly mixed in my head. What I descirbed happens to me even with xorg-server-1.15.2. So it might be better to solve this by making systemd conflict with <x11-apps/xinit-1.3.4 or the other way around. I think that >=xorg-server-1.16 will refuse to start at all when launched by `startx` as an ordinary user, I’ll test this in a few hours and get back. Should I probably file a separate bug for this?
Yes, >=x11-base/xorg-server-1.16.0 segfaults with old `startx`. Also, turns out, this was fixed by Gentoo in =x11-apps/xinit-1.3.3-r1 (bug 451956), so I’ll update the title. Again, <xorg-server-1.16.0 has some issues (e.g. sound devices are inaccesible) when it is started on a wrong tty and >=xorg-server-1.16.0 segfaults in this case. Both issues are fixed by >=x11-apps/xinit-1.3.3-r1. Could we increment the version of xinit in the deps of >=xorg-server-1.16.0 (>=1.3 now, should be >=1.3.3-r1) when it is installed with systemd USE flag? Prior versions of xorg-server don’t have the systemd USE flag, so as I said earlier making systemd conflict with <x11-apps/xinit-1.3.3-r1 (or the other way round) is an option.
I've updated 1.17.0, 1.17.1, and the 9999 ebuild in the overlay.