RepoDaily · 2026-08-21 · Dataset / Public directory

OpenLogi: The Rust-Built, Local-First Answer to Logitech Options+

#3 Dataset / Public directory Rust +1,540 AprilNEA/OpenLogi Open repository

OpenLogi is a native Rust, local-first replacement for Logitech Options+: HID++ button remapping, DPI, and SmartShift in one TOML file, with no account, no telemetry, and Linux as a first-class platform.

Repo typeDataset / Public directory
Best forOwners of Logitech HID++ mice and keyboards who want button remapping, DPI presets, and SmartShift control without an account, cloud sync, or telemetry
Risk levelMedium — version 0.7.3, README warns it is not yet stable and config may still change
Time to evaluate30-60 minutes: install 0.7.3, connect a device over Bolt/Unifying/Bluetooth/wired, edit config.toml once, test one remap and one DPI preset

Primary question: Does OpenLogi already drive the specific HID++ features you use, reliably, on your OS — before you retire Logitech Options+?

92/100

RepoDaily adoption score

RepoDaily rates this as 92/100 (strong) for adoption: evidence, installation path, production risk, differentiation, license clarity, and AI/agent fit are scored from the article sources and adoption notes.

Directional score from RepoDaily sources and adoption notes, not a benchmark.Risk: Medium
100Evidence quality

4 source(s) across 4 source category/categories, plus a RepoDaily-specific evidence module when available.

100Installability

6 workflow step(s), 6 next-action step(s), and 3 command/install signal(s) were detected.

74Maintenance confidence

Trending momentum is +1,540 stars, with maintenance/release/issue signals counted when present.

96Production readiness

Risk is marked medium, with 6 security note(s) and 5 explicit skip condition(s).

100Differentiation

3 opportunity lens item(s), 5 alternative(s), and 3 type-specific section(s) support differentiation.

68License clarity

License source or license wording is present.

78Agent / AI fit

5 AI/agent-related signal(s) were detected in the article text and metadata.

Project overview

OpenLogi (AprilNEA/OpenLogi) is a native desktop application, written in Rust with the GPUI toolkit, that replaces Logitech Options+ for owners of Logitech HID++ peripherals. It runs on macOS, Linux, and Windows, talks to mice, keyboards, and webcams over HID++ and UVC, and — per its own description — requires no account and ships no telemetry. In the 2026-08-21 trend window it sits at rank 3 with 1,540 new stars, an unusually strong pull for a pre-1.0 desktop utility.

The feature list reads like a point-by-point response to Options+ pain. Buttons are remapped through the OS input hook, with a built-in action catalog plus custom keyboard shortcuts authored in TOML; gestures can be assigned to any physical button or turned off entirely. Mice get DPI presets (feature 0x2201, with 0x2202 ExtendedAdjustableDpi support added in 0.7.0), SmartShift wheel control (0x2111), and per-device native scroll inversion (0x2121). Keyboards get global F-key remapping and static RGB lighting (0x8070/0x8080, plus 0x8081 PerKeyLighting2). Any Logitech UVC webcam — Brio, StreamCam, the C920 series — gets live preview and image controls written straight to the hardware, and Litra lights get power, brightness, and color temperature control with optional auto power that follows camera activity.

Under the hood it is a 17-crate Cargo workspace (openlogi-core, openlogi-hidpp, openlogi-hid, openlogi-camera, openlogi-cli, openlogi-ipc, openlogi-agent, openlogi-desktop, openlogi-ui, openlogi-overlay, openlogi-hook, and more), with an agent process exposing RPC to the GUI over tarpc, carried by a Unix-domain socket on Unix and a named pipe on Windows. The current release is 0.7.3 (2026-08-20), licensed MIT OR Apache-2.0, with a minimum supported Rust version of 1.98 and edition 2024. The README carries an explicit warning that the project is not yet stable and that features and config may still change.

