My thoughts on Slackware, life and everything

Palemoon browser

The Pale Moon browser was forked off the Mozilla Firefox codebase a couple of years ago, before Firefox switched to the Australis User Interface. Since then, the project has steadily been diverging from the Firefox codebase, optimizing its Gecko layout engine and rebranding that to ‘Goanna’ (which is the name of just another lizard). The community has a large vote in the direction the Pale Moon browser’s features are taking.

People are drawn to Pale Moon because it promises to be a browser that is leaner than the modern-day Firefox. Pale Moon has the look and feel of Firefox like it was years ago, which has a certain appeal. Firefox and Chrome are both plagued by code bloat. The Australis UI ruined Firefox for many people. Also, Pale Moon supports the old Mozilla Sync (Weave 1.x). You can easily setup your own private sync server at home.
Yet, Pale Moon promises to give you a contemporary user experience regardless.

On SlackBuilds.org (SBo) you will find two different scripts to create a Pale Moon package. One, called palemoon, will wrap the official binaries into a Slackware package. The other, called PaleMoon, is a build-from-source which attempts to stay close and true to the Pale Moon project’s official recommendations about the use of compilers (GCC 4.x but not newer) and optimizations (compiler flags are “-O2 -msse2 -mfpmath=sse”). The Pale Moon developers have decided that these conditions are necessary to compile their sources into a stable browser (i.e. one that is not prone to crashing all the time on sites that are heavy on media or JavaScript).

The lead developer of Pale Moon is also very strict about the use of his official branding by 3rd party source builds that are re-distributed as unofficial binaries. Builds that do not conform to these policies, must use unofficial branding (a monochrome logo, and the name “New Moon”). The scripts on slackbuilds.org do not re-distribute binaries so they are not affected by these policies.

I decided that I was curious enough to write a SlackBuild of my own, and see what I thought of Pale Moon. I took inspiration from Slackware’s mozilla-firefox.SlackBuild and then did two things crucially different from the official recommendations. I used the default gcc compiler of the Slackware release I built the package on (Slackware 14.2 has gcc-5.3.0 and -current had 5.4.0 at the time when I ran the compilation… of course, now -current has gcc-7.1.0). And the optimization I chose is “-Os”; a conservative optimization with a focus on smaller code size, instead of better speed.

The resulting package seems to be stable, and it is not crashing on web sites where other 3rd party builds seem to falter. See this LQ thread for more details about problematic web sites which my binary shows without issue. Also – judging from the forum posts – it appears that many crashes are triggered when running Pale Moon in KDE4 with the oxygen theme selected for your GTK+2 programs. I fixed that instability by applying a patch to oxygen-gtk2 that can be found in its code repository but was never included in an official release. That patched oxygen-gtk2-1.4.6.1 package is available in my SlackBuild repository, and is also included in my ‘ktown‘ repository for the Plasma 5 desktop environment. I urge you to upgrade your Slackware package to this version.

Moonchild, the lead developer, gave his approval to use official branding in a series of private conversations we had, but being a Windows person he wants his Linux developer to check my package out. I told him that I will have a Pale Moon package in my repository, or none at all – I will not use unofficial “New Moon” branding. My package should give you a stable browsing experience – if not, let me know and do not bother the Pale Moon developers. So, if you see the palemoon package disappear from my repository, you’ll know that I have fallen out with the project and am not agreeing to their requests.
So far so good of course – this is Slackware, and we offer a nice & stable OS to run this browser on. I hope that some of you will find your new favorite browser in Pale Moon.

