vuinputd/docs/BUILD.md
2025-11-14 22:15:26 +00:00

1.7 KiB

📦 vinput Build & Install Guide

🔹 Prerequisites

  • Rust toolchain (recommended: install via rustup)
  • Linux with build-essential, libc6-dev, libfuse3-dev, libudev-dev and pkg-config installed (for cuse/udev access)

🔹 Build Everything (Workspace Build)

Clone the repo:

git clone https://github.com/joleuger/vuinputd.git
cd vuinputd

Build all crates (daemon, forwarder, announce, common):

apt-get install build-essential libc6-dev libfuse3-dev pkg-config fuse3 libudev-dev 

cargo build --release

Note: If the system default compiler for C is clang, then apt-get install libclang-dev might be necessary as well.

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

Debian

apt-get install build-essential devscripts debhelper cargo rustc dh-cargo
apt-get install debhelper dh-cargo dh-sequence-bash-completion cargo:native rustc:native librust-nix-dev librust-libc-dev librust-time-dev librust-log-dev librust-env-logger-dev librust-libudev-dev librust-regex-dev librust-async-channel-dev librust-futures-dev librust-async-io-dev librust-anyhow-dev

dpkg-buildpackage -us -uc