Solaar is a Linux device manager for Logitech's Unifying Receiver peripherals. It is able to pair/unpair devices to the receiver, and for most devices read battery status.
It comes in two flavors, command-line and GUI. Both are able to list the devices paired to a Unifying Receiver, show detailed info for each device, and also pair/unpair supported devices with the receiver.
Solaar will detect all devices paired with your Unifying Receiver, and at the very least display some basic information about them.
For some devices, extra settings (usually not available through the standard Linux system configuration) are supported:
-
The K750 Solar Keyboard is also queried for its solar charge status. Pressing the
Solar
key on the keyboard will pop-up the application window and display the current lighting value (Lux) as reported by the keyboard, similar to Logitech's Solar.app for Windows. -
The state of the
FN
key can be toggled on some keyboards (K750, K800 and K360). It changes the way the function keys (F1
..F12
) work, i.e. whether holdingFN
while pressing the function keys will generate the standardFx
keycodes or the special function (yellow icons) keycodes. -
The DPI can be changed on the Performance MX Mouse.
-
Smooth scrolling (higher sensitivity on vertical scrolling with the wheel) can be toggled on the M705 Marathon Mouse and Anywhere MX Mouse.
Extended support for other devices may be added in the future, depending on the documentation available, but the K750 keyboard and M705 mouse are the only devices I have and can directly test on right now.
Pre-built packages are available for a few Linux distros:
- Ubuntu 12.04+: ppa:daniel.pavel/Solaar
- a Debian/sid package: .deb
- a Gentoo overlay, courtesy of Carlos Silva
- an OpenSUSE rpm, courtesy of Mathias Homann
- an Arch package, courtesy of Arnaud Taffanel
You should have a reasonably new kernel (3.2+), with the logitech-djreceiver
driver enabled and loaded; also, the udev
package must be installed and the
daemon running. If you have a modern Linux distribution (2011+), you're most
likely good to go.
The command-line application (bin/solaar-cli
) requires Python 2.7.3 or 3.2+
(either version should work), and the python-pyudev
/python3-pyudev
package.
The GUI application (bin/solaar
) also requires Gtk3, and its GObject
Introspection bindings. The Debian/Ubuntu package names are
python-gi
/python3-gi
and gir1.2-gtk-3.0
; if you're using another
distribution the required packages are most likely named something similar.
If the desktop notifications bindings are also installed (gir1.2-notify-0.7
),
you will also get desktop notifications when devices come online/go offline.
Normally USB devices are not accessible for r/w by regular users, so you will need to do a one-time udev rule installation to allow access to the Logitech Unifying Receiver.
You can run the rules.d/install.sh
script from Solaar to do this installation
automatically (it will switch to root when necessary), or you can do all the
required steps by hand, as the root user:
- copy
rules.d/99-logitech-unfiying-receiver.rules
from Solaar to/etc/udev/rules.d/
By default, the rule makes the Unifying Receiver device available for r/w by
all users belonging to the plugdev
system group (standard Debian/Ubuntu
group for pluggable devices). It may need changes, specific to your
particular system's configuration. If in doubt, replacing GROUP="plugdev"
with GROUP="<your username>"
should just work.
-
run
udevadm control --reload-rules
to let the udev daemon know about the new rule -
physically remove the Unifying Receiver, wait 10 seconds and re-insert it
- Ubuntu's Unity indicators are not supported at this time. However, if you whitelist 'Solaar' in the systray, you will get an icon (see Enable more icons to be in the system tray? for details).
-
The application only looks at the first Unifying Receiver it finds, even if there's more than one plugged in. Support for multiple receivers is in progress.
-
Devices connected throught a Nano Receiver (which is very similar to the Unifying Receiver) are not supported at this time.
-
Running the command-line application (
bin/solaar-cli
) while the GUI application is also running may occasionally cause either of them to become confused about the state of the devices. I haven't encountered this often enough to be able to be able to diagnose it properly yet.
This project began as a third-hand clone of Noah K. Tilton's logitech-solar-k750 project on GitHub (no longer available). It was developed further thanks to the diggings in Logitech's HID++ protocol done by many other people:
- Julien Danjou, who also provided some internal Logitech documentation
- Lars-Dominik Braun
- Alexander Hofbauer
- Clach04
Also thanks to Douglas Wagner and Julien Gascard for helping with application testing and supporting new devices.
--