It’s no secret that I am very worried about the future of Firefox, and the future of Firefox on Linux in particular. I’m not going to rehash these worries here, but suffice to say that with Mozilla increasingly focusing on advertising, Firefox’ negligible market share, and the increasing likeliness that the Google Search deal, which accounts for 85% of Mozilla’s revenue, will come to an end, I have little faith in Firefox for Linux remaining a priority for Mozilla. On top of that, as more and more advertising nonsense, in collaboration with Facebook, makes its way into Firefox, we may soon arrive at a point where Firefox can’t be shipped by Linux distributions at all anymore, due to licensing and/or idealogical reasons.
I’ve been warning the Linux community, and distributions in particular, for years now that they’re going to need an alternative default browser once the inevitable day Firefox truly shits the bed is upon us. Since I’m in the middle of removing the last few remaining bits of big tech from my life, I figured I might as well put my money where my mouth is and go on a small side quest to change my browser, too. Since I use Fedora KDE on all my machines and prefer to have as many native applications as possible, I made the switch to KDE’s own browser: Falkon.
What is Falkon?
Falkon started out as an independent project called QupZilla, but in 2017 it joined the KDE project and was renamed to Falkon. It uses QtWebEngine as its engine, which is Qt’s version of the Chromium engine, but without all the services that talk to Google, which are stripped out. This effectively makes it similar to using de-Googled Chromium. The downside is that QtWebEngine does lag behind the current Chromium version; QtWebEngine 6.8.0, the current version, is Chromium 122, while Chromium 133 is current at the time of writing.
The fact that Falkon uses a variant of the Chromium engine means websites just work, and there’s really nothing to worry about when it comes to compatibility. Another advantage of using QtWebEngine is that the engine is updated independently from the browser, so even if it seems Falkon isn’t getting much development, the engine it uses is updated regularly as part of your distribution’s and KDE’s Qt upgrades.
The downside, of course, is that you’re using a variant of Chromium, but at least it’s de-Googled and entirely invisible to the user. It’s definitely not great, and it contributes to the Chromium monoculture, but I can also understand that a project like Qt isn’t going to develop its own browser engine, and in turn, it makes perfect sense for KDE, as a flagship Qt product, to use it as well. It’s the practical choice, and I don’t blame either of them for opting for what works, and what works now – the reality is that no matter what browser you’re choose, you’re either using a browser made by Google, or one kept afloat by Google. Pick your poison.
It’s not realistic for Qt or KDE to develop their own browser engine from scratch, so opting for the most popular and very well funded browser engine and strip out all of its nasty Google bits makes the most sense. Yes, we’d all like to have more capable browser engines and thus more competition, but we have to be realistic and understand that’s not going to happen while developing a browser engine is as complex as developing an entire operating system.
Falkon’s issues and strengths
While rendering websites, compatibility, and even performance is excellent – as a normal user I don’t notice any difference between running Chrome, Firefox, or Falkon on my machines – the user interface and feature set is where Falkon stumbles a bit. There’s a few things users have come to expect from their browser that Falkon simply doesn’t offer yet, and those things needs to be addressed if the KDE project wants Falkon to be a viable alternative to Firefox and Chrome, instead of just a languishing side project nobody uses.
The biggest thing you’ll miss is without a doubt support for modern extensions. Falkon does have support for the deprecated PPAPI plugin interface and its own extensions system, but there’s no support for the modern extensions API Firefox, Chrome, and other browsers use. What this means for you as a user is that there are effectively no extensions available for Falkon, and that’s a huge thing to suddenly have to do without. Luckily, Falkon does have adblock built-in, including support for custom block lists, so the most important extension is there, but that’s it.
There’s a very old bug report/feature request about adding support for Firefox/Chrome extensions, which in turn points to a similar feature request for QtWebEngine to adopt support for such extensions. The gist is that for Falkon to get support for modern Firefox and Chrome extensions, it will have to go through QtWebEngine and thus the Qt project. While I personally can just about get by with using the BitWarden application (instead of the extension) and the built-in adblock, I think this is an absolute most for most people to adopt Falkon in any serious numbers. Most people who would consider switching to a different browser than Chrome or Firefox are going to need extensions support.
The second major thing you’ll miss is any lack of synchronisation support. You won’t be synchronising your bookmarks across different machines, let alone open tabs. Of course, this extends to mobile, where Falkon has no presence, so don’t expect to send your open tabs from your phone to your desktop as you get home. While I don’t think this is as big of an issue as the lack of modern extensions, it’s something I use a lot when working on OSNews – I find stories to link to while browsing on my phone, and then open them on my desktop to post them through the tab sharing feature of Firefox, and I really miss it. There’s a longstanding feature request for this one, too, and I suggested something like this could possibly be made to work using KDE Connect.
From here on out, the shortcomings and issues I’ve personally noted fall in the category of minor issues and bugs, mostly stemming from what seems to be a lack of attention in the development of Falkon’s UI. For instance, it’s one of the very few official KDE applications left that hasn’t received the Plasma 6 overhaul to reduce the number of frames, tidy up the spacing a bit, and generally give it a bit of a spruce. This makes Falkon look a bit outdated compared to the rest of your KDE desktop (but not massively so), while also containing some odd UI elements that are quite non-standard. I filed a bug report/feature request about this.
Even smaller bugs are random things like the cursor often not changing to a hand cursor when hovering over a link, favicons in the bookmarks toolbar not updating consistently, or (more annoyingly) screens and laptops going to sleep modes while video is playing. I’m no developer so don’t put too much faith in what I’m about to say, but it feels like things like these are not the most complicated bugs to handle, and looking at the lack of activity in the bug tracker for Falkon, it feels like even within KDE itself, Falkon isn’t exactly used a lot. This is a shame, because other than the issues I’ve mentioned, Falkon is remarkably full-featured and capable.
Think of any feature a modern browser has, and Falkon probably has it. There’s a password manager built-in that can use both encrypted and non-encrypted databases as well as Kwallet, a Greasemonkey-compatible extension, web inspector tools, extensive privacy controls, spell check, address bar search with support for every search engine under the sun, advanced tab management, and much, much more.
And of course, it has a Qt/KDE graphical user interface that integrates better with KDE, both visually and behaviourally, than any other browser – including support for things like the global menubar widget, something Firefox does not support (but Chrome weirdly does). This means Falkon will respect your font choices, colour settings, light and dark mode options, and everything else. Where Chrome and Firefox feel like they’re not at all at home in KDE (or GNOME, for that matter), Falkon is just another KDE application, and looks and feels almost entirely integrated.
Combine all of this with the excellent rendering and performance thanks to QtWebEngine, and Falkon is simply a far more capable and solid browser than most people seem to know. I’ve switched all my machines to it a little over a week ago or so now, and for me, the benefits of having a truly native, KDE-first browser far outweigh some of the shortcommings I’ve had to deal with. Relying on the BitWarden application instead of the extension is a bit more cumbersome, but not massively so. No longer having tab sharing sucks, but since switching to GrapheneOS and its Vanadium browser, I had to give that up anyway.
KDE is on track
My goal with writing this article, talking about Falkon on Mastodon, and filing bug reports – I’ve got a few more extremely minor niggles coming – is to let people know that Falkon is in a far better, more usable, and capable state than most people know. Hopefully, this article will get a few more people to try it out, file bug reports, or even become a contributor to this very capable but seemingly a bit of a neglected official KDE application.
At this rate, I give Firefox (the Linux version in particular) a few more years, at most, before its various advertising and other anti-user additions make it incompatible with the idealogical and license requirements of most Linux distributions, and KDE should be ready for when this day comes. I don’t have any illusions about my influence here – OSNews is relatively small and the inertia to switch browsers is very real and understandable – but I think that with how good Falkon already is, KDE is much closer to not having to rely on Firefox or Chrome than even KDE itself seems to know.
And with how things are going, that’s very good news.