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? _______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
