Syncthing on HTPC gamemode

What I want is to run Syncthing to sync my emu saves while I’m in Game Mode. I boot directly into Game Mode, so I never pass through the desktop. Currently, I have the package layered and don’t even use a Decky Syncthing plugin, as I mostly sync saves and it’s instant—so I don’t have to check, since they are synced before I can even shut down the PC.

The thing is, I know from the wiki that layering packages on top of Bazzite is considered a last resort, but I had no other way to make it work while I was in Game Mode.

Is there a ujust recipe for Syncthing that makes it work during Game Mode?

Thanks for your time in advance.

I don’t have a gamemode image. However, I have Syncthing running in a Quadlet. In theory, this should also work for gamemode. You could try the following:

Create the container file

~/.config/containers/systemd/syncthing.container

with the following content:

[Container]
Image=docker.io/syncthing/syncthing:latest

# Web-GUI
PublishPort=127.0.0.1:8384:8384

# Data sync
PublishPort=22000:22000/tcp
PublishPort=22000:22000/udp

# Folder for cnofig files and sync (Replace <username> and <Folder to sync>)
Volume=/home/<username>/.config/syncthing:/var/syncthing/config:Z
Volume=/home/<username>/<Folder to sync>:/var/syncthing/Sync:Z

PodmanArgs=--userns=keep-id

# Running on Startup
[Install]
WantedBy=default.target

Create the config folder:

mkdir /home/$USER/.config/syncthing

Start the Syncthing container with the following commands

systemctl --user daemon-reload
systemctl --user start syncthing

Run the following command to run the container even if you are not logged in.

loginctl enable-linger $USER

Configure Syncthing via http://localhost:8384 in your browser.

More about Quadlet at:

Hey,

You can also try the Flatpak SyncThingy (Syncthing + tray indicator) - it works out of the box without any tinkering needed on all my Bluefin and Bazzite systems.

There isn’t a ujust for it yet, but there is a fairly detailed guide someone made on how to get it working on Steam Deck:

Hey I wanted to say thanks for the answer. I will try the docker version with quadlet OR the flatpak version with syncthingtray flatpak but with the intergrated syncthing instance in the flatpak and then connect my syncthing addon in game mode with that flatpak as I DONT want to use the GTK syncthing that last updated 3 years ago. Again thanks for the answers and I will report back when I have a final solution!

UPDATE:

I pulled the Syncthing RPM config folder and removed the layered package using ostree rpm-ostree reset.

After that, I installed the Syncthing Tray Flatpak by marcthus and copied the Syncthing config folder into the syncthingtray folder in the .var/app directory.

I then activated the integrated Syncthing app from the settings (Startup > Syncthing Launcher tab) and also added the Flatpak to the startup apps in the KDE settings.

I switched into Game Mode and, using Decky Loader, installed the Syncthing plugin.

I went through the setup process, selected Flatpak as the service type, and added the ID for the Syncthing Tray Flatpak.

Lastly, I enabled the “Start on Boot” option in the plugin settings and restarted both into Game Mode and into Desktop Mode multiple times to verify everything.

Now I have Syncthing running in both Desktop and Game Mode, regardless of where my first login happens.

List of what I used:

  1. Syncthing Tray Flatpak
  2. Decky Plugin: Syncthing
2 Likes

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.