Patchmanager 3.0

Your rating: None Average: 4.9 (50 votes)

Patchmanager 3 public beta

Make sure to unapply patches before upgrade from Patchmanager 2. Installation will fail if any patch is applied.

If you have installed prepatch, please remove it before patchmanager3 installation.

Changes between version 2 and version 3:

  • Not changing original files. Patches applied to fakeroot located at /tmp/patchmanager
  • OS update friendly. Patchmanager3 automatically detects when user start downloading an update and unapplying all patches
  • Patches can be reordered to be applied in correct order. Just drag to left and drop at required position
  • Collect information about possible conflicting patches. Visit patch info page.
  • Automatic check for updates for online catalog patches. Notificaiton will popup if new version of patch will be released
  • Patchmanager settngs are located inside Settings application as entry

Patchmanager daemon acts like proxy, filtering open calls and decide if application should open original file or fake one.

Target application translations

Add to your patch new import:

import org.SfietKonstantin.patchmanager 2.0

Add property to the root object:

property bool pmTranslationLoaded: PatchManagerTranslator ? PatchManagerTranslator.installTranslator("name-of-your-patch") : false

Change most visible text to:

pmTranslationLoaded ? qsTr("Normal text if all is okay") : "Please update patchmanager!"

Useful environment variables:
NO_PM_PRELOAD=1 disables preload plugin from filtering calls
PM_PRELOAD_DEBUG=1 enables additional stderr output for preload plugin

Keep in mind this is beta version and should contain a lot of bugs. However it was tested for a while.

Please report all bugs to:

You can collect patchmanager logs by running:
devel-su journalctl -al _COMM=jolla-settings + _EXE=/usr/sbin/patchmanager + _EXE=/usr/bin/patchmanager-dialog > patchmanager.log

Sources available here:

Translate project:


Big thanks jakibaki for Prepatch. This was very good idea to create such way for applying patches. You can review my plugin here:

See this TMO thread for more information.



Application versions: 
File patchmanager-2.3.3-10.41.1.jolla_.i486.rpm240.99 KB28/07/2017 - 16:26
File patchmanager-2.3.3-10.41.1.jolla_.armv7hl.rpm234.42 KB28/07/2017 - 16:26
File patchmanager-3.0.62-1.136.1.jolla_.i486.rpm357.76 KB10/11/2019 - 21:19
File patchmanager-3.0.62-1.136.1.jolla_.armv7hl.rpm346.03 KB10/11/2019 - 21:19
File patchmanager-3.0.63-1.137.1.jolla_.armv7hl.rpm345.99 KB11/11/2019 - 16:38
File patchmanager-3.0.63-1.137.1.jolla_.i486.rpm357.62 KB11/11/2019 - 16:38
File patchmanager-3.0.64-1.144.1.jolla_.armv7hl.rpm347.1 KB17/11/2019 - 20:09
File patchmanager-3.0.64-1.144.1.jolla_.i486.rpm359.16 KB17/11/2019 - 20:09
File patchmanager-3.0.65-1.149.1.jolla_.armv7hl.rpm347.8 KB29/04/2020 - 19:32
File patchmanager-3.0.65-1.149.1.jolla_.i486.rpm359.6 KB29/04/2020 - 19:32

Added support for main-light.png patch icons for light ambiences

Added plugin class to inject translate strings to target applications. Read description.

Fixed check for updates scheduler

Removed freeze when opening patch info

Watching jolla-settings process for qml errors and automatically disable all patches
Fetched translations


hsjpekka's picture


I tried to update the os version my patches are compatible with, but the latest version I can choose is (<project>/edit). Does the list of versions need manual update?

Btw. pm3 is working without problems in my xperia 10 and xperia x. I removed busybox and modified /etc/firejail/whitelist-common.local as told in Unfortunately I don't remember if I installed the rpm provided by coderus or vlagged.

uddghsjauszg's picture

I also cannot uninstall patchmanager even with devel-su rpm -e --nopreum patchmanager command.

Pelzlurch's picture

