Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Piper: GTK application to configure gaming mice (github.com/libratbag)
151 points by captn3m0 on July 19, 2021 | hide | past | favorite | 31 comments


Great application. There’s a lot of good open-source tools for gaming PC devices on Linux (such as OpenRGB) that put the official tools on Windows to shame. And they universally have boring, practical GUIs that aren’t branded for rad gamerz, which is such a breath of fresh air.


Yeah in general every single HW specific tool that has a full support on Linux will have a better UX design on Linux rather than the original Windows version from the HW vendor, because those are usually pestered with custom UIs, custom concepts etc etc


Dont forget the advertisements for games and the usual privacy policy you have to accept to allow them to take whatever data they want.


I didn't check Logitech tools for Linux but on Windows their software was not only pain to use, but it made my UX with their otherwise excellent hardware WORSE. If I remember correctly the software broke mouse scroll wheel click in some game.

On the other hand, Ubuntu 20.04 reports mouse and keyboard battery levels quite reliably and that's all I need software-wise.


I got a Logitech G915 keyboard about a year ago. Its default backlight pattern without official Logitech (Win/OS X only) drivers installed is a hideous RGB wave pattern with varying brightness. Only reason the keyboard has been usable for me is because someone was generous enough to make and share a program for custom backlighting control on Linux (g810-led on Github IIRC).

Like you say, it completely beats out the official Windows drivers in terms of flexibility, not to mention it worked right out of the box and doesn’t force telemetry on the user.


MSI afterburner is the worst offender of rad gamerz UI for me. Not be ause it is the most crazy looking, it's really relatively typical, but because it ships with tons of themes but they couldn't be bothered to make a single one look normal.

Also it's a 32 bit app even though the drivers for the house it supports don't have 32 bit versions anymore. And it doesn't have a "apply OC and close" ability built in... Actually anyone know of an Nvidia OC tool for Windows these days that isn't so crap?


Checking the latest version it comes with 19 themes these days...


EVGA precision is okay.


TBH I like UIs that are built for rad gamerz. I don't like UIs that are built for rad gamerz that barely work because it was all the UI team could do to pull off the visual aesthetic and making the program actually work took a back-seat.

I buy alienware hardware but avoid their software when I can, it looks cool but barely functions.


I haven't tried this, but from the screenshots I must say that the UI looks greatly more usable than what the official software from e.g. Logitech offers. Great job.


It is! I used to be a part time Windows user (mostly games) so when I bought a new mouse, I installed their offical software to configure. It felt like they spent more time on the colours of the application than UX.

Anyway fastforward many years to a few months ago. I am now full on Linux user and haven'r used my mouse in a long time. The configuration has reset and I needed a way to configure it again. Piper to the rescue. Super simple set up. It still had a few quirks for my mouse at the time, but it was actually easy to use and understand.


Used this a few months ago to configurate a logitech gaming mouse. Way better than the official software - easier to install and run, better UX, better, more features. The big thing I got out of it was the ability to easily assign any function to any key, which let me move mouse sensitivity off those two big buttons on the top-left that I kept hitting by accident because they were hanging out on a corner. Strongly recommend.


Thanks for that, I had no idea this was a thing, I've now configured my Mx master 3!


Couldn't make it (well ratbagd actually) work with my Hero 403 back in a day. Mouse works fine, but no matter how I tried to edit the config ratbagd does not see it when plugged via bt dongle


I do like the UI but is there also a way to store the config as a text file (i.e. a dotfile that I can commit to my dotfiles repo and restore if need be)?


I've been wanting to develop a similar app, but a PWA with WebUSB instead, so an installation is optional, and configuration is available on the go.


Can one finally adjust scroll wheel speed/sensitivity under Linux with this without it being a major pain??


That doesn't have anything to do with the hardware. One scroll event is one scroll event as far as the mouse is concerned.


Correct however changing how the OS handles that is a real pain in the ass on Linux. On Mac and Windows it is a simple setting change but on Linux it requires trial and error terminal commands which is very annoying.

