Skip to content

Introduction

How to install, set up and troubleshoot OpenLogi, the open-source Logitech Options+ alternative for Linux: button remapping, onboard DPI and battery over HID++.

OpenLogi configures Logitech mice and keyboards natively on Linux. It speaks Logitech's own HID++ protocol directly over the kernel's hidraw interface, so it talks to your hardware the same way the official Windows and macOS software does — without a proprietary binary, a cloud account, or sudo.

What it does

Button remapping. Any reprogrammable control on the device can be bound to a keystroke, a media key, a mouse button, a shell command, a URL, or a workspace action.

Sensitivity. DPI is written into the device's own flash, so it persists across reboots and keeps working when OpenLogi is closed.

Battery and device information. Charge level, charging state, model, firmware version and serial number, read directly from the device.

Where to start

GuideWhat it covers
InstallationPackages, building from source, permission setup
PermissionsThe privilege model, and why it looks the way it does
ArchitectureHow the protocol layer and input engine fit together
TroubleshootingDevice not detected, buttons not responding, permissions
Compared with Solaar and logiopsWhich Linux tool fits which job, and running them together

For what to expect on a particular mouse or keyboard, see Supported devices and the guides for the MX Master, MX Keys and Signature M650.

Why it exists

Logitech Options+ runs on Windows and macOS only, so on Linux the extra buttons on most Logitech mice either do their default thing or nothing at all. OpenLogi talks to the hardware over HID++, the protocol Options+ itself uses, and runs as an ordinary desktop app on Wayland and X11.

A note on scope

OpenLogi covers device configuration. Features of Logitech Options+ that depend on Logitech's cloud services — account sync and Flow cross-device control among them — are deliberately out of scope, because implementing them would mean building exactly the account-and-telemetry layer this project exists to avoid.

Project status

The HID++ protocol layer, the hardware probe and the desktop application are working. Profile persistence and per-application profile switching are designed but not yet implemented; see Architecture for how they fit in.

Source and issue tracker: github.com/mohin7/openlogi