Thanks for contributing to CodeVerse Compositor!
- Fork the repo and create a feature branch.
- Make your change.
- Run the checks locally:
cargo fmt --allcargo clippy --workspace --all-targets -- -D warningscargo test --workspace
- Open a pull request.
Enable logs with RUST_LOG:
RUST_LOG=info cargo run -p codeverse-compositorRUST_LOG=debug cargo run -p codeverse-compositor
If you’re debugging a crash, also try:
RUST_BACKTRACE=1
The compositor auto-selects the backend:
- Winit backend when
DISPLAYorWAYLAND_DISPLAYis set (nested) - DRM backend otherwise (TTY)
When working on DRM/TTY issues, it’s often easiest to reproduce in a VM first:
./scripts/qemu-test.sh
Good issues help us fix things quickly. Please include:
- What you expected vs what happened
- Your distro + kernel version
- Whether you ran nested (winit) or TTY (DRM)
- Logs (
RUST_LOG=debugoutput) and backtrace (if there was a panic) - Steps to reproduce (ideally minimal)
If the issue is a security vulnerability, do not open a public issue; use the process in SECURITY.md.
- Keep PRs focused (one change/theme per PR when practical).
- Prefer small, reviewable commits.
- If you’re changing behavior, include a short explanation in the PR description.
- Add tests when there’s a natural place for them (this repo already contains unit tests in some crates).
- Rust formatting is enforced via
rustfmt. - Prefer clear names over cleverness.
- Avoid unrelated refactors in the same PR.
By contributing, you agree that your contributions will be licensed under the MIT License (see LICENSE).