GFlick

Unsigned, experimental builds

Four steps, and a hash check

Installing a release bundle does not require Rust or a compiler. It does require you to verify the download yourself, because nothing here is code-signed or notarised yet.

Latest release

01

Verify the archive

Release artifacts are unsigned and experimental. Download the user bundle for your platform along with SHA256SUMS, then compare the hash before you extract anything. Substitute the release tag for <version>.

Windows PowerShell
(Get-FileHash .\gflick-<version>-windows-x86_64.zip -Algorithm SHA256).Hash.ToLower()
Apple Silicon macOS
shasum -a 256 gflick-<version>-macos-aarch64.tar.gz

02

Run the installer

Extract the archive and run the bootstrapper from the extracted directory. It needs no Rust toolchain and no compiler. The default installs the agent and the tray.

Both platforms
gflick-setup install

03

Choose components, if you want

A headless machine or a scripted setup does not need the tray. Pass an explicit component list to override the default.

Headless, agent only
gflick-setup install --components agent
Agent, tray, and the CLI
gflick-setup install --components agent,tray,cli

04

Confirm it came up

The status command reports what is installed and whether the agent is running. Repair reinstalls anything missing or mismatched without touching your settings.

Check
gflick-setup status
Fix
gflick-setup repair

Components

The bundle ships several executables and lets you pick which ones get installed and registered.

Installable components and their status
ComponentStatusWhat it does
agentRequiredThe device owner. Holds HID sessions, refreshes state, persists settings, and serves local IPC.
trayOptional, on by defaultNotification-area and menu-bar status client. Subscribes to events and sleeps between changes.
cliOptionalThe gflick command, for scripting and shell control of a running agent.
settingsReservedThe future primary interface. Cannot be selected until its real payload ships.

Where things go

Everything installs per user. Nothing is written to a system directory, and no administrator or root privilege is requested.

Installed locations by platform
PlatformWhatLocation
WindowsExecutables%LOCALAPPDATA%\gflick\bin
WindowsSettings and state%APPDATA%\gflick
macOSExecutables~/Library/Application Support/gflick
macOSCLI symlink~/.local/bin/gflick
macOSSettings and state~/Library/Application Support/gflick

If an install goes wrong

Installation is transactional. If a step fails partway through, the installer rolls the change back rather than leaving a half-installed tree behind. gflick-setup status reports what is present and what is running; repair reinstalls anything missing or mismatched and leaves your settings alone.

Intel macOS is rejected outright rather than installed and left to fail later. The current target is Windows 10/11 on x86-64 and Apple Silicon macOS.

Removing it

gflick-setup uninstall stops the agent, removes the executables, and unregisters the startup entry. It keeps your settings and state by default, so a later reinstall picks up where you left off. Add --remove-user-data to delete those too.

Two things worth knowing

The devtools archive is a separate download and is not part of a normal install. Its Probe executable opens HID directly and must not run at the same time as the agent, because they compete for the same interface.

When you test against real hardware, fully exit Logitech G HUB first. It contends for the same HID++ interfaces and will reapply its own active profile underneath you.

Bundle verification, the generation-token handshake between agent and tray, and the full command reference are in the setup README .