Signal Messenger and the Reform Laptop

Thanks to Lukas’ help on the IRC channel I was made aware of this Mobian build for the Signal Desktop client. It works very well on the Reform.

https://wiki.mobian-project.org/doku.php?id=signaldesktop

and if you would like to compile it yourself:

Hope that helps!

5 Likes

Out of desperation, I will definitely be trying this myself, so thanks!

Until now my preferred solution has been running a signal-matrix bridge, but it’s really not ideal.

I hope in the future running Signal on arm can somehow become more sustainable.

Indeed it’s a shame they don’t offer a build. Telegram for example works really well.

Well yeah, but Telegram also has a web client, which makes using it a piece of cake. I don’t particularly care for Telegram though, so I don’t use it much.

I agree. BUT… I’ve recently been using this build:
http://elagost.com/flatpak/

As It recently started using gitlab CI for compiling.

And I finally realize… Signal (or probably any other electron-based thing?) is just way too bloated to run on Reform. It’s ridiculous. I really want this, but I might be going back to a bridge solution. When the chats get large- especially if there are lots of images- it will chew through your RAM.

1 Like

Hmm I have Signal open with Dino and a host of other applications running. I am sure I am using the swap, but I haven’t seen any slow downs with it. It runs very smoothly and is completely functional. I agree though, electron apps suck.

I use GitHub - boxdot/gurk-rs: Signal Messenger client for terminal

There is a small set of people working it. It has a nice set of features now which make it usable for 90%. The navigation is a bit different, but quick to learn.

NOTE: The one major issue is that I run into “silent” failures (message not received or not send) occasionally which pulls be back to upstream signal client. It doesn’t handle some “states” very well yet which usually requires a “reset” which in the Signal ecosystem means no history (or in the case of gurk, no address book sync yet). I believe this is partially the upstream library catching up and partially the developers haven’t personally run into the state yet. They are pretty responsive though.

This may sound crazy, but I wonder if Anbox/Waydroid and the Android Signal client would be resource efficient enough? One snag I can think of is I do believe only one mobile client per account is allowed (so it would steal it from the app on a mobile if you use one).

Aside: I am considering switching to XMPP or Matrix with a gateway to “unify”

1 Like

Yeah I use XMPP myself with the Dino client. It works great. on mobile Conversations IM is the defacto Android client setting the standards for all other clients.

That is cool that there is a Signal terminal client, thanks for sharing!

I’ve personally been using scli. It was a bit of a hassle to get compiled, though. I’ll have to try gurk.

Edit: For the curious, the key to getting scli working was compiling and providing a native libsignal for signal-cli using the instructions on this wiki page: Provide native lib for libsignal · AsamK/signal-cli Wiki · GitHub

Edit: Immediately getting this error when trying to compile gurk:

error: failed to compile `gurk v0.2.5-dev (https://github.com/boxdot/gurk-rs#3f200fc5)`, intermediate artifacts can be found at `/tmp/cargo-installWYGigm`

Caused by:
  failed to select a version for the requirement `curve25519-dalek = "^2.0.0"`
  candidate versions found which didn't match: 3.2.1
  location searched: Git repository https://github.com/signalapp/curve25519-dalek.git?branch=lizard2
  required by package `zkgroup v0.7.3 (https://github.com/signalapp/zkgroup?tag=v0.7.3#197c382e)`
      ... which satisfies git dependency `zkgroup` of package `libsignal-service v0.1.0 (https://github.com/whisperfish/libsignal-service-rs?rev=efd4ea86f57520d99141bb9c1c4b38a2ac646d6a#efd4ea86)`
      ... which satisfies git dependency `libsignal-service` of package `presage v0.2.0 (https://github.com/whisperfish/presage.git?rev=8fcfb65#8fcfb651)`
      ... which satisfies git dependency `presage` of package `gurk v0.2.5-dev (/home/hex/.cargo/git/checkouts/gurk-rs-7cf8dc9d9ee78b42/3f200fc)`
1 Like

What was the command you used to build. I am successful with:

crgo install --locked --git https://github.com/boxdot/gurk-rs gurk

NB: the --locked is necessary due to library dependencies moving quickly upstream which break some compatibility