Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Wayland is a protocol. The problems people complain about are generally implementation details specific to GNOME or KDE or (in general) one particular implementation.

I feel like at some point this is a cop-out. Wayland is a protocol but its also a "system" involving many components. If the product as a whole doesn't work well then its still a failure regardless of which component's fault it is.

Its a little like responding to someone saying we haven't reached the year of linux on the desktop by saying: well actually linux is just the kernel and its been ready for the desktop for ages. Technically true but also missing the point.



Wayland. Solving yesterday's problems, tomorrow.


unlike x which couldn't solve yesterdays problems.


X is fine, most of the problems people bring up are niche and minor. Meanwhile, Wayland induces problems of its own, like breaking all sorts of accessibility systems and multi-window X applications with no solution in sight.


To be fair this wayland issue is also niche. Author of the linked article wrote that this is reported by really small percentage of users most of the people do not notice it.


    > multi-window X applications
I believe you. Can you share an example? To be clear, I'm pretty sure this can be done with Gtk and Qt, but maybe you are talking about older apps written directly in Xlib or Xt?


It's not the toolkit (as they work on X11 and other OSes with the existing toolkits), it's Wayland that's the issue (there are a series of Wayland protocols to implement this, but they are being blocked).


The key detail in the “Wayland is a protocol” is that there are several other implementations, some of them extremely mature. The implementation being tested here isn’t exactly know to be a good one.

If there were a single Wayland implementation in existence, I’d agree with your sentiment.


It's the implementation backed by Red Hat, which is probably the largest company in the Linux graphics space and the one employing the most experts.

It's also the implementation most unsuspecting users will end up with.


The author was using Gnome, which is meant to be the most mature Wayland implementation given its developed by Redhat which is also the same company that is the biggest driver of Wayland protocol.


What components? Wayland is literally an XML protocol that turns an XML file into a method of communication. libwayland-server and libwayland-client only handle communication and the internal event loop. Its completely up to the developer to write the implementations of these functions and register them in the server.

Then a client is going to query the server and ask request to do stuff via a unix socket. In fact, you don't even need libwayland, you can raw dog it over sockets manually. The idea is that there are standard protocols that can be queried and used,and you can implement this in any environment you want to. You could write the "frontend" in html and JS and run a wayland compositor on the web (which has been done [1]), you could do it with text or anything really, most people use some graphics stack.

[1] https://github.com/udevbe/greenfield


The components are:

- the compositor, of which there are multiple implementations (gnome, kde, all the wlroots compositors)

- the client, which often uses one of several toolkits (gtk, qt, several smaller frameworks, or even directly using the protocol)

- the wayland protocol (or rather protocols, because there are several extensions) itself

- other specifications and side channels for communication, in particular dbus.

Many issues (although I don't think the one in OP) are due to the protocol being underspecified, and so the client and compositor disagree about some semantics, or doesn't even have a standard way to accomplish something across all compositors.


Nit: Wayland isn't an XML protocol. The "calls" and their arguments are described in XML, but the data is transmitted in a fairly simple binary encoding.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: