Hi, I'm just playing around and trying to learn building a Wayland compositor, initially I found wlroots (C version) and then found wlroots Rust crate (bindings to C), later on I have found Smithay this appears to be the way to go?
However I'm struggling with understanding all the various moving parts!
I have tried compiling and running the anvil example, but I can not get this working inside a VM (bare Arch install no DE) guest, it runs but panics at runtime (using the tty-udev backend, I have used both virtualbox and qemu, both fail in the same way).
But I know compositors like Niri can work inside a VM just fine (and it uses Smithay).
The documention seems, scattered and either too low level (granular detail about the...
Hi, I'm just playing around and trying to learn building a Wayland compositor, initially I found wlroots (C version) and then found wlroots Rust crate (bindings to C), later on I have found Smithay this appears to be the way to go?
However I'm struggling with understanding all the various moving parts!
I have tried compiling and running the anvil example, but I can not get this working inside a VM (bare Arch install no DE) guest, it runs but panics at runtime (using the tty-udev backend, I have used both virtualbox and qemu, both fail in the same way).
But I know compositors like Niri can work inside a VM just fine (and it uses Smithay).
The documention seems, scattered and either too low level (granular detail about the Wayland protocol) or just high level APIs, there doesn't seem to be any middle ground.
I'm a little torn, on the one hand, I just want to start from the absolute bottom and write the Wayland protocol from scratch (to better understand it), but at the same time as the wlroots tag lines says it's 6K LoC you will end up writing anyway (and in my case badly ๐คฃ ) and on the flip side, the impatient side just wants to impl some layout logic and let the framework/library do all the heavy lifting, but from what I understand Smithay isn't at that level yet and more like the low level Lego blocks.
I guess the wlroots feels about right in terms of abstraction level, but the repo seems to be archived and suggests using Smithay instead ๐
Any direction/documentation would be appreciated ๐