"J. Aho" <gen...@kotiaho.net> writes:

> On 05/08/2024 18.30, Daniel Frey wrote:
>> Is it just me or is wayland nowhere near primetime?
>
> There are still issues with wayland, not sure how up to date this page is:
> https://gist.github.com/probonopd/9feb7c20257af5dd915e3a9f2d1f2277

it's either out of date or fearmongering.  I'd presume the former if not
for the first emphasised paragraph of the post: "DO NOT USE A WAYLAND
SESSION! Let Wayland not destroy everything and then have other people
fix the damage it caused. Or force more Red Hat/Gnome components (glib,
Portals, Pipewire) on everyone".

but, each "point" it makes can individually be debunked also.  I'm not
very interested in doing that beyond oneliners though (which is
apparently enough for the author of the original post).

- Wayland is broken by design - X is and has been for decades.
  - A crash in the window manager takes down all running applications -
    a crash in X takes down all running applications.  only the label of
    what crashed differs
  - You cannot do a lot of things that you can do in Xorg by design -
    irrefutable as it is not specific enough (but, it is true that a lot
    of hacks X allows aren't permitted in wayland)
  - There is not one /usr/bin/wayland display server application that is
    desktop environment agnostic and is used by everyone (unlike with
    Xorg) - correct, this is also true of X WMs, and though people
    pretend all X desktops worked the same, anyone who has used a Java
    program, for instance, knows this is false
  the following point is the same

- Wayland breaks screen recording applications - this is false, either
  1) screen recording works via portals, or 2) screen recording works
  via xwaylandvideobridge

- Wayland breaks screen sharing applications - same as above

- Wayland breaks automation software - see libei, I also have remote
  input working via kde connect, which relies on the same mechanisms
  automation would rely on

- Wayland breaks Gnome-Global-AppMenu (global menus for Gnome) -
  possibly, I don't know, I don't use GNOME or global menus

- Wayland broke global menus with KDE platformplugin - just tried krita,
  seems to works fine

- Wayland breaks global menus with non-KDE Qt platformplugins - tried
  qtdesigner, seems to work fine

- Wayland breaks AppImages that don't ship a special Wayland Qt plugin -
  I'm not sure what was anticipated - shipping outdated libraries will
  invariably break.  note that Qt also doesn't work on X if you delete
  the XCB plugin.

- Wayland breaks Redshift - this is true, but redshift isn't that
  special - I have redshift functionality in KDE, I had it in Sway, I
  know for a fact it's there in GNOME, just the redshift program is
  broken

- Wayland breaks global hotkeys - they never worked, and continue not
  to, the reasoning for not allowing the hack X allows is quite good,
  see
  https://drewdevault.com/2019/02/10/Wayland-misconceptions-debunked.html

- Wayland does not work for Xfce? -
  https://wiki.xfce.org/releng/wayland_roadmap

- Wayland is biased toward Linux and breaks BSD - I've seen and worked
  on hobby OSes that implement Wayland just fine.  obviously, porting is
  required (and it was required for X, eg OpenBSD still has homebrew X),
  but AFAIK freebsd runs wayland, and I know at least of one wayland
  desktop supports freebsd.  it is ironic to bring up bsd when one of
  the arguments is "everyone has to reimplement basic functionality"
  given BSD kernel diversity, though

- Wayland complicates server-side window decorations - CSD seems logical
  to me, at least in large part, so I'm not sure this actually matters.
  however, I know that SSD support exists.

- Wayland breaks windows rasing/activating themselves - good!  this is
  popup prevention, and doesn't actually impede *any* valid activation
  (window alerts still work, fresh apps windows will still come into
  focus, so do popups, etc, just fine)

- Wayland breaks RescueTime - yes, because it relies on clients spying
  on eachother

- Wayland breaks window managers - I'm not sure what they mean here

- Wayland requires JWM, TWM, XDM, IceWM,... to reimplement Xorg-like
  functionality - libraries exist.  note that WMs aren't no work either.
  anyone who has written one will be able to tell you that there are a
  lot of workarounds to implement to get WMs to work fine.

- Wayland breaks _NET_WM_STATE_SKIP_TASKBAR protocol - unsure, really,
  literally never had to do that.  i'll trust the electron devs on it
  not existing though

- Wayland breaks NoMachine NX - I'm not sure what this program is
  either, it seems to be remote desktop, and according to the linked
  post it works now?  /me shrugs - wayvnc exists anyway (for wlroots,
  IIRC KDE implements RDP)

- Wayland breaks xclip - I was able to edit my clipboard with it, so I
  don't know what they mean.  xwayland certainly forwards the clipboard

- Wayland breaks SUDO_ASKPASS - what?

