-
Notifications
You must be signed in to change notification settings - Fork 171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document how to write a custom backend #297
Comments
Well I guess this issue has two sides:
Smithays modules are very loosely coupled and especially more low-level modules usually expose a lot of implementation details to be as versatile as possible. That means you can plug different things together however you like and also easily insert your own code, but that also means that there is no common api for all the different backends. They share parts of the code (e.g. both the drm-backend as well as the winit-backend may utilize a
May I ask what backend you had in mind and where you would expect to find such documentation? That might provide a good ground to start writing something up. |
Qubes OS wants to switch from X11 to Wayland. This will require a Wayland compositor that uses the Qubes GUI protocol as a rendering and input backend. While the Qubes OS team could write a simple Wayland compositor “by hand” (without using any toolkits), such a compositor would only support the most basic Wayland protocols, so most advanced functionality would not work. This would result in a poor user experience. Therefore, I have decided to use a compositor toolkit. Currently, I am trying to choose between wlroots and Smithay. There are additional technical details that will result in this compositor being quite unusual:
|
Wow, thanks a lot for your interest! Before I start, I should warn you that wlroots is a much more advanced and mature project than Smithay, which is on some regards still pretty experimental. That said, if you're interested anyway, we'd be glad to work in collaboration to bring to Smithay the missing pieces you may need. From what you describe, it looks like the easiest route for you would be to simply not use the backend infrastructure of Smithay, and only use the logic for handling Wayland clients, that you'd combine with your on logic to plug into your specific drivers. Due to hwo Smithay is designed, it'd just be a matter of designing your own abstractions as you see fit. There would be close to no friction with the rest of Smithay thanks to how loosely coupled our modules are. If you want to chat more directly about it, feel free to drop by #smithay:matrix.org on Matrix, or #smithay on libera.chat (both chat rooms are bridged together), @Drakulix and I are mostly active on Europe timezone. |
I was not able to find documentation on how to write custom backends.
The text was updated successfully, but these errors were encountered: