OpenLogi README

The project's README from github.com/AprilNEA/OpenLogi. As one markdown file: README.md.

[!WARNING] OpenLogi is under active development and not yet stable — features and config may still change. Give the repo a Star ⭐ and Watch 👀 it to get notified when a new release lands.

English | 简体中文 | 日本語 | Deutsch | Français | 한국어 | Русский

OpenLogi

OpenLogi

⚡️ A native, local-first alternative to Logitech Options+, written in Rust 🦀
Unlock the full capabilities of Logitech mice, keyboards, and webcams over HID++ and UVC

twitter telegram GitHub downloads GitHub commit Hits

AprilNEA%2FOpenLogi | Trendshift OpenLogi - A local-first alternative to Logitech Options+ | Product Hunt

Fed up with Options+? Try OpenLogi.

Runs on macOS, Linux, and Windows.


Beyond Options+

Things OpenLogi does that Options+ won't:

Features

Mouse

Keyboard

Camera

¹ Media key actions use D-Bus MPRIS on Linux; a handful of macOS-specific actions have no universal Linux equivalent and are no-ops. Windows maps platform actions to native equivalents where available.

Install

[!IMPORTANT] Quit Logi Options+ first: the two applications fight over HID++ access, and only one can own a given receiver at a time.

macOS

Requires macOS 13 or later.

Download the signed, notarized .dmg from the latest release and drag OpenLogi.app to /Applications.

Or install via Homebrew:

brew install --cask openlogi

The official Homebrew cask is the default installation path. To explicitly track the latest GitHub release from aprilnea/tap instead:

brew tap aprilnea/tap
brew install --cask aprilnea/tap/openlogi@latest

openlogi@latest is maintained by OpenLogi's release workflow and may update before the official cask autobump lands. Install either openlogi or openlogi@latest, not both.

Linux

Download the package for your distribution from the latest release:

# Debian / Ubuntu
sudo dpkg -i openlogi-*.deb

# Fedora / RHEL
sudo rpm -i openlogi-*.rpm

# Arch Linux
sudo pacman -U openlogi-*.pkg.tar.zst

Packages are published for both x86_64/amd64 and arm64/aarch64. Pre-built packages require GLIBC 2.35 or newer (Ubuntu 22.04 baseline).

NixOS users can instead import the repository's module, which installs the package and udev rules and starts the agent with the graphical session:

{
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
  inputs.openlogi = {
    url = "github:AprilNEA/OpenLogi";
    inputs.nixpkgs.follows = "nixpkgs";
  };

  outputs = { nixpkgs, openlogi, ... }: {
    nixosConfigurations.my-host = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux"; # or aarch64-linux
      modules = [
        openlogi.nixosModules.default
        { programs.openlogi.enable = true; }
      ];
    };
  };
}

All Linux packages install udev rules that grant your user access to /dev/hidraw*, /dev/uinput and your Logitech mouse's /dev/input/event* node without sudo. The NixOS module starts the agent automatically; after a .deb, .rpm, or .pkg.tar.zst installation, enable it for your user:

systemctl --user enable --now openlogi-agent.service

See docs/INSTALL-linux.md for complete NixOS options, manual / source installs, and distros without systemd.

Windows

Signed portable .zip archives and per-user .msi installers (x86_64 and arm64) are attached to each release. Both ship the GUI (OpenLogi.exe) together with the background agent (openlogi-agent.exe), which owns all device I/O. Keep the two files side by side when using the portable zip, or the GUI has nothing to connect to.

Windows support has been validated end-to-end on Windows 11 with real hardware (a wired keyboard and a Unifying-receiver mouse), including install, in-place upgrade, and uninstall of the MSI. It is newer than the macOS build, so if you hit a rough edge please report it. The agent shows a system-tray icon (Show Main Window / Quit) so the app stays reachable after the main window is closed. To disable it on Windows, set show_in_menu_bar = false in the TOML [app_settings] block and restart the agent; the GUI toggle is currently macOS-only.

To build from source, see DEVELOPMENT.md.

Usage (CLI)

See USAGE.md

Configuration

See CONFIGURATION.md

Developing

See DEVELOPMENT.md

Acknowledgments

License

The code in this repository is dual-licensed under either of

at your option.

Third-party code

crates/openlogi-hidpp is a vendored fork of hidpp by @lus, licensed 0BSD.

Logo & brand assets

Thanks to @kubai087 for designing the OpenLogi logo. The OpenLogi logo and app icon (the brand assets under design/) are © 2026 AprilNEA, all rights reserved, and are not covered by the MIT/Apache licenses above; see design/LICENSE. Forking the code grants no right to the OpenLogi name, logo, or icon; please don't use them to represent your own projects, forks, or distributions without prior written permission.


Not affiliated with Logitech. "Logitech", "MX Master", and "Options+" are trademarks of Logitech International S.A.

Repo activity

Repobeats analytics image

OpenLogi (AprilNEA/OpenLogi)

Searching Database…

23.7K ·GitHub
What is this?OpenLogi is a native, local-first alternative to Logitech Options+ written in Rust: it unlocks Logitech mice, keyboards, and webcams over HID++ and UVC, with no account and no telemetry.
How is it different from just using Logitech Options+?It stays light (native Rust + GPUI), treats Linux as a first-class platform, puts gestures on any button, keeps all settings in one plain-text TOML file, and ships a real CLI alongside the GUI.
Can I keep Logitech Options+ installed alongside it?No — quit Options+ first: the two apps fight over HID++ access and only one can own a given receiver at a time. Devices connect via Logi Bolt, Unifying receivers, Bluetooth, or wired.
Is it stable enough to replace Options+ today?Not quite yet — it's under active development and not stable, so features and config may change. Windows is the newest port, validated end-to-end on Windows 11, but rough edges are expected.
Does it work on Linux, or is it macOS-only like the official app?It runs natively on macOS 13+, Linux, and Windows. Linux is first-class: x86_64 and arm64 packages (GLIBC 2.35+), a NixOS module, and udev rules that grant access to /dev/hidraw and /dev/uinput without sudo.
Does it need an account or send telemetry anywhere?No account, no telemetry — it's local-first. All settings live in one TOML file that you sync between machines yourself.
What can it do with an MX Master-class mouse?DPI presets with Cycle and Set actions, full SmartShift control (mode, sensitivity, a permanent-ratchet panel), remapping of the middle, mode-shift, and thumbwheel buttons, per-direction gestures with live capture, and the Actions Ring — a cursor-centred eight-slot action overlay.
Does it handle keyboards and webcams too?Yes: global F-key remapping with typed text, key combos, and multi-step workflows (macOS + Windows), plus static RGB lighting. Any Logitech UVC webcam (Brio, StreamCam, C920 series) is plug and play — image controls are written to the camera hardware, so they apply in Zoom, Meet, OBS, and every other app.
How do per-application profiles work?Profile overlays auto-switch when an app gains focus — on macOS and Windows, and on Linux only under X11 or XWayland. Media-key actions go through D-Bus MPRIS on Linux, where a few macOS-specific actions are no-ops.
Can I script it without opening the GUI?Yes — a real CLI ships alongside the GUI (documented in USAGE.md), and the whole configuration is one TOML file you can edit and sync by hand.
Creator
AprilNEA
Size
19.9 MB
Stars
23.7K
Age
4mo
Commits · 90 Days