System Requirements for OpenLogi: macOS, Linux, and Windows Setup Guide
OpenLogi requires macOS 13 (Ventura) or later, Linux with glibc 2.35+ (Ubuntu 22.04 baseline), or Windows 11, with platform-specific dependencies including udev rules on Linux and signed binaries on macOS.
OpenLogi is a native, local-first alternative to Logitech Options+ that runs entirely on your machine without cloud dependencies. Understanding the system requirements for OpenLogi ensures the agent and GUI components run correctly across the three supported operating systems. The project is hosted at AprilNEA/OpenLogi and provides signed binaries for macOS, native packages for Linux, and portable archives for Windows.
macOS System Requirements
OpenLogi officially supports macOS 13 (Ventura) or later according to README.md lines 87-90. The application is fully signed and notarized, requiring no additional runtime environments or kernel extensions.
Hardware and Runtime Support
The agent uses CGEventTap for input capture and CoreGraphics for injection, relying solely on standard macOS system frameworks. Any Logitech HID++ device—including mice, keyboards, and webcams enumerateable by the OS—works without supplemental drivers. The GUI is built with GPUI and requires no external dependencies beyond the signed application bundle.
Version Verification
Confirm your Mac meets the minimum version before installing:
sw_vers -productVersion # must be 13.x or newer
Linux System Requirements
Linux support requires a recent distribution with glibc 2.35+, establishing Ubuntu 22.04 as the baseline reference environment per README.md lines 127-129. The project distributes packages for both x86_64/amd64 and arm64/aarch64 architectures.
udev Rules and Permissions
The installer automatically configures udev rules that grant user-level access to /dev/hidraw*, /dev/uinput, and /dev/input/event* without requiring sudo. This permission handling is implemented in crates/openlogi-permissions/src/linux.rs, which probes for device node accessibility during startup.
Systemd Service Configuration
Installation registers a systemd user service (openlogi-agent.service) that starts automatically after login. This service runs the background agent independent of the GUI, ensuring persistent device management even when the interface is closed.
The agent relies on evdev and uinput for capture and injection, plus D-Bus MPRIS for media key functionality. Note that some macOS-specific actions become no-ops on Linux, though core HID++ features function identically across Logi Bolt, Unifying receivers, Bluetooth, and wired connections.
Package Dependencies
As declared in packaging/linux/package.nix, the Linux build requires the Vulkan loader for GPUI rendering support and standard development libraries (libudev, x11, wayland) detailed in docs/DEVELOPMENT.md.
Windows System Requirements
OpenLogi targets Windows 11 exclusively, validated on the latest builds according to README.md lines 165-176.
Binary Distribution Structure
The Windows installer provides two distribution formats:
- A signed portable
.ziparchive - A per-user
.msiinstaller
Both contain OpenLogi.exe (the GUI) and openlogi-agent.exe (the background service). The agent creates a system tray icon and uses WH_MOUSE_LL for input hooking alongside SendInput for injection.
Configuration Options
Users can hide the GUI from the menu bar by setting show_in_menu_bar = false in the configuration file, relying solely on the agent's tray icon for status indication.
Cross-Platform Architecture
OpenLogi separates duties into three tiers that influence system requirements:
- GUI – A pure IPC client built with GPUI that runs on all supported platforms
- Agent – A background server owning the input hook and performing all device I/O
- Shared orchestration – Handles IPC, configuration, and state management
Because the agent contains all platform-specific code while the GUI uses cross-platform Rust, the system requirements vary primarily in the background service dependencies. macOS uses CoreGraphics, Linux uses evdev/uinput, and Windows uses native Win32 input APIs.
Verifying Your System Setup
Use these platform-specific commands to validate compatibility before installation.
macOS Version Check
sw_vers -productVersion # must be 13.x or newer
Linux Package Installation
For Debian/Ubuntu systems:
# Download the latest .deb from the releases page
wget https://github.com/AprilNEA/OpenLogi/releases/latest/download/openlogi_*.deb
sudo dpkg -i openlogi_*.deb
# Enable the user-service that runs the agent
systemctl --user enable --now openlogi-agent.service
Detailed steps are available in docs/INSTALL-linux.md.
Windows Version Verification
[System.Environment]::OSVersion.Version # major version should be 10, build ≥ 22000
CLI Version Confirmation
After installation, confirm the binary runs on your architecture:
openlogi --version
If the command outputs the version string without error, the binary matches your platform and all runtime libraries are present.
Summary
- macOS: Requires Ventura (13.0+) with no external dependencies; uses CGEventTap and CoreGraphics for input handling.
- Linux: Requires glibc 2.35+ (Ubuntu 22.04 baseline) with automatic udev rule configuration and systemd user service setup.
- Windows: Requires Windows 11 with signed portable and MSI installer options containing both GUI and agent executables.
- Architecture: The agent handles all platform-specific I/O (HID++ communication) while the GPUI-based GUI remains cross-platform Rust code.
- Verification: Use
sw_vers,systemctl, PowerShell environment checks, oropenlogi --versionto confirm compatibility.
Frequently Asked Questions
Does OpenLogi support macOS Monterey (12)?
No, OpenLogi requires macOS 13 (Ventura) or later as specified in the README. The application relies on newer CoreGraphics APIs and security frameworks introduced in Ventura that are unavailable in earlier releases.
Can I run OpenLogi on Windows 10?
OpenLogi is validated only on Windows 11 builds. While the agent may function on some Windows 10 configurations, the official system requirements specify Windows 11 to ensure compatibility with the WH_MOUSE_LL hook mechanisms and modern security signing requirements.
What Linux permissions does OpenLogi need?
OpenLogi requires access to /dev/hidraw*, /dev/uinput, and /dev/input/event* device nodes. The official packages automatically install udev rules granting these permissions to your user account, eliminating the need for sudo during normal operation as detailed in docs/INSTALL-linux.md.
Is OpenLogi available for ARM64 processors?
Yes, Linux packages support both x86_64/amd64 and arm64/aarch64 architectures. The packaging/linux/package.nix file declares dependencies for ARM64 builds, ensuring the Vulkan loader and system libraries are available on ARM-based Linux distributions.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →