Build instructions added

This commit is contained in:
Johannes Leupolz 2025-10-24 12:53:48 +00:00
parent cb59fc73b5
commit 0d35e76bcb
3 changed files with 53 additions and 1 deletions

View file

@ -38,6 +38,7 @@ This project solves that by introducing a **mediated input stack**:
## Documentation
See [docs/BUILD.md](docs/BUILD.md) for short build and install guide.
See [docs/DESIGN.md](docs/DESIGN.md) for detailed architecture, design tradeoffs, and security considerations.
---

51
docs/BUILD.md Normal file
View file

@ -0,0 +1,51 @@
# 📦 vinput Build & Install Guide
## 🔹 Prerequisites
* Rust toolchain (recommended: install via [rustup](https://rustup.rs))
* Linux with `libfuse3-dev`, `libudev-dev` and `pkg-config` installed (for cuse/udev access)
---
## 🔹 Build Everything (Workspace Build)
Clone the repo:
```bash
git clone https://github.com/joleuger/vuinputd.git
cd vuinputd
```
Build all crates (daemon, forwarder, announce, common):
```bash
apt-get install libfuse3-dev pkg-config fuse3 libudev-dev
cargo build --release
```
Binaries will be located under:
```
target/release/vuinputd (the daemon itself)
target/release/mouse-advanced (for testing, fakes a mouse device)
target/release/keyboard-advanced (for testing, fakes a keyboard device)
```
---
## 🔹 Install guide
As root on host:
```
cp target/release/vuinputd /usr/local/bin
cp vuinputd/udev/90-vuinputd-protect.rules /etc/udev/rules.d
cp vuinputd/udev/90-vuinputd-protect.rules /etc/udev/rules.d
cp vuinputd/udev/90-vuinputd.hwdb /etc/udev/rules.d/hwdb.d/
cp vuinputd/systemd/vuinputd.service /etc/systemd/system/
systemd-hwdb update
udevadm control --reload
systemctl daemon-reload
systemctl enable --now vuinputd
```

View file

@ -4,7 +4,7 @@ After=systemd-udevd.service
Requires=systemd-udevd.service
[Service]
ExecStart=/usr/bin/vuinputd
ExecStart=/usr/local/bin/vuinputd
Restart=on-failure
# Needs CAP_SYS_ADMIN for CUSE + /dev/uinput (I am still missing a capability for the correct working mode)