Logitech MX Anywhere 2

Setting up Logitech MX Anywhere 2 or similar mouse over Bluetooth in a distro like Gentoo is not as easy as it looks, especially if you're running a custom kernel. There are some modules you might be missing, also BlueZ often doesn't set polling correctly, so either your mouse cursor will be choppy or it will not move at all.

Steps described below should cover all that is needed to make the mouse work.

  1. Confirm that all the required kernel modules are in place:
    Device Drivers  --->
        HID support  --->
            <*> HID bus support
            [*]   Battery level reporting for HID devices
            <*>   User-space I/O driver support for HID subsystem
            <*>   Generic HID driver
            Special HID drivers  --->
                <*> Logitech devices
                <*>   Logitech HID++ devices support
  2. Set UserspaceHID=true in the /etc/bluetooth/input.conf file.
  3. Pair the device, you can use either bluetoothctl or a tool provided with your desktop manager, like f.e. Gnome Bluetooth.
  4. Add or modify the following section in /var/lib/bluetooth/<mac-of-your-adapter>/<mac-of-your-mouse>/info (adapt the path accordingly):
    [ConnectionParameters]
    MinInterval=6
    MaxInterval=9
    Latency=44
    Timeout=216
  5. Restart BlueZ:
    $ sudo rc-service bluetooth restart