From ef4ffc9fd2d37437c6667ad376acd12015b7c3c6 Mon Sep 17 00:00:00 2001 From: Shawn Wallace Date: Wed, 9 Apr 2025 00:36:01 -0400 Subject: [PATCH] Update readme --- README.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5688c57..ce7bf2f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # xwayland-satellite -xwayland-satellite grants rootless Xwayland integration to any Wayland compositor implementing xdg_wm_base. +xwayland-satellite grants rootless Xwayland integration to any Wayland compositor implementing xdg_wm_base and viewporter. This is particularly useful for compositors that (understandably) do not want to go through implementing support for rootless Xwayland themselves. ## Dependencies @@ -22,3 +22,16 @@ cargo run xwayland-satellite can be built with systemd support - simply add `-F systemd` to your build command - i.e. `cargo build --release -F systemd`. With systemd support, satellite will send a state change notification when Xwayland has been initialized, allowing for having services dependent on satellite's startup. An example service file is located in `resources/xwayland-satellite.service` - be sure to replace the `ExecStart` line with the proper location before using it. It can be placed in a systemd user unit directory (i.e. `$XDG_CONFIG_HOME/systemd/user` or `/etc/systemd/user`), and be launched and enabled with `systemctl --user enable --now xwayland-satellite`. It will be started when the `graphical-session.target` is reached, which is likely after your compositor is started if it supports systemd. + +## Wayland protocols used +The host compositor **must** implement the following protocols/interfaces for satellite to function: +- Core interfaces (wl_output, wl_surface, wl_compositor, etc) +- xdg_shell (xdg_wm_base, xdg_surface, xdg_popup, xdg_toplevel) +- wp_viewporter - used for scaling + +Additionally, satellite can *optionally* take advantage of the following protocols: +- Linux dmabuf +- XDG activation +- XDG foreign +- Pointer constraints +- Tablet input