aprilnea/ openlogi
View on GitHub⚡️A native, local-first alternative to Logitech Options+, written in Rust 🦀 — remap buttons, DPI, and SmartShift over HID++. No account, no telemetry.
⚡️A native, local-first alternative to Logitech Options+, written in Rust 🦀 — remap buttons, DPI, and SmartShift over HID++. No account, no telemetry.
[!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.
Fed up with Options+? Try OpenLogi.
Runs on macOS, Linux, and Windows.
Things OpenLogi does that Options+ won't:
Mouse
ShowActionsRing), with per-application layouts0x2201)0x2111)0x2121, supported devices)Keyboard
0x8070 / 0x8080, supported devices)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.
[!IMPORTANT] Quit Logi Options+ first: the two applications fight over HID++ access, and only one can own a given receiver at a time.
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.
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.
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.
See USAGE.md
See CONFIGURATION.md
See DEVELOPMENT.md
The code in this repository is dual-licensed under either of
at your option.
crates/openlogi-hidpp is a vendored fork of hidpp
by @lus, licensed 0BSD.
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.
No comments yet. Set the tone — say what you would want to know.