Improve Logitech MX Master 3 Mouse Support on Arch Linux

Aug 9, 2025    #linux   #arch   #logiops  

Previously I had written about how I improved my Logitech peripheral support on PopOS using solaar and libratbag . This method worked just fine when I was running Pop, but I’ve recently switched to an Arch Linux setup on my main desktop. Unfortunately, this previous method wasn’t working for getting my Logitech MX Master 3 mouse fully working.

The Problem

Out of the box, the MX Master 3 mouse mostly just works with Linux. That is, until you want some of the extra buttons to function or to edit things like the mouse’s DPI. In this case, you’ll need to turn to some third party solutions to fully take advantage of the hardware.

As previously mentioned, I had previously solved this using solaar. This method was still allowing me to edit my mouse’s DPI, but it wasn’t allowing me full support for all of the buttons on my mouse. Specifically, I couldn’t map the thumb button to anything. Ideally, I would like to map this button to the workspace overview on KDE Plasma.

The Solution

My solution was pretty simple, install and configure logiops. As with most anything, this is largely covered on the Arch Wiki , but I’ll summarize all of the steps here.

Step 1: Install logiops from the AUR

To start, you’ll obviously need to obtain logiops. You can do this easily using the AUR .

Step 2: Enable logiops

You’ll need to enable the logiops service:

1sudo systemctl enable logid
2sudo systemctl start logid

Step 3: Configure logiops

Logiops is controlled by the /etc/logid.cfg file. The Arch install from the AUR does not contain one, so you’ll need to create it. Here’s the config I used to adjust my DPI, map the back and forward buttons, and map the thumb button to the workspace overview on KDE Plasma:

 1devices: ({
 2  name: "Wireless Mouse MX Master";
 3
 4  // A lower threshold number makes the wheel switch to free-spin mode
 5  // quicker when scrolling fast.
 6  smartshift: { on: true; threshold: 20; };
 7
 8  hiresscroll: { hires: true; invert: false; target: false; };
 9
10  // Higher numbers make the mouse more sensitive (cursor moves faster),
11  // 4000 max for MX Master 3.
12  dpi: 1500;
13
14  buttons: (
15
16    // Forward button
17    { cid: 0x56; action = { type: "Keypress"; keys: ["KEY_FORWARD"]; }; },
18
19    // Back button
20    { cid: 0x53; action = { type: "Keypress"; keys: ["KEY_BACK"];    }; },
21
22    // Open overview with thumb button
23    { cid: 0xc3; action = { type = "Keypress"; keys = ["KEY_LEFTMETA", "KEY_W"]; }; }
24  );
25});

Step 4: Restart the Daemon

Finally, restart the logiops daemon:

1sudo systemctl restart logid

I would recommend checking the status as it’ll fail to start if there’s an error with your config:

 1sudo systemctl status logid
 2● logid.service - Logitech Configuration Daemon
 3     Loaded: loaded (/usr/lib/systemd/system/logid.service; enabled; preset: disabled)
 4     Active: active (running) since Sat 2025-08-09 05:49:10 MDT; 11min ago
 5 Invocation: 2fa3378854944d83893d063164f04b10
 6   Main PID: 110211 (logid)
 7      Tasks: 9 (limit: 154032)
 8     Memory: 1.2M (peak: 2.7M)
 9        CPU: 114ms
10     CGroup: /system.slice/logid.service
11             └─110211 /usr/bin/logid
12
13Aug 09 05:49:10 Anubis systemd[1]: Started Logitech Configuration Daemon.
14Aug 09 05:49:10 Anubis logid[110211]: [INFO] Detected receiver at /dev/hidraw0
15Aug 09 05:49:10 Anubis logid[110211]: [INFO] Device found: Wireless Mouse MX Master on /dev/hidraw0:2

With this, my Logitech MX Master 3 mouse is now fully functional on my Arch Linux install!