Never done this myself, but I believe gamescope should be able to do that? It should be able to run as the primary Wayland compositor and with the right flag you can expose Wayland to the client.
Gamescope is a microcompositor from Valve that is used on the Steam Deck. Its goal is to provide an isolated compositor that is tailored towards gaming and supports many gaming-centric features ...
Whoa! That does sound like exactly what I was looking for. Thank you so much, ill give it a try tomorrow!
Wayland isn't going to be your issue if you're saying you're building something from scratch. It's pretty lightweight on its own, because it's just a framework of libraries and APIs.
The compositor and environment you build around that is what will be taking the majority of resources to run whatever rinterface you're going to have.
Sway is fairly minimal, but if you just run a bare compositor layer and figure out a launcher from there, it would be lighter. But you're talking about Megabytes of difference, so it's not going to be much different.
Edit: also, I was assuming you're asking about memory, but could be wrong.
Yea, i figured it wouldn't make much difference. I was talking more about a minimal setup in terms of not having features like multiple workspaces and such.
I'm aware how stupid this question is, as sway, as stated in the post, does everything as intended. I guess just asking if anybody know a "kiosk compositor" with like no features at all?! Which would be a tiny bit more fitting for my use case. Just a way to start a game directly using wayland from the terminal.
I think you're unfamiliar with the general ideas around exactly what a display is in an OS, so don't be offended if I break it down:
In Windows, there is only THE compositor, meaning no separate distinction from one process or another, it's all the same display process as far the OS goes.
In MacOS, there is the compositor (the screen display manager) that loads first, and everything after that is a subprocess that handles different things: login security, window management, launcher, search...etc.
In Linux everything is generally separate. Your first login screen is its own process, which then calls another process to load your DE or whatever, and then everything is handed off after that.
If all you want is a "Kiosk Mode", you just skip everything else. No display manager, login manager, DE...etc. You just boot the kernel, and have a compositor load. That compositor will then be responsible for displaying what you launch from there. So you Daisy chain things like that, and skip all the stuff you don't need.
I wanted to do the same for a dedicated jellyfin player box; a defunct laptop or mini PC that boots straight into the jellyfin-media-player (jellyfin desktop nowadays) in TV mode and was looking for just the bare minimum of packages to achieve this. gave up, curious how others solved it.
Weston can be configured to use a kiosk shell, which is fairly minimal
Linux
A community for everything relating to the GNU/Linux operating system (except the memes!)
Also, check out:
Original icon base courtesy of lewing@isc.tamu.edu and The GIMP