- Wayland breaks X11 atoms - cars break horse saddles

- Wayland breaks games - i played elden ring earlier today.  there's
  this myth of forced double buffering on wayland that I presume is
  related, I'm not sure where it stems from but it's quite untrue.  even
  adaptive sync on my freesync display worked fine.  I do not know the
  intricacies of display syncing but I am 100% certain that double
  buffering is not forced

- Wayland breaks xdotool - correct, actually; and unsurprisingly,
  similarly to rescuetime, xdotool relied on protocol flaws to work,
  libei exists to replace it

- Wayland breaks xkill - not really surprising, again, since it exploits
  flaws in X.  ISTR hitting a button accidentally that gave me a 'kill
  window' in my plasma wayland session, though, so I'm sure similar
  functionality exists

- Wayland breaks screensavers - ironically, those never worked on X, but
  do on wayland, because the compositor can actually redirect keys
  properly rather than trying to patchwork around X

- Wayland breaks setting the window position - yes, intentionally,
  wayland is declarative wrt window positioning (you might notice that
  if you right click, the popup position is as you'd expect - this is
  because the client tells the compositor where /relative to a surface/
  it wants some other surface to appear, rather than a global position).

- Wayland breaks color mangement - did this ever work on X?  unsure,
  but I know HDR was being worked on recently.  my display is a regular
  RGB 24-bit display so I do not know how well it works.

- Wayland breaks DRM leasing - decently sure this was implemented in
  wlroots, kde and gnome some years back, but I don't have the hardware
  to test.

  > "not all" highlights one of the fundamental problems with Wayland -
  > there is fragmentation

  not all X servers implement <XYZ>, not all X WMs implement <ABC>
  (e.g. again dwm doesn't implement EWMH).  this isn't new

- Wayland breaks In-home Streaming - I'm not sure what this means, but
  they cite steam remote play (together), a feature that I used on kde
  wayland, so there's that

- Wayland breaks NetWM - so do X WMs (dwm for instance)

- Wayland breaks window icons - this is true actually, I found it
  surprising but not particularly important since you can still have
  functional window icons (and I see a window icon on the very window
  I'm typing this in) by providing a desktop file

- Wayland breaks drag and drop - I'm really not sure what to say here -
  I've used that feature.

- Wayland breaks ./windowmanager --replace - X lacks --replace, but kwin
  and probably others don't

- Wayland breaks Xpra - probably true but I never used Xpra so I can't
  be sure

what these kinds of posts omit is that X is fundamentally broken and
misfit to modern systems.  the code is also unmaintained and not the
greatest.  the creation of wayland wasn't accidental, nor was it some
ploy to undermine the desktop, nor ...

there's a new graphics stack because the old one didn't work, and I'm
not sure where this kind of response to it comes from - it seems similar
to the systemd debacle.  see also
https://www.youtube.com/watch?v=GWQh_DmDLKQ (by a former X developer,
so, someone with qualifications)

what these posts /also/ lack is enthusiastic contributors who'll
actually pick up the mantle of maintaining and improving X.

I have been using wayland for probably four or so years now, and I've
only so far missed a standard for global shortcuts (note, a _standard
for it_, not a hack-job allowing clients to listen to keystrokes
globally and react to them, leading to weird conflicts and fragmented
configuration; something integrated into desktops, that's not a job of
individual clients to implement, so, really, I'm missing that in X also).

> My SailfishOS based phone uses wayland and on that it's been working fine, on
> my desktop with a nVidia RTX I haven't managed to even login into a wayland
> session,

hmm, on my 1050Ti PC I run kde plasma just fine.  I don't know anyone
with an RTX card to ask them if it works for them, though - but it could
be some misconfiguration (you need some USE flags on the nvidia drivers
IIRC, and some compositors, like sway, require an extra flag).

> but on my laptop with i915 it works fine most of the time and it leave
> me think that the developers behind wayland are mainly using intel
> graphics cards and then blame the graphics driver when things don't
> work on other hardware.

not really - all the drivers in mesa are supported by most developers,
and frequently tested.  I actively use NVidia, AMD and Intel cards, and
out of those, NVidia is the only one with occasional bugs (which are, no
doubt, in the driver..)

> I would say for general use wayland ain't up for it's task, if you have the
> right hardware and you mainly use the browser, then it works.

i don't have the right hardware (proprietary nvidia card as i
mentioned), nor do i primarily use the browser (i work a lot of gtk and
qt programs, and I know wine also works fine, probably through
xwayland), so I have to disagree.

have a lovely day
-- 
Arsen Arsenović

Attachment: signature.asc
Description: PGP signature

Reply via email to