Pre-flight checklist
Which part of OpenLogi?
GUI (desktop app)
OpenLogi version
0.6.6
Operating system
macOS
OS version & architecture
macOS 27 (beta), Apple Silicon
Device model
MX Master 4 + MX Master 3S + MX Mechanical Mini, all paired to one Logi Bolt receiver
How is the device connected?
Logi Bolt receiver
Affected area(s)
What happened?
Summary
Two issues on a fresh OpenLogi setup:
- The device list flaps — all paired devices appear for ~1s, then the GUI flips back to "No devices connected", oscillating roughly every 2 seconds. They never stay long enough to configure.
- Device images never load — every device card shows the generic chip/silhouette icon instead of an actual mouse/keyboard render.
Setup
- OpenLogi 0.6.6 (Homebrew cask
openlogi@latest)
- macOS 27 beta, Apple Silicon
- Logi Bolt receiver (USB, PID 0xC548)
- Paired to the receiver: slot 1 = MX Mechanical Mini (keyboard), slot 3 = MX Master 3S (mouse), slot 4 = MX Master 4 (mouse)
What I ruled out
- Only ONE
openlogi-agent process running (no duplicate / lock contention).
- Logi Options+ uninstalled;
LogiPluginService is NOT running (6×1s process sampling showed it absent every time; no unified-log entries in 3 min). So this is not the documented "both apps compete for HID++" case.
- Input Monitoring granted to OpenLogi; GUI footer shows "Accessibility granted".
- The Bolt receiver enumerates fine in macOS (
ioreg, PID 0xC548).
Issue 1 — flapping device list
The agent re-enumerates the whole receiver on every poll (~2s). On a good cycle it finds all three devices:
openlogi_hid::transport: opened HID++ channel name=USB Receiver vid=046d
openlogi_hid::inventory: receiver reports pairing count pairing_count=Some(3)
openlogi_hid::inventory: paired slot slot=1 online=true bolt_kind=Keyboard codename=Some("MX MCHNCL M")
openlogi_hid::inventory: paired slot slot=3 online=false bolt_kind=Mouse codename=Some("MX Master 3S")
openlogi_hid::inventory: paired slot slot=4 online=true bolt_kind=Mouse codename=Some("MX Master 4 M")
On other cycles the enumeration yields an empty inventory, which the GUI renders as "No devices connected" — hence the flapping. Two back-to-back identical isolated agent runs gave different results (one found all 3 devices, one read nothing), i.e. the receiver read fails intermittently. ⌘Q only restarts the GUI, not the agent, and there is no manual "rescan" control; the only reliable recovery is launchctl kickstart -k gui/$(id -u)/org.openlogi.agent.
Issue 2 — device images never load
Every device card shows the generic chip/silhouette icon, never the real device render. GUI debug log, on every poll cycle:
openlogi_gui::asset::paths: no asset index found — using synthetic silhouette for all devices
openlogi_gui::app: no devices with HID++ model info — using synthetic silhouette root="~/.local/share/openlogi/assets"
The local asset directory (~/.local/share/openlogi/assets) stays empty and the render fetch from assets.openlogi.org never populates it. openlogi assets sync isn't available either, because the Homebrew cask ships only the GUI app — there is no openlogi CLI in PATH.
Notes
- Running on the macOS 27 beta — IOKit/IOHID behavior may differ from stable macOS and could be contributing to the intermittent HID++ read failures.
- The MX Master 4 is very new and may be a trigger.
Happy to capture longer logs or test a patch.
Steps to reproduce
- Pair MX Master 4 (plus MX Master 3S and MX Mechanical Mini) to a single Logi Bolt receiver and plug the receiver into the Mac (macOS 27 beta, Apple Silicon).
- Install OpenLogi 0.6.6 (Homebrew cask) and launch it; grant Input Monitoring and Accessibility.
- Open the Devices view and watch it for ~30 seconds.
Expected: the three devices stay listed, each with its device render.
Actual: the list flips between showing all devices and "No devices connected" roughly every 2 seconds, and the device cards only ever show the generic chip silhouette (no images).
openlogi list output
Not available — the Homebrew cask ships only OpenLogi.app (GUI); there is no `openlogi` CLI binary in PATH, so `openlogi list` cannot be run. Agent-side enumeration is included in the description and Logs.
Logs
Agent (OPENLOGI_LOG=debug) — a good cycle:
opened HID++ channel name=USB Receiver vid=046d
receiver reports pairing count pairing_count=Some(3)
paired slot slot=1 online=true bolt_kind=Keyboard codename=Some("MX MCHNCL M")
paired slot slot=3 online=false bolt_kind=Mouse codename=Some("MX Master 3S")
paired slot slot=4 online=true bolt_kind=Mouse codename=Some("MX Master 4 M")
(other cycles return an empty inventory -> GUI shows "No devices connected")
GUI (OPENLOGI_LOG=debug) — every poll:
openlogi_gui::asset::paths: no asset index found — using synthetic silhouette for all devices
openlogi_gui::app: no devices with HID++ model info — using synthetic silhouette root="~/.local/share/openlogi/assets"
macOS permissions (if applicable)
Pre-flight checklist
masterbuild.Which part of OpenLogi?
GUI (desktop app)
OpenLogi version
0.6.6
Operating system
macOS
OS version & architecture
macOS 27 (beta), Apple Silicon
Device model
MX Master 4 + MX Master 3S + MX Mechanical Mini, all paired to one Logi Bolt receiver
How is the device connected?
Logi Bolt receiver
Affected area(s)
What happened?
Summary
Two issues on a fresh OpenLogi setup:
Setup
openlogi@latest)What I ruled out
openlogi-agentprocess running (no duplicate / lock contention).LogiPluginServiceis NOT running (6×1s process sampling showed it absent every time; no unified-log entries in 3 min). So this is not the documented "both apps compete for HID++" case.ioreg, PID 0xC548).Issue 1 — flapping device list
The agent re-enumerates the whole receiver on every poll (~2s). On a good cycle it finds all three devices:
On other cycles the enumeration yields an empty inventory, which the GUI renders as "No devices connected" — hence the flapping. Two back-to-back identical isolated agent runs gave different results (one found all 3 devices, one read nothing), i.e. the receiver read fails intermittently. ⌘Q only restarts the GUI, not the agent, and there is no manual "rescan" control; the only reliable recovery is
launchctl kickstart -k gui/$(id -u)/org.openlogi.agent.Issue 2 — device images never load
Every device card shows the generic chip/silhouette icon, never the real device render. GUI debug log, on every poll cycle:
The local asset directory (
~/.local/share/openlogi/assets) stays empty and the render fetch from assets.openlogi.org never populates it.openlogi assets syncisn't available either, because the Homebrew cask ships only the GUI app — there is noopenlogiCLI in PATH.Notes
Happy to capture longer logs or test a patch.
Steps to reproduce
Expected: the three devices stay listed, each with its device render.
Actual: the list flips between showing all devices and "No devices connected" roughly every 2 seconds, and the device cards only ever show the generic chip silhouette (no images).
openlogi listoutputLogs
macOS permissions (if applicable)