31 Comments

  1. Skaendo

    So what do you think about Pale Moon Eric?

    Personally I am running a little older hardware for my daily driver, and I have found that Pale Moon is considerably faster starting up and running. Plus it seems to use less resources than Firefox, even while I have 12+ addons installed.

  2. Owen Greaves

    Hey Eric,

    The browser starts, it crashes when I click on Bookmarks, completely disappears…no errors, no warnings nothing, just poof! Gone. I can duplicate & reproduce the error. This is on a stable 14.2, I’m going to try it on the -current Plasma 5 box next : )

  3. Owen Greaves

    I’m writing this comment using PaleMoon – this browser seems to like Plasma 5 much better – nice and smooth. One thing I found odd, I wanted to import bookmarks from another browser – it couldn’t find the three other browsers on this box. That’s about as far as I’ve gotten so far : )

    Owen

  4. kjhambrick

    Eric —

    I built PaleMoon using clang / clang++ and the PaleMoon.SlackBuild from SBO.

    I installed last Sunday and like Owen Greaves, I suffered segfaults on Slackware64 14.2 when I clicked on any of the Menu Items until you suggested on LQ that I install your oxygen-gtk2-1.4.6.1 Package.

    I installed oxygen-gtk2-1.4.6.1 PaleMoon worked !

    I’ve not used Firefox since Sunday and PaleMoon has been very stable ( not a single crash and the RSS size has not changed much if at all ( i.e. no obvious memory leaks ))

    I do like the ‘old interface’ in PaleMoon better than the new ones in Firefox, Google-Chrome and Chromium.

    PaleMoon has been my default browser since Monday Morning and for now I’ll keep it

    Thanks once again for ALL your help !

    — kjh

  5. kjhambrick

    Owen Greaves —

    I was able to Export Bookmarks as HTML from Firefox and then Import them into PaleMoon.

    There is a howto at the PaleMoon Site but it appears to be offline at the minute.

    HTH.

    — kjh

  6. Owen Greaves

    kjhambrick: That’s the old school way of importing, if it works, that’s all that matters : ) Thanks

  7. Skendo

    @ kjh & Owen,

    Back when I first switched to Pale Moon a few years ago, I had no problem backing up my bookmarks from Firefox to a .json file and importing them into Pale Moon. Does Firefox still backup via .json?

  8. Jen

    That sounds like a real pain in your arse (their branding). How’s the security for PaleMoon? (Or whatever they want you to call it this week.)

  9. Gérard Monpontet

    Work here, and the locale switcher extensions also 😉

  10. Fellype

    Hi Eric!
    Thanks for this tip. And thank you for the explanation about the oxygen-gtk2 issue. I was swearing the wrong people before that 🙂

  11. Larry

    Thanks Eric. What’s the trick to get flashplayer to work?

  12. alienbob

    Larry, install my flashplayer-plugin package for the same Slackware version & architecture as your palemoon and you should be good.

  13. KG Hammarlund

    Thanks a lot for the Pale Moon package!
    Easy to transfer bookmarks from Firefox (export as html in FF and then import).
    Flash and Java (for those few sites that still requires it) works fine.
    Only snag was that PM’s own FireFTP plugin didn’t work: impossible to add an account. Solution found here:
    https://forum.apalemoon.org/viewtopic.php?t=13833

  14. The Flash

    @Jen,

    Pale Moon is actually more secure compared to the big 3 browsers.

  15. D.L.C. Burggraaff

    Current64 XFCE: Installed palemoon-27.3.0-x86_64-1alien.txz successfully.
    Xfer the Firefox bookmarks via html worked ok.
    Xfer the Firefox settings by physically copying my profile worked surprisingly good: no crashes or the like did happen on subsequent invocations.
    — /root/.mozilla/firefox/mvhm38cw.default
    — /root/.moonchild productions/pale moon/mvhm38cw.default
    — amend /root/.moonchild productions/pale moon/profiles.init file
    — one or two settings did not survive, do a point by point comparision
    My only “complaint” is that the menu entry does not have an icon: copying the
    — /usr/lib64/palemoon-27.3.0/browser/icons/mozicon128.png file to
    — /usr/share/pixmaps/palemoon.png resolves that beautispot.
    After replacing installing the Adblock Latitude, Australium and the Google search plugin I have to click the Help menu to see the difference …
    — Maybe the Firefox 53.0.2 display is slightly more crisp, but that is all.
    Thxs, Dick

  16. D.L.C. Burggraaff

    With the australium add-on palemoon looks modern enough, but after some “heavy” usage I cannot say otherwise than that its feel is what it actually is: an older firefox version.
    I am always on the lookout for disk usage savings. Alas palemoon’s are marginal: 20 MB on a 1.4 GB tar.gz rootfs backup.
    Back to firefox …

  17. The Flash

    Sorry, but Pale Moon isn’t an older Firefox version; It’s a fork of Firefox with its own source code.

  18. D.L.C. Burggraaff

    @The Flash: I do apologize for spreading misinformation.
    What I should have said is “I cannot help feeling that its feel [sic] is that of an older firefox version”.
    I understand that some people like that feel.
    Regards, Dick

  19. Rcaa

    The browser crashes whenever I try to disable the bookmarks toolbar.
    This bug also occurs on the palemoon slackbuid though…

  20. The Flash

    @Rcaa

    I personally never had that issue.

  21. alienbob

    Rcaa – did you replace Slackware’s oxygen-gtk2 package with my patched version?

  22. Rcaa

    Eric, thanks for your response.

    For some reason, I though the patched oxygen-gtk2 package was needed for your palemoon build only, and not for the repackaged sbo version.

    Now it works just fine!

  23. KG Hammarlund

    After update to 27.7.1 PM doesn’t start. Error message:

    libmozjs.so: undefined symbol: udat_countAvailable_56 Couldn’t load XPCOM.

    Probably my own fault since I don’t regularly upgrade all lib packages 🙁

    As a temporary workaround I tried the slackware package from khronosschoty (link from PM’s webpage) which works.

  24. alienbob

    KG Hammarlund are you running a not-uptodate Slackware-current? I have no idea what that error means, but PM runs perfectly here on slackware-current.

  25. KG Hammarlund

    Hi Eric,
    I run liveslak 1.1.8 permanently installed on SSD. Since I’m dependent on my laptop for work I’m (over-)cautious when it comes to updates/upgrades, especially trickier upgrades such as kernel or gcc (even if there might be a lot of truth in the saying: “In theory such upgrades can create havoc, in practice they work just fine”).
    I regularly update browser, mail client, flashplugins and the like. Other programmes I leave alone as long as they function all right. When updating, I stick to your 14.2 repo, not slackware-current.
    Sometimes a programme upgrade requires some extra upgrade. After the previous Palemoon upgrade, I also had to upgrade icu4c from 56 to 60.
    I realise that my system maintenance (or lack of it) might not be the best model.

    Tried reinstalling your latest package and still get:

    XPCOMGlueLoad error for file /usr/lib64/palemoon-27.7.1/libmozjs.so:
    /usr/lib64/palemoon-27.7.1/libmozjs.so: undefined symbol: udat_countAvailable_56
    Couldn’t load XPCOM.

  26. alienbob

    KG Hammarlund, updates of slackware-current have a tendency to “just work” but sometimes they will create issues.
    Mostly it is sufficient to watch the Slackware forum on linuxquestions.org for the fallout. If no new threads appear that document breakage then it should be safe to upgrade to the latest set of packages.
    A tool like slackpkg combined with the slackpkg+ extension will greatly help in making this process easier and less error prone.
    A word of caution with the kernel updates that happen fairly often in -current: never use upgradepkg or slackpkg to upgrade your existing kernel with a new one that you have not tested yet. I blacklist the kernel-generic kernel-huge and kernel-modules packages in slackpkg and only allow automated upgrades of kernel-headers and kernel-source.
    Install the new kernel alongside the one you are running, add it to lilo/elilo/grub configuration and test the new kernel before making it your new default boot kernel.

  27. KG Hammarlund

    Thanks, Eric.
    When checking for available updates/patches I find more than 300…
    I’ll (cowardly) leave it for now, since the system is stable and everything runs as it should. Come summer vacation I’ll make a fresh install of the latest liveslak (maybe 1.2?) and afterwards remember to check for updates regularly.

  28. alienbob

    KG Hammarlund, this page will help you cope with a system upgrade: https://docs.slackware.com/howtos:slackware_admin:systemupgrade . The one important thing to learn from that page is that you *first* need to install all the packages that have been added to Slackware since you last installed/updated and *then* proceed with upgrading the existing packages.

    After upgrading (and installing any new packages), stick with your active kernel of which you know it boots. Reboot into the new system using that older kernel, and make sure the system is OK. Only then, boot into the new kernel (which you should have added to your bootloaded menu) and if that kernel boots fine too, make it the default kernel to boot from.

    Once you’ve gone through it, you’ll think you should have done it sooner 😉

  29. KG Hammarlund

    Thanks again.
    Followed your instructions, everything seemed to run smoothly…
    …but after reboot I got stuck at the login screen, apparently the keyboard wasn’t recognised.
    So: fresh install (1.1.9.3 MATE), upgrades, and I’m good to go – with the latest kernel, glibs and all.
    Obviously I should have done it sooner… 😉

  30. alienbob

    Keyboard not being recognized usually is a symptom caused by a missing package. Did you not run “slackpkg install-new” to get all the newest packages?
    On the other hand, I am wondering what that package would be… I can not recall new packages in recent -current updates that would affect the keyboard in X.Org.
    Glad it works now, at least 🙂

  31. KG Hammarlund

    well… the MATE desktop broke after upgrading installed slackware packages (clock applet won’t show up in panel). Don’t know which upgrade that caused it.
    I can well understand that it’s impossible for you to check that mate and xfce versions can cope with all new updates.
    I have a few slack (!) days ahead so I’ll try the plasma 5 version instead.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

© 2024 Alien Pastures

Theme by Anders NorenUp ↑