The Unintended Consequences #Linux's
#Wayland
Adoption Will Have on #BSD
https://fossforce.com/2024/07/the-unintended-consequences-linuxs-wayland-adoption-will-have-on-bsd/
The Unintended Consequences #Linux's
#Wayland
Adoption Will Have on #BSD
https://fossforce.com/2024/07/the-unintended-consequences-linuxs-wayland-adoption-will-have-on-bsd/
@governa Disclaimer: I never tried #Wayland, because I never saw a need to do so.
From what I understand, the thing that makes Wayland "non-portable" is being "hard-wired" to the kms/drm GPU driver interface of #Linux. It's not impossible offering that on a different OS, #FreeBSD is doing exactly that. It even uses the original drivers from Linux, they aren't GPL'd. Of course, they expect Linux in-kernel interfaces, FreeBSD has #LinuxKPI to provide what's needed:
https://wiki.freebsd.org/LinuxKPI
From what I read (forums, mailinglists, etc), Wayland is working fine on FreeBSD. And other operating systems could most likely do similar if they want to support Wayland.
I still hope for #X11 (or maybe even X12?) to survive. Wayland's major design goal was to do "nothing but compositing" and do that perfectly (with frame-perfect rendering). Sounds good. In my very humble opinion, it's *too* minimalistic to provide a good foundation for GUI software. You need a huge set of libraries dealing with other aspects (like e.g. input devices). I'd prefer to keep the good stuff of X and "modernize" it somehow. Unfortunately, it seems a lot of "developer capacity" has already been drawn from X towards Wayland. 😞
@samurro @governa KISS, like any principle, needs context to apply: What is "it" here? There's a set of requirements for a "desktop environment", which is very complex. One way to achieve KISS for something like that is a good break-down into "simple" modules. #Wayland set itself a very limited scope (more or less just compositing), so sure, that's a good start.
Looking at the whole system built around that, I have doubts that's really #KISS. We'll need input handling ( -> libinput, xkb), inter-client communication ( -> dbus), client rendering ( -> cairo et al), to name just a few obvious ones.
#X11 already has these aspects integrated. They're still organized into modules. Having all the aspects (almost) every "desktop app" needs available in the one server process has the potential to reduce overall complexity.
I know that's not where we are with "modern desktops" running on #X11. That's because X11 is full of "old cruft" not matching today's requirements (like its core drawing/input/fonts etc), while development of modern replacements (like #XRender) stalled ... at least partially because developers were drawn towards #Wayland instead. That still doesn't convince me Wayland is the better concept. 🤷