For instance, it seems to me that Wayland require udev, though I don't know
if it's actually required in the protocol.
udev is used to detect devices:
https://en.wikipedia.org/wiki/Wayland_%28display_server_protocol%29#/media/File:Libinput_for_Wayland_compositors.svg
But it did not disappear. It was incorporated into systemd. On the contrary,
udev has never appeared on BSD!
Wayland was mainly intended to run on Linux. This time, the main Linux
feature that is wanted is Kernel Mode Setting (KMS):
https://en.wikipedia.org/wiki/Mode_setting
FreeBSD and OpenBSD have KMS for Intel and Radeon GPUs. A port of Wayland to
FreeBSD was started:
http://www.phoronix.com/scan.php?page=news_item&px=MTMwMzE
Wayland uses some features of systemd-logind but it looks optional:
http://www.phoronix.com/scan.php?page=news_item&px=MTM4Mzc
http://www.phoronix.com/scan.php?page=news_item&px=MTQ0NTI
GNOME 3.16 is working on OpenBSD even with it's systemd dependency
GNOME does not depend on systemd's init. It has an optional dependency on
systemd-logind.
So systemd actually run with openBSD?
systemd's init cannot run on another kernel because cgroups are at the center
of this init and they are a Linux-only feature (until now). But, again,
systemd is an umbrella project. And a student worked on re-implementing some
of systemd's daemons, namely hostnamed, localed, timedated, and logind, for
OpenBSD: http://undeadly.org/cgi?action=article&sid=20140915064856
https://uglyman.kremlin.cc/gitweb/gitweb.cgi?p=systembsd.git has not received
any commit this year. The development may now happen elsewhere (or not).