Experimental Gecko ESR153 (Firefox 153) browser for Sailfish OS 5.1 and 5.2.
Sailfish OS ships a browser based on Gecko ESR91 from 2021; this is a community port of the current ESR153 engine, the successor of my ESR140 port (sailfish-browser-next).
Every package in this stack carries a "-next153" suffix and uses its own directories and profile. The system browser is not touched, and the ESR140 "-next" stack can stay installed as well — all of them appear in the app grid and can be used side by side. Uninstalling the -next153 packages leaves everything else exactly as it was.
Enable this repository and install ONLY this package. The dependencies (xulrunner-qt5-next153, embedlite-components-qt5-next153, qtmozembed-qt5-next153 and the three sailfish-components-webview-qt5-next153 packages) are pulled in automatically. Download is roughly 70 MB, installed size around 200 MB.
The app grid entry uses a purple icon, so it is easy to tell apart from the stock browser's blue one.
Open with dialog
if you want to open links with this browser you can edit the desktop file like thia to add the mimetype field, thanks to mautz for finding that: sudo python3 - <<'PY' src = '/usr/share/applications/sailfish-browser.desktop' dst = '/usr/share/applications/sailfish-browser-next153.desktop' mime = next((l for l in open(src) if l.startswith('MimeType=')), 'MimeType=text/html;application/xhtml+xml;application/xml;text/xml;' 'x-scheme-handler/http;x-scheme-handler/https;\n') s = open(dst).read() if 'MimeType=' in s: print('already present') else: j = s.index('\n', s.index('Exec=')) + 1 open(dst, 'w').write(s[:j] + mime + s[j:]) print('added:', mime.strip()[:60]) PY
or manually this line MimeType=text/html;application/xhtml+xml;application/xml;text/xml;x-scheme-handler/http;x-scheme-handler/https;
and sudo update-desktop-database /usr/share/applications
This release: extensions
WebExtensions work. Open the menu, tap the puzzle-piece icon, and search addons.mozilla.org from inside the browser — installing, enabling, disabling and removing all work from there.
Tested and working:
Extensions are on by default. Earlier builds needed a pref set by hand, so a fresh profile silently had none.
The Firefox devtools protocol is available, off by default. To turn it on, add these to ~/.local/share/org.sailfishos/browser-next153/.mozilla/user.js and restart the browser:
user_pref("devtools.debugger.remote-enabled", true);
user_pref("devtools.debugger.prompt-connection", false);
user_pref("devtools.chrome.enabled", true);
user_pref("embedlite.devtools.enabled", true);
user_pref("embedlite.devtools.port", 6000);
The server then listens on port 6000 on localhost and speaks the standard remote debugging protocol, so anything that talks RDP can attach — Firefox's about:debugging, or a terminal client for evaluating chrome-privileged JavaScript, which is how most of the extension work was debugged. You add a new connection with localhost:6000 after you opened the terminal window with ssh portforwarding.
To reach it from another machine, forward the port over SSH rather than opening it up:
ssh -L 6000:localhost:6000 defaultuser@<device>
There is a devtools.debugger.force-local pref that would make the server listen on all interfaces. Don't set it: the protocol grants full chrome privileges with no authentication, so anyone on the same network could read your cookies and run code in the browser.
This is alpha software. Tested on Sony Xperia 10 V (pdx235) with SFOS 5.2.0.15 and on the Jolla Phone 2026 with SFOS 5.1, both aarch64. Reports from other devices are very welcome — please include the device model and SFOS version.
Engine and EmbedLite layer: https://github.com/smatkovi/gecko-dev (branch fork-esr153) JS components: https://github.com/smatkovi/embedlite-components (branch next153) Browser UI: https://github.com/smatkovi/sailfish-browser (branch next153)
Release notes and direct RPM downloads: https://github.com/smatkovi/gecko-dev/releases/tag/esr153-alpha1
This port was built in my free time. If you find it useful:
https://www.paypal.me/smatkovi https://liberapay.com/smatkovi
| Attachment | Size | Date |
|---|---|---|
| 4.27 MB | 23/08/2026 - 01:18 | |
| 4.27 MB | 23/08/2026 - 15:47 | |
| 4.27 MB | 23/08/2026 - 18:27 | |
| 4.28 MB | 24/08/2026 - 19:12 | |
| 4.28 MB | 24/08/2026 - 22:19 | |
| 4.31 MB | 27/08/2026 - 20:39 | |
| 4.98 MB | 29/08/2026 - 08:50 |
untested armv7hl version built
Comments
ahjolinna
Sun, 2026/08/23 - 16:34
Permalink
tested both version on my xperia x compact, xperia 10 and JP26.
153 is noticeable smoother compare to 140. There are some regression, my guess its mostly related to the port.
one example if you watch any video from https://areena.yle.fi/ and then try to leave and it crashes
here is a log from my JP 26 when I try to play a yle video from and then leave and then it crashed: https://paste.opensuse.org/pastes/471b4b46e85f
edit/update: okay seems the new update fix the crash issue, but its not as smooth as 140 when scrolling
Pages