Lack of tutorials and guides...

Cestarian Inhabitant cestarian at gmail.com
Sat Apr 30 18:37:16 UTC 2016


I've been wanting for a while now to get started with developing my
own Wayland Compositor/Window Manager/Shell. And I honestly can't find
much in the way of "how tos" or "getting started with wayland
development" or well, anything.

The only "official" tutorial or educational material seems to be the
weston project.

The problem with the weston project is that it is HUGE and clunky, it
might be ok as reference materials for someone who is already well
along his way developing a wayland shell but needs some features that
the weston shell has and he doesn't, other than that it is a useless
(and might I add way too poorly commented) material that can never
serve as anyone's starting point unless that someone has an unhealthy
amount of patience.

This simply won't do. There may be some enthusiast or hobbyist created
smaller compositors (swc), usually very incomplete and often including
buggy features, that people are often trying to use as a starting
point, but all in all it seems like people often either progress very
slow or just give up on developing their wayland compositorss (I mean
it has to speak volumes that the only projects that are seriously
making any sort of progress on the wayland front are Gnome and KDE,
and despite the size of their development teams they are facing major
hurdles (although that may be to be expected for porting such big
projects)) there's also of course the (also slowly progressing)
enlightenment project. These projects are all respected and have
sizable and active development teams beforehand (we aren't seeing many
smaller projects that are perhaps going in a direction similar to
openbox or xmonad succeeding very much, they are there, yes, very
many, yes, but none of them is 1.0, none of them is usage ready)

None of these are good starting points either, it's not because
they're impossible to learn from, it's more because they weren't
intended that way.

I believe that this may be holding back the progress of wayland quite
a lot, and slowing down the rate at which people who might want to use
it are transitioning to it from X11, especially on the developer side.

I would love it if someone would take it upon themselves to build such
an educational project which is meant to serve as a starting point for
developers who want to develop a wayland compositor of their own, or a
wayland compatible application (that may be using it's own GUI
framework (e.g. not Qt or GTK or EFL or SDL...))

It would most definitely accelerate the adoption of wayland, increase
wayland projects, and increase the amount of people who may start
doing experimental projects on wayland.

If no one is up for the task, I personally would be willing to do
this, but I can't because I don't understand wayland at all at this
point. If someone could teach me the knowledge needed to create the
most basic, simple wayland compositor possible (a desktop shell that
can be successfully executed and run from a console, and is capable of
opening windows; it doesn't need to have decorations or anything to
begin with), or at least create and share such code, code that is easy
to understand and well commented with as few lines and few project
files as is realistically possible for such a compositor, I would be
very grateful and after testing and understanding it (playing with it)
I would personally create my own version of such a project along with
tutorial material (guides) to show other people how to get started
from an empty project file to a functional and usable wayland shell.
Hell, I might even make a video tutorial.

So please, someone, explain wayland to me. (The ideal programming
languages for this would be either C or C++ (highly compatible, very
widely used and very widely recognized by all programmers), graphical
code can be whatever language (Preferably GLES/EGL for maximum
compatibility, and easier than vulkan as a starting point)) so that I
can explain it to everybody else.

Am I asking too much? Or will somebody help me try to ignite a wave of
wayland development hobbyists so that Linux can again become as
diverse and cool as it used to be back in the day with endless choices
between desktop environments?


More information about the wayland-devel mailing list