This guide covers the user-facing beta path for pairing Linux with PowerToys Mouse Without Borders on Windows, checking health, collecting diagnostics, tuning connection quality, and validating package output.
Use the desktop controller for the guided path:
./mwb-desktop-ui.sh menu- Open Settings and enter the Windows host IP, local machine name, port, and exactly one authentication source: inline key,
key_file, or Secret Service key ID. - Use Connection Behavior to choose automatic reconnect behavior before starting the service.
- Export a Windows helper from Linux when the UI exposes the action, or use the CLI fallback:
./build/mwb_client export-windows-pair \
--config ~/.config/mwb-client/config.ini \
--output inputflow-windows-pair.ps1 \
--position autoThe helper writes the Linux peer name, IP, layout position, shared key, MachinePool, MachineMatrixString, and Name2IP values expected by PowerToys. On Windows, install and open PowerToys Mouse Without Borders once, then run the exported script in PowerShell:
powershell -ExecutionPolicy Bypass -File .\inputflow-windows-pair.ps1Keep the exported .ps1 private because it contains pairing material. Delete it after confirming Windows sees the Linux peer.
Run the built-in doctor before filing a beta issue or after changing package/service setup:
./build/mwb_client doctor --config ~/.config/mwb-client/config.iniThe desktop controller shows the same health check together with the user service status through:
./mwb-desktop-ui.sh statusReview warnings for missing /dev/uinput access, missing inputflow group membership, missing packaged files, unavailable clipboard helpers, or invalid authentication configuration.
Until a one-click diagnostics bundle command is available, collect this minimal bundle for beta reports:
./build/mwb_client doctor --config ~/.config/mwb-client/config.ini > inputflow-doctor.txt
systemctl --user status --no-pager mwb-client.service > inputflow-service-status.txt
journalctl --user -u mwb-client.service --since "30 minutes ago" --no-pager > inputflow-service-log.txtAlso include ~/.config/mwb-client/config.ini with key, key_file, key_secret_id, Windows IPs, and hostnames redacted as needed. Do not attach exported Windows helper scripts or unredacted Secret Service identifiers to public issues.
For most beta users, keep automatic reconnect enabled and tune only if the service reconnects too aggressively or too slowly:
auto_connect_enabled=true
reconnect_initial_backoff_ms=500
reconnect_max_backoff_ms=30000
reconnect_idle_retry_ms=5000
latency_report=falseEnable latency reporting only while debugging missed or delayed input:
./build/mwb_client run --config ~/.config/mwb-client/config.ini --latency-reportYou can also set latency_report=true in config.ini or run with MWB_LATENCY_REPORT=1. The report prints client-side queue and injection timing when the client shuts down.
Validate RPM metadata without a full RPM build:
scripts/validate-rpm-packaging.shRun full Fedora RPM validation when the build dependencies are available:
MWB_VALIDATE_RPM_BUILD=1 scripts/validate-rpm-packaging.shThe validation checks that the package keeps the compatibility binary and service names, includes the user unit, sysusers integration, modules-load file, and /dev/uinput udev rule, and does not introduce undocumented command aliases.