I have tried following this thread in order to get sway running. Initially, I noticed that gtkgreet doesnt work, and I am simply met with a blank tty. Next, I tried using the supplied wayland-session script to get sway running from a tty rather than via greetd, however, this simply gives me the error:
 [wlr] [backend/x11/backend.c:409] Failed to open xcb connection
As far as I understand this is an issue with xwayland. I have also tried this with other window managers such as River, and the same issue persists.

I am aware that the scripts to get sway working arent official to Obarun packages, howecer, perhaps someone is still able to help me with this issue?
Back when this discussion started with sway and seatd I got it running, I think in that same thread I uploaded a screenshot of sway running. Going back to that trial installation and upgrading I can't get it running again, but I also can't remember what was the trick to get it running in the first place.

I get this error in all my trials
sway: symbol lookup error: sway: undefined symbol: wlr_xwayland_surface_from_wlr_surface
like a piece in the wlroots library is missing that relates to xwayland

I tried building the AUR pkg with no-xwayland-nosystemd if I achieve anything I'll let this thread know.

I now tried the hi-dpi AUR pkg with systemd turned off, seat enabled for seatd, a similar but different error comes out
sway: symbol lookup error: sway: undefined symbol: wlr_box_rotated_bounds
I myself tried building an xwaylabd package without systemd, but it gave me the same error message as in my original post. I wonder what is causing this issue with xwayland.
This is what I have installed in terms of xcb

libxcb
xcb-proto
xcb-util
xcb-util-errors
xcb-util-image
xcb-util-renderutil
xcb-util-wm
I have all the same packages as well as:
xcb-util-keysyms
So I am not sure what is causing my issue. The exact same packages work within a base Arch VM, so it might have to do with systemd.
I haven't searched deep enough in how the boot-user@ module runs seatd, maybe seatd needs a service file as seatd@ -66serv where you enable seatd@ <user> and runs as seatd -u <user>

I'm giving up right now as other priorities take over and I shall wait for the grand-masters to do their magic so it will work again.
I'm not sure that the problem come from what you guess guys.
Look this commit: https://github.com/archlinux/svntogit-community/commit/68d3ae2cf5decd2c620cb781a237d1d87fa746ef# diff-37538beb61ff63edebbf735dfcf39e5d732f49183d6beb097169d971875ca422R57
Archlinux dev now force the use of libsystemd instead of leaving the options by default.
According to https://github.com/swaywm/sway/blob/master/meson_options.txt# L11 you have the choice between libsystemd, elogind or basu.
Basu is the "less worse" here: https://github.com/emersion/basu
So you should first rebuild the sway package before trying anything else...
Just tried rebuilding the Sway package with basu, unfortunately, the same issue persists... Perhaps my issie and fungal_net issues aren't related?
I tried for hours, to build sway from the sway-git pkg, leaving systemd out, the error I get is wlroots needs to be larger/= to 1.15 less than 1.16, but latest release is 14.1 they say everywhere that the builds should be parallel to each other for it to work.

I give up, it is a can of worms of endless waste of time, back to my xorg-xinit + wm
Not sure if this is the issue fir you, but sway-git depends on wlroots-git. However, I too will be dropping my attempt to get sway (or the compositors) to run, as nothing within my ability seems to solve the issue.
You can substitute wlroots-git dependency with wlroots as built by obarun, it is the latest release as of 2 days ago that I looked.
The problem is that somehow internally the src looks for an even later version of wlroots than is available. Building wlroots-git based on the obarun PKGBUILD didn't help either ... so I gave up.

I went to void since it is "systemd - free" to see how sway-wl work there, totally forgot that they are using elogind, even though the source doesn't require it. So that was a waste of time.
4 days later
Wasn't aware Obarun provided a later release then Arch. Might try to get Sway to work one last time this weekend, before sacking Sway W/O (e)logind.
To find out what is wrong I made a void installation with s6 and 66 so I can run user services that can't run with runit.

I am close but still can't get it to run, with elogind running, with seatd running, with both, with neither, it still gives similar errors to wlr here. So maybe we should wait for editions to roll.

