00:50 crissdell: hi everyone, is there any guide or path, in order to create a compositor using wayland?
02:15 Ermine: crissdell: the easiest way will probably be using wlroots library. It has an example compositor, tinywl
02:19 Ermine: (and writing a wayland client first will help with understanding wayland architecture)
02:44 karenw: Writing a shm-based client using raw wayland-client is a very good first step for learning, yes.
02:53 soreau: there's https://github.com/emersion/hello-wayland as a simple shm example
03:32 crissdell: thanks Ermine so the right way would be first try to write the client first and then the compositor?
03:33 crissdell: sorry if i misunderstod i'm still learning :/
03:34 crissdell: thanks karenw and soreau
03:35 danieldg: crissdell: writing a client is just a way to make sure you understand the protocol
03:37 danieldg: you can write a client with only a few types of objects, and gradually add more
03:37 danieldg: if writing a server, you need to support almost all of wayland, plus xdg toplevel, in order to run basically any client
03:38 crissdell: gotcha danieldg, https://github.com/emersion/hello-wayland/blob/master/main.c i dont know if this the client o the real implementation of the compositor, i mean as I understood, the client communicates with the wayland server, its like an API and the compositor will communicate with this client to render windows
03:39 soreau: crissdell: it's the client
03:39 soreau: crissdell: this is a *basic* wlroots compositor using wlr_scene API https://gitlab.freedesktop.org/wlroots/wlroots/-/tree/master/tinywl
03:41 karenw: The compositor in wayland is the server, if you didn't already realise.
03:42 soreau: yea, the server provides a socket and sets WAYLAND_DISPLAY to its value, then apps using libwayland-client open the socket and talk to the server
03:42 soreau: you can see the communication on the wire using WAYLAND_DEBUG=1 ./client
03:48 crissdell: thanks guys for all your ideas, i'll start writing the client and experimenting!! :D
11:27 Luna_UbuntuSummit2024: https://youtu.be/byPpJW5l6pg
11:27 Luna_UbuntuSummit2024: Miriway talk