Files
feresaria/vendor/smithay/anvil/README.md
aria 993bc0f88f Integrate native Rime and stabilize input, output, and rendering
- Add optional modifier-only Super binding whose tap is cancelled by
  other input, focus changes, grabs, locks, and session teardown.
- Ship the native ferese-rime user service, Rime defaults, installer
  inventory, package dependencies, session environment, and docs.
- Vendor Smithay 8a27023 with the SHM texture-cache format fix and add
  GPU regressions for format changes and resize snapshots.
- Release reused CRTC owners before staging output modes, then restore
  changed outputs before former owners when a transaction fails.
- Wait for resize-capture GPU completion, expand filtered surface
  damage, and preserve IME popup origin under fractional scaling.
- Mark weekends like holidays in both calendar layouts.
2026-10-30 03:13:43 +09:00

55 lines
2.0 KiB
Markdown

# Anvil
A compositor used as a testing ground for new smithay features.
For a simple example compositor consider reading [smallvil](https://github.com/Smithay/smithay/tree/master/smallvil)
## Dependencies
You'll need to install the following dependencies (note, that those package
names may vary depending on your OS and linux distribution):
- `libwayland`
- `libxkbcommon`
#### These are needed for the "Udev/DRM backend"
- `libudev`
- `libinput`
- `libgbm`
- [`libseat`](https://git.sr.ht/~kennylevinsen/seatd)
If you want to enable X11 support (to run X11 applications within anvil),
then you'll need to install the following packages as well:
- `xwayland`
## Build and run
You can run it with cargo after having cloned this repository:
```
cd anvil;
cargo run -- --{backend}
```
The currently available backends are:
- `--x11`: start anvil as an X11 client. This allows you to run the compositor inside an X11 session or any compositor supporting XWayland. Should be preferred over the winit backend where possible.
- `--winit`: start anvil as a [Winit](https://github.com/tomaka/winit) application. This allows you to run it
inside of an other X11 or Wayland session.
- `--tty-udev`: start anvil in a tty with udev support. This is the "traditional" launch of a Wayland
compositor. Note that this requires you to start anvil as root if your system does not have logind
available.
### Supported Environment Variables
| Variable | Example | Backends |
|-------------------------------|-----------------|-----------|
| ANVIL_DRM_DEVICE | /dev/dri/card0 | tty-udev |
| ANVIL_DISABLE_10BIT | any | tty-udev |
| ANVIL_DISABLE_DIRECT_SCANOUT | any | tty-udev |
| ANVIL_GLES_DISABLE_INSTANCING | any | tty-udev |
| ANVIL_NO_VULKAN | 1,true,yes,y | x11 |
| SMITHAY_USE_LEGACY | 1,true,yes,y | tty-udev |
| SMITHAY_VK_VERSION | 1.3 | |