I have a freshly installed device (on I kow there are somme problems on SFOS4 but i had it running before with some restrictions. But now freshly installed. Web catalog stays empty and shows no patches but a spinning circle. I already deinstalled and reinstlled. No success. ANy hints?

rlpplr's picture

Patchmanager currently isn't fully compatible with SFOS 4.x

explit's picture

rpm -e --noscripts should uninstall it

danfin's picture

my XA2 answers no packages to erase and patchmanager stays.

rlpplr's picture

It says
no packages to erase
because you didn't specify the package.
You can try
devel-su rpm -e --nopreun patchmanager

antoyo's picture


I didn't know this app wasn't compatible with SFOS 4, so I installed it.

However, I cannot uninstall it anymore. It gives the following error:

Subprocess failed. Error: RPM failed: Uninstalling package Failed to stop dbus-org.SfietKonstantin.patchmanager.service: Unit dbus-org.SfietKonstantin.patchmanager.service not loaded. error: %preun(patchmanager-3.0.65-1.149.1.jolla.arrscriptlet failed, exit status 5 error: patchmanager-3.0.65-1.149.1.jolla.armv7hl: erase failed

How can I uninstall this app?


sdiconov's picture

Is it compatible with SFOS (Koli)? It installs but cannot apply any of the patches. Everything fails, including Launcher Combined explicitly marked compatible with OS

coderus's picture

Please come here to help debugging patchmanager on sailfish os 4:

Firefox84's picture

Dear Coderus,

would it be possible to upgrade this patch for SFOS I installed it, but after that it was impossible to desinstall and didn't work as desired, so i had to reinstall the system. Patchmanager is necessary to use patches as events on lockscreen. So it would be great to have an up to date version of it. Thanks! :)

coderus's picture

no eta on update for sfos 4 yet

ari_jarvio's picture

I translated this but this application is still mainly in english on my device.

coderus's picture

i did not applied any translations for this, sorry

ari_jarvio's picture

Well, I'm waiting

hsjpekka's picture

How to try if a patch works with the patchmanager? I made a folder for my patch in /usr/share/patchmanager/patches, and saw the patch name in Settings-> Patchmanager, but applying the patch failed. Can't believe there was something wrong with the patch, so some other explanation must be found :-). 

coderus's picture

you need json with metadata. check other patches in same folder.

Skillmon's picture

Found a bug (did no logging whatsoever yet). When in the web catalogue I want to install a patch and accept in the remorse item animation, patchmanager (the settings app) freezes, after terminating the settings apo and restarting it, patchmanager only displays "No patches available", entering "About" from the pulley still works, entering "Settings" freezes settings again, "Load engine" seems to have no effect, and "Web catalog" opens the page, but never loads (but showing the search field works). Happened to me while installing the latest "Return old button style" patch. What should I do to provide further information? Restarting the Home screen from within utilities doesn't fix patchmanager's state, restarting the device does. Edit: Just noticed accessing rhe settings does work, only takes a lot of time (when selecting "Please wait" upon the freeze).

coderus's picture

looks like pm daemon crashing. need logs and info at which time this happened.

Skillmon's picture

Sorry, thanks to Christmas, I wasn't around some place where I have a stable connection to the internet, and couldn't get the logs in time. I'll try to reproduce the bug and send logs of that.

fllp's picture

First: Thaaaank you for this awesome piece of software. It makes SFOS so much nicer having the ability to patch.
I'm having problems with a patch that won't apply. The error states

Can't find file to patch at input line ...

Double checked the diff for the correct path. I tried using

diff -ur

directly on Sailfish OS, no luck. Changed the prefix style (from patch workspace folder names to --- a/usr/... +++ b/usr/... ) - nothing.
I have other patches created the same way that work flawlessly. How can I debug this?

coderus's picture

You can check full log. Command is in the description.

gaelic's picture

Can you please implement a kind.of fuzzy check for the.version control. Can't install patches as they are locked to, sfos version:; cheers

coderus's picture

Enable God mode

neter's picture

Thanks for continuing to support this must-have piece of software. But what is the procedure for upgrading Patchmanager 3.0 to newer Patchmanager 3.0? Do we have to unapply all patches before such upgrade, or do we have to restart some services or the system after the upgrade, or is it safe and enough just to upgrade the package through Storeman?

coderus's picture

as user you should not worry anything, just install new version. changes are for patch makers to make patches great again.

danfin's picture

I found the problem that the google login page which appears after accepting google credentials did not show up. It remained black I could not log in. After disabling all patches and disabling patchmanager auto load i could login as that page was visible again.

coderus's picture

You should check which patch causes problem and report it to patch maintainer

deloptes's picture

Xperia X Failed to start Patchmanager check for updates service.

    Nov 11 10:28:16 Sailfish systemd[1]: Starting Patchmanager check for updates service...
    Nov 11 10:28:16 Sailfish systemd[4524]: checkForUpdates-org.SfietKonstantin.patchmanager.service: Failed at step     EXEC spawning /bin/dbus-send: No such file or directory
    Nov 11 10:28:16 Sailfish systemd[1]: checkForUpdates-org.SfietKonstantin.patchmanager.service: Main process exited, code=exited, status=203/EXEC
    Nov 11 10:28:16 Sailfish systemd[1]: Failed to start Patchmanager check for updates service.
    Nov 11 10:28:16 Sailfish systemd[1]: checkForUpdates-org.SfietKonstantin.patchmanager.service: Unit entered failed state.
    Nov 11 10:28:16 Sailfish systemd[1]: checkForUpdates-org.SfietKonstantin.patchmanager.service: Failed with result 'exit-code'.
    Nov 11 10:28:16 Sailfish systemd[1]: Started Cleanup of Temporary Directories.
    Nov 11 10:28:18 Sailfish PackageKit[4499]: daemon quit


It seems dbus-send is now under /usr/bin/dbus-send

coderus's picture

check 3.0.63