Obarun doesn't build sway, it doesn't need to, it builds wlroots, and nearly all obarun sw are one rel higher than arch so it can't be replaced as easy or by mistake, so wlroots is the same version with arch but one release higher

obcommunity/wlroots 0.14.1-2
community/wlroots 0.14.1-1

0.14.1 is the sw version from upstream -1 -2 are release numbers.
Okay, I misunderstood what you meant.

I could get Sway to run under a X11 session, but still can't get it to run from tty, so I still believe that my issue is related to connecting to xwayland.

With (e)logind on an Artix install with 66 Sway runs fine. Haven't tested with seatd, will test that later.
> I could get Sway to run under a X11 session

Can you shed some light exactly how you are doing it and what root/user services are running with it?
"Weston has several backends as loadable modules: it can run on Linux KMS (kernel modesetting via DRM), as an X client, or inside another Wayland server instance."
Weston is the reference Wayland compositor, but sway also seems to have the abillity to run as an X client.
I am starting X via startx on tty1
Regarding services:
User:
Name         : root
Initialized  : yes
Enabled      : yes
Starts after : None
Current      : yes
Allowed      : username
Symlinks     : svc->source db->source
Contents     : /
               ├─(3144,Enabled,longrun) dbus-session@ username-log
               └─(3148,Enabled,longrun) dbus-session@ username

Name         : audio
Initialized  : yes
Enabled      : yes
Starts after : root
Current      : no
Allowed      : username
Symlinks     : svc->source db->source
Contents     : /
               ├─(3165,Enabled,classic) spotifyd-log
               ├─(3166,Enabled,classic) spotifyd
               ├─(3188,Enabled,longrun) pipewire-log
               ├─(3192,Enabled,longrun) pipewire
               ├─(3187,Enabled,longrun) pipewire-pulse-log
               ├─(3199,Enabled,longrun) pipewire-pulse
               ├─(3186,Enabled,longrun) pipewire-media-session-log
               └─(3200,Enabled,longrun) pipewire-media-session
Root:
Name         : boot
Initialized  : yes
Enabled      : no
Starts after : None
Current      : no
Allowed      : root
Symlinks     : svc->source db->source
Contents     : /
               |-(212,Enabled,classic) tty-earlier@ tty12
               |-(up,Enabled,oneshot) system-hostname
               |-(up,Enabled,oneshot) mount-run
               |-(up,Enabled,oneshot) populate-run
               |-(up,Enabled,oneshot) mount-tmp
               |-(up,Enabled,oneshot) populate-tmp
               |-(up,Enabled,oneshot) mount-proc
               |-(up,Enabled,oneshot) mount-sys
               |-(up,Enabled,oneshot) populate-sys
               |-(up,Enabled,oneshot) mount-dev
               |-(up,Enabled,oneshot) mount-pts
               |-(up,Enabled,oneshot) mount-shm
               |-(up,Enabled,oneshot) populate-dev
               |-(up,Enabled,oneshot) mount-cgroups
               |-(up,Enabled,bundle) 00
               |-(up,Enabled,oneshot) system-hwclock
               |-(up,Enabled,oneshot) modules-kernel
               |-(up,Enabled,oneshot) system-random
               |-(up,Enabled,oneshot) modules-system
               |-(up,Enabled,oneshot) system-sysctl
               |-(260,Enabled,longrun) udevd-log
               |-(430,Enabled,longrun) udevd
               |-(up,Enabled,oneshot) udevadm
               |-(up,Enabled,oneshot) system-fontnkey
               |-(up,Enabled,bundle) all-Mount
               |-(up,Enabled,oneshot) system-fsck
               |-(up,Enabled,oneshot) mount-fstab
               |-(up,Enabled,bundle) all-System
               |-(up,Enabled,oneshot) mount-rw
               |-(up,Enabled,oneshot) mount-swap
               |-(up,Enabled,oneshot) mount-netfs
               |-(up,Enabled,oneshot) local-loop
               |-(up,Enabled,oneshot) local-sethostname
               |-(up,Enabled,oneshot) local-time
               |-(up,Enabled,oneshot) local-authfiles
               |-(up,Enabled,oneshot) local-tmpfiles
               |-(up,Enabled,oneshot) local-dmesg
               |-(up,Enabled,bundle) all-Local
               |-(up,Enabled,oneshot) all-Runtime
               |-(up,Enabled,bundle) All
               |-(up,Enabled,bundle) All
               |-(1317,Enabled,longrun) tty-rc@ tty2
               |-(1318,Enabled,longrun) tty-rc@ tty1
               `-(up,Enabled,module) boot@ system

Name         : default
Initialized  : yes
Enabled      : yes
Starts after : None
Current      : yes
Allowed      : root
Symlinks     : svc->source db->source
Contents     : /
               |-(1051,Enabled,classic) sshd-log
               |-(1050,Enabled,classic) sshd
               |-(1067,Enabled,longrun) dbus-log
               `-(1071,Enabled,longrun) dbus

