meta data for this page
Fractal is a Matrix messaging app for GNOME written in Rust. Its interface is optimized for collaboration in large groups, such as free software projects.
Scale to fit:
org.gnome.Fractal [flatpak] OR fractal [apt]
5 of 5 Points, fully optimized
How to install:
sudo apt update sudo apt install fractal
# You will need to trust and add the flathub repo in flatpak flatpak install flathub org.gnome.Fractal
Using the apt-version of Fractal doesn't remember login information. This is due to the way the Gnome Keyring works - will presumably be fixed in the future. As a workaround you can try unlocking the keyring by first starting an application that unlocks the keyring successfully (f.e. geary, epiphany - if you have saved passwords and try login to a site for which you have a saved password).
Tips & Tricks
Fractal does currently not support E2E (see the issue in their bug tracker), so encrypted chatrooms are virtually inaccessible through this client. However, you can use Pantalaimon as a proxy-server to your Fractal client.
Pantalaimon works as the “good man in the middle”, between your client and the Matrix Server. It deals with de- & encryption and forwards the unencrypted messages to Fractal (or encrypted ones to the room). This also works with media.
Pantalaimon is a daemon, written in Python, that can directly run as a systemd process on Mobian. It can be installed with pip (
sudo apt install python3-pip; sudo pip3 install pantalaimon) or through the Sid repositories (see below). The setup is a bit tricky, however and the Repository's notes do not go into great detail.
Setting up Pantalaimon
It's recommended to do this via SSH, as it involves a lot of copying and typing.
Enable the sid-repo
Just follow the instructions (make sure to not forget setting the priorities).
sudo apt update.
sudo apt install pantalaimon
Setting up Pantalaimon
Create a 'pantalaimon' folder in ~/.config
mkdir -p ~/.config/pantalaimon
and create a file pantalaimon.conf in that folder with the following content (make sure to exchange matrix.org with your actual homeserver:
[Default] # LogLevel = Debug SSL = True [local-matrix] Homeserver = https://matrix.org ListenAddress = localhost ListenPort = 8009 SSL = False # UseKeyring = True # IgnoreVerification = True
Optional lines are commented out here (#).
Now you should be able to run pantalaimon by executing it
Optional: systemd service
Optional: In order to start pantalaimon automatically via systemd, create a file pantalaimon.service in /lib/systemd/user/pantalaimon.service
[Unit] Description=Pantalaimon E2E Matrix reverse proxy [Service] ExecStart=/usr/bin/pantalaimon [Install] WantedBy=default.target
and start the service with
systemctl –user enable –now pantalaimon.service.
In Fractal, set your homeserver to
http://localhost:8009 (if you set a different ListenPort, you need to adjust it here, too) and login with your username and password. To access encrypted messages from other devices/sessions, you will need to establish trust on your other logged in Matrix clients.
Troubleshooting: CPU spikes
When using Pantalaimon through the systemd service, it is always running in the background, even if you do not actively using Fractal (or any other Matrix client). This can become a CPU hog, if you receive a lot of encrypted messages or media and drain your battery. There is no concrete solution to this, but you can work around it by limiting the CPU power dedicated to the Pantalaimon process:
Install the cpulimit tool:
sudo apt install cpulimit
Edit your systemd service file, described above to:
[Unit] Description=Pantalaimon E2E Matrix reverse proxy [Service] ExecStart=/usr/bin/cpulimit --limit=25 --lazy --foreground -- /usr/bin/pantalaimon [Install] WantedBy=default.target
Then reload the systemd daemons and restart the service:
sudo systemctl daemon-reload sudo systemctl restart pantalaimon.service