Problem it solves

  • Logitech Options+ requires an online account and includes telemetry; there is no official local-only mode.
  • Options+ does not run on Linux, leaving HID++ device owners on that platform without vendor remap, DPI, or SmartShift tools.
  • Vendor software ties gestures to specific buttons; OpenLogi lets any capable button take the gesture role, or disables gestures entirely.
  • Settings in Options+ live inside the vendor's sync system; OpenLogi's single config.toml is portable and diffable, and since 0.7.0 it is parsed strictly, with comments and formatting preserved on save.
  • Per-device quirks like scroll direction or thumbwheel volume direction used to need OS-level hacks; OpenLogi exposes per-device native scroll inversion (0x2121) and a reversed Volume preset for the thumb wheel (#608).

How it works

  1. Connect a device over a Logi Bolt receiver, Unifying receiver, Bluetooth, or a wired link; OpenLogi reports battery percentage and charge state.
  2. The openlogi-hidpp crate negotiates HID++ features with the hardware — DPI presets and cycling (0x2201/0x2202), SmartShift mode and sensitivity (0x2111), scroll inversion (0x2121), and keyboard lighting (0x8070/0x8080/0x8081).
  3. openlogi-hook intercepts button events through the OS input hook; on Windows the inject path synthesizes actions via SendInput and a WH_MOUSE_LL hook. Remaps draw on a built-in action catalog plus TOML-authored shortcuts.
  4. A background agent exposes device state to the GUI over tarpc (protocol v17 as of 0.7.0), transported by interprocess IPC — a Unix-domain socket on Unix, a named pipe on Windows — with each agent run identified behind a frozen handshake (0.7.2).
  5. Per-application profile overlays switch bindings automatically on app focus (macOS and Windows; Linux on X11/XWayland only).
  6. For cameras, live preview opens the device only while you watch — leaving the preview releases the camera entirely and the LED goes off — and zoom, focus, and exposure controls are written directly to the UVC hardware.

Architecture read: 17 crates, an agent/GUI split, and hardened dependencies

The workspace manifest defines 17 members, from protocol crates (openlogi-hidpp, plus an openlogi-hidpp-derive macro crate) through platform layers (openlogi-hid, openlogi-camera, openlogi-permissions) to product surfaces (openlogi-cli, openlogi-desktop, openlogi-ui, openlogi-overlay, openlogi-hook). default-members is pinned to crates/openlogi so a bare `cargo build` produces the CLI alone, without dragging GPUI's Metal shader toolchain into the simplest build.

Dependency choices are documented, not accidental. tarpc is held at a 0.38 hard floor because earlier releases hard-depend on opentelemetry 0.30, dragging the vulnerable opentelemetry_sdk 0.30 into the graph (GHSA-w9wp-h8wv-79jx). HTTP goes through ureq with rustls and platform-verifier; config saves use atomic-write-file; macOS FFI uses objc2 with leak-proof Retained<T> bindings and default-features disabled so a resolve cannot move GPUI's Cargo.lock pin.

The manifest sets license to MIT OR Apache-2.0, rust-version to 1.98, edition to 2024, and version to 0.7.3, and explains that the MSRV tracks current stable because OpenLogi ships as an app with prebuilt installers and no crate here has an external reverse dependency.

Try-it path: from the 0.7.3 installer to a hand-edited config.toml

  • Grab the 0.7.3 release (dated 2026-08-20) from the GitHub releases page; the README's download badge confirms prebuilt installers exist for macOS, Linux, and Windows.
  • Plug in or pair your device (Bolt, Unifying, Bluetooth, or wired) and confirm battery percentage and charge state appear in the GUI.
  • On macOS, grant Input Monitoring when prompted — 0.7.1 made the agent request it at startup (#607).
  • Do one round of each headline feature: a button remap, a DPI preset (0x2201), a SmartShift toggle (0x2111), and the Actions Ring (ShowActionsRing, the cursor-centred eight-slot overlay).
  • Hand-edit config.toml to add a custom shortcut; since 0.7.0 the parser is strict — a deliberate typo should surface the file path and TOML location in the window instead of silently falling back to defaults, and your comments survive the save.
  • If you rely on per-app profiles on Linux, check your session type first: auto-switching works on X11/XWayland only.

Maintenance risk: pre-1.0, but with adult versioning habits

  • The README's top banner warns the project is not yet stable and that features and config may change — at 0.7.3, expect breaking behavior between minor versions.
  • Counter-evidence of discipline: 0.7.0 was deliberately a minor bump (strict config parsing, GUI-to-agent protocol v17) rather than a patch, with upgrade notes and schema_version migrations covering v1 through v4.
  • Four releases in August 2026 (0.7.0-0.7.3), each fix trail linked to PRs (#700, #686, #639, #629, #596-#599, #607, #631, #634, #608).
  • Bus factor: the workspace authors list names AprilNEA alone; community channels are a Telegram group and Twitter.
  • The Rust 1.98 MSRV tracks current stable, so older distro toolchains will need a rustup update to build from source.

Who should pay attention?

Good fit if

  • Linux users with Unifying or Bolt receivers who want DPI and SmartShift control without Options+.
  • Anyone who refuses the Options+ account requirement on principle.
  • Dotfiles keepers who want mouse bindings in one syncable, comment-preserving TOML file.
  • Automation-minded users who want a CLI next to the GUI.
  • Litra light and Logitech webcam owners who want hardware-level controls without the vendor suite.

Skip for now if

  • Anyone who needs guaranteed stability today — the README says so explicitly.
  • Wayland-only Linux users who depend on per-application profile switching (X11/XWayland only).
  • Owners of non-Logitech peripherals; the protocol scope is HID++ and UVC on Logitech hardware.
  • Users who want animated per-key RGB; OpenLogi targets static lighting (0x8070/0x8080/0x8081) on supported devices.
  • People who want the vendor cloud to sync profiles across machines.

Risks and cautions

Medium

Pre-1.0 software with an explicit not-yet-stable warning, offset by unusually disciplined release hygiene: strict config parsing, schema migrations, and a versioned IPC protocol.

  • Version 0.7.3, with a README warning that features and config may still change.
  • 0.7.0 changed observable behavior twice in one release (strict config parsing, protocol v17), so minor versions can break muscle memory.
  • Per-app profiles are macOS/Windows-only; Linux support stops at X11/XWayland.
  • Mitigations are real: strict TOML errors surface in-window with file path and location, comments survive saves, and v1-v4 configs migrate automatically.
  • Local-first by design: no account and no telemetry, per the project description and README.
  • Since 0.7.1 (#634), TLS trusts the OS certificate store instead of bundled Mozilla roots.
  • IPC never leaves the machine: a Unix-domain socket or named pipe via interprocess, with each agent run identified behind a frozen handshake (0.7.2).
  • tarpc is pinned to a 0.38 floor specifically to keep the vulnerable opentelemetry_sdk 0.30 (GHSA-w9wp-h8wv-79jx) out of the dependency graph — the reasoning is written into Cargo.toml.
  • Input hooks require sensitive OS permissions: macOS Input Monitoring, requested at startup since #607, and Windows WH_MOUSE_LL/SendInput paths via windows-sys 0.61.
  • Licensed MIT OR Apache-2.0 per the workspace manifest.

Alternatives to compare

ApproachWhen to useTrade-off
Logitech Options+
You want the vendor-supported path with firmware updates and full feature parity on the newest devicesFree, but requires a Logitech account and includes telemetry
Solaar
Linux desktops that need Unifying/Bolt pairing, battery monitoring, and basic per-device settingsFree, open source
logiops (logid)
Headless Linux remapping of HID++ devices through a config file, with no GUI requiredFree, open source
input-remapper
Vendor-agnostic remapping on Linux for any input device, not just LogitechFree, open source
Karabiner-Elements
macOS-only, keyboard-focused remapping regardless of peripheral vendorFree, open source

What this trend reveals

A community config library is the obvious next artifact

Strict parsing plus comment-preserving saves make shared config.toml files safe to distribute; starter configs per device class (DPI-preset mice, thumbwheel keyboards, Actions Ring layouts) would cut first-hour friction for new users.

Search the repo's issues for device-model config requests; publish starter configs for the webcam families the README names (Brio, StreamCam, C920 series) and one DPI-class mouse, then track downloads.

Policy-friendly deployment for managed fleets

No account, no telemetry, one TOML file, and a CLI make the tool deployable by configuration management: ship a locked config, verify state through the CLI, and never touch the vendor cloud.

Confirm which CLI verbs exist for reading back applied settings, then pilot one machine per OS with a frozen config.toml.

Wayland is the highest-value platform gap

Per-application profile overlays work on macOS, Windows, and X11/XWayland only, while mainstream Linux distros default to Wayland — focus tracking under Wayland is the single biggest functional hole.

On a Wayland session, focus a second app and confirm bindings do not auto-switch; watch Wayland-tagged issues before betting a rollout on it.

Best next action

Run OpenLogi against your daily mouse for one hour

Install 0.7.3 alongside — not instead of — your current setup, keep Options+ installed but quit it, and test the specific features you actually use. One hour tells you whether your device's HID++ feature set is fully driven on your OS.

  1. Download the 0.7.3 release (2026-08-20) for your OS from the GitHub releases page.
  2. Connect over Bolt, Unifying, Bluetooth, or wired; confirm battery percentage and charge state show up.
  3. Grant Input Monitoring on macOS when the agent asks at startup (#607).
  4. Remap one button, cycle a DPI preset (0x2201), and toggle SmartShift (0x2111); open the Actions Ring (ShowActionsRing) once.
  5. Hand-edit config.toml to add one custom shortcut, then introduce a deliberate typo and confirm the strict parser reports the file path and TOML location in the window.
  6. On Linux, check your session type before judging per-app profiles — X11/XWayland only.

RepoDaily verdict

At 0.7.3, OpenLogi is already the best-engineered local-first replacement for Logitech Options+ available — native Rust, a disciplined 17-crate workspace, strict TOML config, and Linux as a first-class platform — but it says so itself: not yet stable. Test it on your hardware now; wait for 1.0 before you uninstall anything.

Sources