1# Manual installation
2
3### Requirements
4
5You should have a reasonably new kernel (3.2+), with the `logitech-djreceiver`
6driver enabled and loaded (kernel module `hid-logitech-dj`) or Linux 3.19+
7(kernel module `hid-logitech-hidpp`); also, the `udev` package must be installed
8and the daemon running.  If you have a modern Linux distribution (2011+), you're
9most likely good to go.
10
11The command-line application (`bin/solaar-cli`) requires Python 2.7.3 or 3.2+
12(either version should work), and the `python-pyudev`/`python3-pyudev` package.
13
14The GUI application (`bin/solaar`) also requires Gtk3, and its GObject
15Introspection bindings. The Debian/Ubuntu package names are
16`python-gi`/`python3-gi` and `gir1.2-gtk-3.0`; if you're using another
17distribution the required packages are most likely named something similar.
18If the desktop notifications bindings are also installed (`gir1.2-notify-0.7`),
19you will also get desktop notifications when devices come online/go offline.
20
21For gnome-shell/Unity support, you also need to have `gir1.2-appindicator3-0.1`
22installed.
23
24
25### Installation
26
27Normally USB devices are not accessible for r/w by regular users, so you will
28need to do a one-time udev rule installation to allow access to the Logitech
29Unifying Receiver.
30
31You can run the `rules.d/install.sh` script from Solaar to do this installation
32automatically (make sure to run it as your regular desktop user, it will switch
33to root when necessary), or you can do all the required steps by hand, as the
34root user:
35
361. Copy `rules.d/42-logitech-unifying-receiver.rules` from Solaar to
37   `/etc/udev/rules.d/`. The `udev` daemon will automatically pick up this file
38   using inotify.
39
40   By default, the rule allows all members of the `plugdev` group to have
41   read/write access to the Unifying Receiver device. (standard Debian/Ubuntu
42   group for pluggable devices). It may need changes, specific to your
43   particular system's configuration. If in doubt, replacing `GROUP="plugdev"`
44   with `GROUP="<your username>"` should just work.
45
462. Physically remove the Unifying Receiver and re-insert it.
47
48   This is necessary because if the receiver is already plugged-in, it already
49   has a `/dev/hidrawX` device node, but with the old (`root:root`) permissions.
50   Plugging it again will re-create the device node with the right permissions.
51
523. Make sure your desktop users are part of the `plugdev` group, by running
53   `gpasswd -a <desktop username> plugdev`. If these users were not assigned to the
54   group before, they must re-login for the changes to take effect.
55