Web Browsers

Last update: 2 june 2020.

Introduction

After having successfully installed a basic operating system (GLLFSC, mips64el, n32) with a graphical interface on my Yeeloong, I wanted to have a graphical web browser with good CSS and javascript rendering.

Existing Web Browsers

At the beginning, I used lynx: it is a fast but non-graphical web browser. There are many graphical web browsers that interested me: Dillo, Firefox/Icecat, Jumanji, Kazehakase, Midori, Netsurf, Surf, Uzbl, Vimprobable and Xombrero.

While there seems to be many of them, most are based on the WebKit rendering engine. This is a problem as many versions of WebKit won't build on mips n32 by default. And even if there are patches here and there that make some build on mips n32, many will freeze when rendering a website with javascript. I have finally been able to build a usable webkit for both the gtk2 and gtk3 versions though: here are my recipes webkit-gtk2 and webkit-gtk3. However, like Firefox, build time is above 12 hours on my Loongson Yeeloong 8133 with a quad-core Loongson-3A...

There are also 3 other candidates that build well on mips64el with n32: Dillo, Firefox/Icecat and Netsurf.

Dillo (3.0.4) is the lightest and fastest: it is simple to build and has a few dependencies. But CSS rendering is limited, even Acid1 is rendered incorrectly. Moreover, there is no support for javascript yet. Finally, support of https is in its infancy.

Netsurf (3.2) is also pretty lightweight and fast. Moreover, CSS rendering is much better than with Dillo, although Acid2 is rendered incorrectly. But javascript support is still incomplete and this is an issue for more and more websites, which heavily depend on javascript. https is implemented if OpenSSL is found during the build.

Finally, there is Firefox (31.0.4). Its GNU alternative, IceCat, which only proposes free addons, is released only using Extended Support Releases (ESR) of Firefox (currently, version 31). Firefox has good support for both CSS and javascript, and also for https. But Firefox has severe drawbacks too. It is a pain to build: many dependencies, some bugs to patch and a build time of more than 12 hours (!) on my Yeeloong 8133 with a quad-core Loongson-3A processor and make -j3. It is also noticeably slower than Dillo on startup (10 s vs 1 s) and when running. I remember Firefox did not build anymore on mips since around version 4.0 but situation has improved since Mozilla hired the maintainer of Iceweasel for Debian around 2010. I can build Icecat 31.0.4 on Yeeloong 8133 with my recipe.

I should also mention Links that can be used as a text web-browser, but also as a graphical one when launched with option -g.

Fifth seems promising.

Summary Table

Lynx Links Dillo Firefox/Icecat Netsurf Webkit-based browsers
Graphical No Yes with -g Yes Yes Yes Yes
CSS support No No Basic Good Pretty good Good
Javascript support No No No Yes No Yes (2.2.5a)
https support Yes Yes Basic Yes Yes Yes
Build process Simple Simple Simple Difficult and slow Medium Medium but slow
Speed Fast Fast Fast Slow Medium Medium