This seems like the kind of thing an app like this would deal with no?


GTK since GTK 3.0 is very ugly.. i can never get used to these giant controls.. am i using a mouse or a touch screen? i always forget... it's my desktop PC, and i don't have a touchscreen, why do i get a touchscreen UX?


What on earth is 'ratbagd'? - Says a typical end user / gamer.

Sounds very confusing, cryptic and user / gamer unfriendly.


Its actually a very clever name (as is Piper).

Rat -> Mouse

Bag -> Because it works with all mice ie. its a catch-all.

d -> daemon

lib -> library

There's also a mouse brand (Madcatz) who have are known for their gaming mouse, Rat (stylished R.A.T.). To gamers, they're known for their quality mice.

That should tell you enough, and if it doesn't you're free to embrace curiosity to figure it out on your own.


Thanks for that! I actually didn't think about the name until you spelled it out.


The typical user/gamer will just use the "Piper" frontend which, upon installation, will automatically pull the ratbag thing dependency.


Well its an error message and it is in the Piper frontend app. That is enough to confuse them and start googling around for that message.


https://github.com/libratbag/libratbag

It looks like libratbag is a CLI only back end that does all of the heavy lifting and then abstracts everything into an API (which Piper uses).

This is actually pretty nice, as it allows any other desktop environment to use libratbag and then put their own GUI overtop of it (I do the same thing with a couple of apps).


> That is enough to confuse them and start googling around for that message.

I'm struggling to think of a reason why that isn't a good thing. God forbid an error message gives you something googleable and actionable rather than something cutesy and meaningless.


> I'm struggling to think of a reason why that isn't a good thing.

Well it should 'just work', Hit the download button, install, plug it in and forget it. Even for a gaming mouse, the manufacturer gives you the official software for it to work. As long as it doesn't get in the way and it just works after installation, I do not care.

No terminal command copy pasting or config editing like this user. [0]

If the OS you're using is unsupported, 'but libratbagd exists though' well I'm sure using it wasn't any easier before 'Piper' so the user would already have given up and switched back to Windows instead.

Again the reason why people continue to use Windows.

[0] https://news.ycombinator.com/item?id=27885294


> Well it should 'just work', Hit the download button, install, plug it in and forget it.

That's exactly what it does. When software like this is packaged, the maintainer will normally place a dependency on any other software that's required for it to work, like ratbagd. ratbagd is a D-Bus activated service, so it will be started automatically if any program tries to use it. The result is that a normal user should never see the error message.

> No terminal command copy pasting or config editing like this user. [0]

Unfortunate for that user, but I can report it works fine for my (wired) Logitech G303. The comment said he couldn't get it to work back in [the] day, so it might have already been fixed.

> Again the reason why people continue to use Windows.

Please don't bait OS flame wars. I doubt anyone chooses their OS based on its ability to change the DPI of their gamer mouse, but this seems to be a nice piece of software for those of us who have a reason to choose Linux. It's hardly the fault of Linux or libratbag that the manufacturers of these mice have chosen to use proprietary protocols and non-cross-platform software for configuration.

It's possible that the driver software works in Wine, but I'm not about to test. I don't even like installing horrid gamer drivers on Windows.


On an OS that packages it, it will 'just work'. Both will be installed and a user will never notice. If someone is building it from scratch, the installation instructions will let that user know what is needed.

In this instance, you just get to see behind the curtain because it is open source (rather than some obscure "PC load letter" error one would get on the official windows program), and I think you are extrapolating wayyyy too much based on one error screen.

> No terminal command copy pasting or config editing like this user.

Unfortunately, a lot of the "official" clients do a lot of hard coding of magic values, and will change their API on a whim. For the folks to make an unofficial API, they are now put in the precarious position of either hard coding themselves (and risk it breaking at any time), or adding a bit of flexibility at the cost of ease.

If the official vendors were so kind to not hard code these values (or tell third party vendors they were changing it), this would be much easier.


Why would you care about what any error message says? Just stick it in google, apply a solution, and go on with your day.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: