If you’ve recently picked up a Logitech MX Master mouse, you already know it’s a phenomenal piece of hardware. However, if you are a Linux user, you’ve probably hit a frustrating roadblock: Logitech doesn't provide an official version of their "Logi Options" software for Linux. Without it, your premium mouse is reduced to just basic point-and-click functionality.
Fortunately, the open-source community has a brilliant solution called Logiops. While the official documentation can sometimes feel a bit scattered, getting it up and running on Fedora is actually quite straightforward. Here is a simplified guide to compiling Logiops and getting all those extra buttons and gestures working on your machine.
(Note: The package names and commands below use dnf specifically for Fedora distributions. If you are on Ubuntu/Debian, you will need to use apt and their equivalent Debian package names.)
Step 1: Install the Required Dependencies
Before we can build the software, your Fedora system needs the right C++ compilers and development libraries. Open up your terminal and run the following command to install everything you need in one go:
sudo dnf install cmake gcc-c++ glib2-devel libevdev-devel systemd-devel libconfig-devel
Troubleshooting Tip: If CMake ever complains about a missing C++ compiler, double-check that gcc-c++ was successfully installed. If you see a "gio-2.0 not found" error during the CMake step, it means glib2-devel is missing.
Step 2: Clone and Build the Project
With the dependencies out of the way, it’s time to pull the source code from GitHub and build it.
First, clone the repository into a directory of your choice:
git clone https://github.com/PixlOne/logiops.git
Next, navigate into the new folder, create a build directory, and compile the code. Run these commands one by one:
cd logiops
mkdir build
cd build
cmake ..
make
Step 3: Create Your Configuration File
Logiops needs to know exactly what you want each button to do. We define this by creating a configuration file.
Create a new file at /etc/logid.cfg (you will need root/sudo privileges to write to the /etc/ directory). Here is an excellent starter configuration for an MX Master 2S (if you have a 3S, simply change the name field to "MX Master 3S"):
devices: (
{
name: "Wireless Mouse MX Master 2S";
smartshift:
{
on: true;
threshold: 20;
};
hiresscroll:
{
hires: false;
invert: false;
target: false;
};
dpi: 1750;
buttons: (
{
# Thumb button (Gestures)
cid: 0xc3;
action =
{
type: "Gestures";
gestures: (
{
direction: "Up";
mode: "OnRelease";
action = { type: "Keypress"; keys: ["KEY_VOLUMEUP"]; };
},
{
direction: "Down";
mode: "OnRelease";
action = { type: "Keypress"; keys: ["KEY_VOLUMEDOWN"]; };
},
{
direction: "Left";
mode: "OnRelease";
action = { type: "Keypress"; keys: ["KEY_PREVIOUSSONG"]; };
},
{
direction: "Right";
mode: "OnRelease";
action = { type: "Keypress"; keys: ["KEY_NEXTSONG"]; };
},
{
direction: "None";
mode: "OnRelease";
action = { type: "Keypress"; keys: ["KEY_PLAYPAUSE"]; };
}
);
};
},
{
# Button behind the scroll wheel
cid: 0xc4;
action = { type = "ToggleSmartshift"; };
},
{
# Back button: Previous workspace
cid: 0x53;
action = { type: "Keypress"; keys: ["KEY_LEFTMETA", "KEY_PAGEUP"]; };
},
{
# Next button: Next workspace
cid: 0x56;
action = { type: "Keypress"; keys: ["KEY_LEFTMETA", "KEY_PAGEDOWN"]; };
}
);
});
Feel free to tweak the dpi, customize the keys arrays, or adjust the SmartShift threshold to match your personal workflow!
Step 4: Install and Start the Daemon
You’re almost done. The final step is to install the compiled application to your system and enable the background service (daemon) so it starts automatically.
Run the following commands from inside your build directory:
sudo make install
sudo systemctl enable --now logid
The --now flag is a handy trick that enables the service to start on boot, while simultaneously starting it up right this second.
Final Thoughts
That's it! Your MX Master should now be fully functional on Fedora.
One final tip: If you find that your back and forward buttons aren't registering right away, try completely rebooting your machine. Sometimes the system needs
No comments:
Post a Comment