Why WLroots works with libxcb and probably not with libx, from https://github.com/swaywm/wlroots:
As for libweston, I believe I saw it somewhere vaguely described, but I remember the description lacking specific information. However, according to the sourcecode, it has include headers for libx and libxcb and related ones. https://gitlab.freedesktop.org/wayland/weston/-/blob/main/libweston/backend-x11/x11.c?ref_type=heads
In the defunct wlc directory, I saw x11 includes but no libxcb includes, which newer versions of libx need libxcb as it runs on top of it. wlc is defunct anyway, so if I glossed over libxcb includes, oh well.
I'm aware of Weston and WLroots being a part of Wayland's repository. Other compositors have all kinds of specific uses, there's even one for gaming. I haven't looked into other compositors including more recent ones, that were outside of the stewardship of Wayland repositories. It's possible there's more that support libx and libxcb throught XWayland. When I wrote earlier, I wasn't including that.
I'm all for an organization stewarding Weston and libWeston as a testbed, perhaps a permanent one, and one for temporary mainstream use. Others think it should be permanent for mainstream use, but after a time, maybe they'll see, something better needs to come forward. To note, Weston nor libWeston are in FreeBSD Ports at this time. If that's in, I believe we can start testing X11 on XWayland. Then see, if even if it's not built as streamlined as WLroots, maybe it would still beat X11. That would get the ball rolling. The lack of Weston/libWeston in Ports and the expectancy for other compositors to work fully with X11 through XWayland is probably why everyone claimed that no X11 applications worked on Wayland on FreeBSD.
I see Weston as comparable to the semi-retired F-117, which it's still used as a testbed, when there's more modern stealth aircraft. Weston (and libWeston) sitting in the Wayland repository needs a purpose, and testing and development is a perfect one. It has a perfect use right now, since its XWayland layer might work right now, where WLroots likely won't. As long as there's one X11 application which relies on libx, Weston will be definitely needed.
I did some previous research on libx, libxcb, XWayland, Weston, WLC and WLroots which is at Thread libxcb-x-c-binding-library.81694. The one specific to XWayland is on Post #6. From those old notes, FreeBSD didn't have an XWayland dependency on libx11. There's a lack of documentation and explanation on which applications work with XWayland, that I had to look through it, and make some parts clear. It may take others to verify, investigate, document and/or make it more clear.
If you want to know which X11 applications are in libxcb, and a few which are in pure libxcb, as the rest are in libx, for seeing which compositor they may theoretically work with, also see that thread from the previous paragraph. Now, it seems XWayland in Ports pulls in xorg which now pulls in both libxcb and libx.
Install dependencies:
In that code, I looked into a few headers, under include and xwayland directories and only saw includes for libxcb. It couldn't be expected to find libx includes since the documentation above only mentions libxcb libraries as dependencies. This is my theory for why many say X applications don't work on Wayland, and they weren't specific about which compositor they were using. It might be possible for libx applications to work on it, only because newer versions of libx use libxcb as a lower layer, but I have doubts.If you choose to enable X11 support:
- xwayland (build-time only, optional at runtime)
- libxcb
- libxcb-render-util
- libxcb-wm
- libxcb-errors (optional, for improved error reporting)
As for libweston, I believe I saw it somewhere vaguely described, but I remember the description lacking specific information. However, according to the sourcecode, it has include headers for libx and libxcb and related ones. https://gitlab.freedesktop.org/wayland/weston/-/blob/main/libweston/backend-x11/x11.c?ref_type=heads
In the defunct wlc directory, I saw x11 includes but no libxcb includes, which newer versions of libx need libxcb as it runs on top of it. wlc is defunct anyway, so if I glossed over libxcb includes, oh well.
I'm aware of Weston and WLroots being a part of Wayland's repository. Other compositors have all kinds of specific uses, there's even one for gaming. I haven't looked into other compositors including more recent ones, that were outside of the stewardship of Wayland repositories. It's possible there's more that support libx and libxcb throught XWayland. When I wrote earlier, I wasn't including that.
I'm all for an organization stewarding Weston and libWeston as a testbed, perhaps a permanent one, and one for temporary mainstream use. Others think it should be permanent for mainstream use, but after a time, maybe they'll see, something better needs to come forward. To note, Weston nor libWeston are in FreeBSD Ports at this time. If that's in, I believe we can start testing X11 on XWayland. Then see, if even if it's not built as streamlined as WLroots, maybe it would still beat X11. That would get the ball rolling. The lack of Weston/libWeston in Ports and the expectancy for other compositors to work fully with X11 through XWayland is probably why everyone claimed that no X11 applications worked on Wayland on FreeBSD.
I see Weston as comparable to the semi-retired F-117, which it's still used as a testbed, when there's more modern stealth aircraft. Weston (and libWeston) sitting in the Wayland repository needs a purpose, and testing and development is a perfect one. It has a perfect use right now, since its XWayland layer might work right now, where WLroots likely won't. As long as there's one X11 application which relies on libx, Weston will be definitely needed.
I did some previous research on libx, libxcb, XWayland, Weston, WLC and WLroots which is at Thread libxcb-x-c-binding-library.81694. The one specific to XWayland is on Post #6. From those old notes, FreeBSD didn't have an XWayland dependency on libx11. There's a lack of documentation and explanation on which applications work with XWayland, that I had to look through it, and make some parts clear. It may take others to verify, investigate, document and/or make it more clear.
If you want to know which X11 applications are in libxcb, and a few which are in pure libxcb, as the rest are in libx, for seeing which compositor they may theoretically work with, also see that thread from the previous paragraph. Now, it seems XWayland in Ports pulls in xorg which now pulls in both libxcb and libx.