Name         : network
Initialized  : yes
Enabled      : yes
Starts after : default
Current      : no
Allowed      : root
Symlinks     : svc->source db->source
Contents     : /
               |-(1051,Enabled,classic) sshd-log
               |-(1050,Enabled,classic) sshd
               |-(up,Enabled,oneshot) ufw
               |-(1102,Enabled,longrun) connmand-log
               `-(1108,Enabled,longrun) connmand

Name         : user
Initialized  : yes
Enabled      : yes
Starts after : default network
Current      : no
Allowed      : root
Symlinks     : svc->source db->source
Contents     : /
               |-(up,Enabled,oneshot) setenv@ username
               |-(1211,Enabled,longrun) svscan@ username-log
               |-(1233,Enabled,longrun) svscan@ username
               |-(up,Enabled,module) scandir@ username
               |-(up,Enabled,oneshot) mount-run@ username
               `-(up,Enabled,module) boot-user@ username

Name         : graphical
Initialized  : yes
Enabled      : yes
Starts after : default network user
Current      : no
Allowed      : root
Symlinks     : svc->source db->source
Contents     : /
               |-(up,Enabled,oneshot) setenv@ obgreet
               |-(1275,Enabled,longrun) svscan@ obgreet-log
               |-(1309,Enabled,longrun) svscan@ obgreet
               |-(up,Enabled,module) scandir@ obgreet
               |-(1276,Enabled,longrun) seatd-log
               |-(1286,Enabled,longrun) seatd
               |-(up,Enabled,module) console-tracker@ seatd
               |-(up,Enabled,oneshot) mount-run@ obgreet
               |-(1277,Enabled,longrun) greetd-log
               |-(1293,Enabled,longrun) greetd
               |-(up,Enabled,module) display-manager@ greetd
               `-(up,Enabled,module) boot-user@ obgreet
Trying to start sway from a different tty, while X11 is already running, the errors presented in my original post are no longer there, yet Sway doesn't start either. Instead, there are two new errors related to systemd and swayidle, which itself depends on systemd, but I don't think they should be fatal to the Sway session.
/bin/sh line 1: swayidle: command not found
/bin/sh line 1: systemctl: command not found
Still haven't tried seatd on Artix, but at this point I am in far over my head, and have no clue how to proceed even if it works.
Nothing to do with your trouble about sway, but make a choice: enable sshd to the default tree or to the network tree, not both of them :).
wlroots on artix or void is compiled with the use of elogind, so it is a different story, I don't know how it would act with seatd running and elogind not running.

I don't have greetd and display-manager@ running, would this make any difference?
Except for dm and audio stuff, my attempted setup is identical, and I can't get it to start from an X session. Maybe my sway config needs attention.

Also I haven't created a seatd service file yet, I am just starting it on a different tty.
@ eric
Thank you, I did not notice I had sshd enable in multiple trees.

@ fungal_net
Didn't consider Artix' wlroots being compiled with (e)logind support.
In regards to the services. None of them need to be running, greetd shouldn't be neccesary, and neither should display-manager@ . In my case, display-manager@ is responsible for my seatd service as well, but I can still run Sway from within an X seesion if I start seatd from a different tty. In fact, Oddly enough,I can start Sway from within an X session even when seatd isn't running at all. All service files which I have to start greetd and seatd come from this post, more specifically this here
I am not sure if anything your config could be causing this issue.

Powered by Obarun