Files
feresaria/README.md
T

71 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Ferese
Ferese is an experimental Wayland tiling compositor written in Rust with
Smithay. The nested M0–M3 path is complete, including tiling, workspaces, and
timestamp-driven animated geometry. Development now targets the M4 early
hardware-session acceptance pass and M5 native interoperability in the
[window-manager specification](docs/ferese-window-manager-spec.md).
## Development
Install the native dependencies required by Smithay's winit and GLES backends,
then run:
```bash
cargo run -p ferese
```
Pass a client and its arguments after `--` to launch it inside Ferese:
```bash
cargo run -p ferese -- foot
```
Set `RUST_LOG=ferese=debug` for detailed compositor logging.
Text-input-v3 is available to applications by default. Input-method-v2 is
hidden unless the session explicitly opts in, because an input method can
request privileged keyboard access. Enable it only when launching a trusted
IME for the session:
```bash
FERESE_ENABLE_INPUT_METHOD=1 cargo run -p ferese
```
`Ctrl+Alt+Escape` always releases an active client shortcut inhibitor.
Screen capture is hidden by default. A session that has already made an
explicit capture-policy decision can expose screencopy-v1 to its clients with:
```bash
FERESE_ENABLE_SCREENCOPY=1 cargo run -p ferese
```
The current M5 implementation supports one-shot output and region capture into
ARGB8888 shared-memory buffers. Captures currently include Ferese's software
cursor even when a client does not request a cursor overlay; cursor-free
capture remains part of the M5 interoperability acceptance work.
### Direct DRM session
Run the hardware backend from a spare TTY, outside another graphical session:
```bash
RUST_LOG=ferese=debug cargo run -p ferese -- --backend=drm -- foot
```
Do not run that command from a terminal inside the active desktop: the direct
backend requests control of the seat and primary DRM device. Use
Ctrl+Alt+F1–F12 to switch virtual terminals.
M4 validation requires the direct session to:
- start `foot` and render the same animated tiling workload as the nested path;
- retain keyboard and pointer input;
- pause when switching away and redraw after switching back; and
- log page-flip timing and any missed presentation deadlines on the reference
integrated GPU.
The direct path currently targets one connected output. Multi-output hotplug is
part of M5.