Skip to content
Peter Hutterer edited this page Aug 2, 2019 · 5 revisions

Does Piper support my device?

No. At least not directly. Piper is merely a front-end to the libratbag DBus interface (via a process called ratbagd). If your device does not show up in Piper, it is almost always because libratbag does not support your device. Please file a bug against libratbag, not against piper.

My device doesn't work with Piper

99% of the time, this is an issue with libratbag. Always check with ratbagctl list and ratbagctl info to see what ratbagd exposes via dbus. If your mouse does not show up or shows up with incomplete information, the issue it with libratbag. See "Does Piper support my device"

I'm missing some dependencies

To build piper, you need a few development packages, not just the run-time packages. For example, if meson complains with Native dependency 'pygobject-3.0' not found, you need the pygobject3-devel package on Fedora or its siblings on Debian-based distributions. Read through this blog post here: https://who-t.blogspot.com/2018/07/meson-fails-with-native-dependency-not-found.html, it outlines how to identify and fix the problem.

Piper complains about "Incompatible ratbagd API version error"

Unfortunately, the ratbagd DBus API is not yet stable and changes every once in a while. When this happens, both libratbag and piper need to be updated. To avoid Piper simply crashing somewhere, we check the ratbagd API version with the expected one. Where the two do not match, Piper refuses to start with the above message and suggests updating.

  • if you run libratbag or piper from git, you must run the other one from git too. We always make sure the git master branches are compatible.
  • if you run a specific version of libratbag, you must run the version of piper released for that version. Updating one or the other will most likely fail.
  • if you run piper from Flatpak you must run the most recent libratbag release.