Re: [dev] Wayland compositors

From: Kyryl Melekhin <k.melekhin_AT_gmail.com>
Date: Thu, 16 Sep 2021 18:36:58 +0000

Hello guys,

I recently tried out Wayland and here are some of my thoughts.
They market it as a "shiny new object". OK. So I compiled all the libs,
and tried the dwl compositor. I like suckless and dwl supposed to be
like dwm but on wayland.

Let's perform a simple test: I open the foot terminal (which is supposed
to be like st but on wayland) and try resizing it. And you as you may guess
that crap lags like it's the 1980's on modern hardware. I do the same thing
under X11 and it is a way more pleasant experience. This is enough to tell
me everything about why wayland sucks. It does not matter, you can say it
does not happen on sway because they implemented something like
Xdamage into the compositor. But the problem is that 90% of the
wms/compositors don't.This is the most fundamental feature wayland
should have - good handling of resize in the damn protocol.
Shows a lot about the design being flawed, have they not learned that
in the 40 years of experience?

I can't just write a program that would run under wayland without
requiring implementation of a specific compositor. If I want to guarantee
that my program won't lag like it's 1980.

I actually quite like the software rendering done by X11, I want to be
able to draw font's and not write entire opegl/vulkan renderer for
font's from scratch. Wayland devs don't care about those because
they live in a bubble where everything is Chrome, Gnome, Kde, etc
where "nobody will ever use this". But it turns out that if you do the math,
there are a lot more programs using X11 to draw stippled lines,
polygons, and wide arcs than there are number of programs in their
perfect world bubble.

I want to have the ability to choose what X11 extensions to use on my
system. The freedom of choice under X is far greater in terms of
customization.

I commend them for trying to keep the protocol small and all.
But if that protocol can't do basic things why do we even need it?
It's redundant because I can just use linux framebuffer and
implement everything myself. I don't need their protocol if
it does not provide enough common functionality, it's just
bloat.

Imagine what they could have done if they just spent 10 years
optimizing every single line of code in X? Push forward for a new
X12 standard, move "weird stuff" into libraries, make it more modular.
They have been doing that in fact they did shrink the code base
to around 500K from 1M in a matter of years. It really looks like somebody
just decided to evade responsibility to favor the investors.
Because at the end of the day, optimization is hard and nobody
cares about half a century old protocol in this "modern world".

You don't have to start from scratch to make something better,
you just have to be stubborn and keep working on the project.

Imagine what would've happened to linux if Linus Torwalds
decided to rewrite the kernel from scratch the next day?
It would have been a complete disaster and failure, it be taking
one step forward and five backwards.

Hopefully you guys can tolerate some of my opinions here.
This is just my first impression, I used Wayland for 5 minutes,
to realize that it is not for me. Not to mention that I would have
to put in a crazy amount of time and work to get back
my x11 workflow on wayland.

And remember, always follow unix philosophy - go for
what works first, optimize it later.

Kind Regards,
Kyryl.
Received on Thu Sep 16 2021 - 20:36:58 CEST

This archive was generated by hypermail 2.3.0 : Fri Sep 17 2021 - 01:12:07 CEST