A Techblog by

Maximilian Lösch

A Word On: Light Weight Browsing

published: 2022-01-06

I recently got my filthy mitts hands on a wonderful artifact of the early 2000nds. A Netbook, more specifically a Lenovo Ideapad S10-2 from 2003. I always wanted a Netbook when I grew up, but I saw how underpowered they were, when even my local mechanic complained about a lack of compute power on his netbook, which he used to interface with the on-board diagnostics of the cars he was working on.

Well now after almost two decades of advancement in mobile computing it is my turn to add my voice to the choir. This device, on which I am writing this, is underpowered to say the least. Especially hardware accelerated Graphics were not there yet. But hey, the Intel Atom N270 in this at least does hyperthreading with its single core.

I immediately replaced the hard-drive, a normal 2.5" hard-disk ,with a cheap SSD from Intenso. The previous owner had Linux Mint Cinnamon 18.04 installed on it, which seemingly ran fine, the thing that killed it for him, was the fact he had problems with the wireless drivers. The main Reason for 18.04 Mint was, that since this is a 32bit Machine, this is the latest LTS version that supports 32 bit.

I now run void Linux on it. My favourite for a use-case as this, where I want a minimal and lightweight system on it, would have been Arch, but Arch Linux dropped support for the i686 Architecture a long time ago. This now means, that this is also my first system with runit as the init-system. An interesting experience to be discussed another time. Installation was easy and without any real Problems, though I installed most things manually and only ran the install tool after the Filesystem was set up the way I wanted.

Now came the next choice:

The Web browser

As a long time Firefox and Opera user, I was at first sceptical if my usual choices would be appropriate in this case. A meager 1GB of slow DDR2 RAM and single core Processor would only run a minimalistic modern Webbrowser and not something as heavy as the Chromium derivatives I am used to. Or so I thought.

With a heavy load of mental bias and unverified assumptions I began my journey to find a browser. A browser small in impact on my systems resources. A browser capable of handling modern Websites. A browser by the name of qutebrowser.

This champion of lightweight browsing entered the tiny Arena by the way of xbps only to instantly be called forth to wow me with his amazing ability to not work ,topple over and cry.

The Problem quickly showed itself to be a lack of Memory. What I don’t have, I need to compensate for. The insertion of a clever wordplay about under-proportioned reproductive tooling and big-block engines is left as a exercise to the reader.

The fix in such a situation in general is the usage of a swap-file so the system can use part of the Filesystem to page out parts of the Memory. I normally do not use swap-files on my systems. On my usual daily-driver PCs I have enough RAM to seldom have the need to swap things out. Also I do not use swap partitions on systems such as these, since I do not know how well SSDs handle swap-partitions. Rumor has it, that especially on SSDs as the many writing operations may wear out the Flash prematurely. Thankfully swap-files in btrfs are supported since quite a long time, so the usage is simple enough. The idea is, since the swapfile lives in my Filesystem, the SSD gets used more evenly, but any decent SSD controller should do this “wear-leveling” anyway, independently of the partitioning.

After some attempts to run qutebrowser, which started thanks to the additional Memory, I was even more frustrated. When running a graphical environment, i3 on x, in this case, the system reports about 730 MB of free memory space, all of which gets consumed by the browser immediately upon start. Some of it gets quickly paged out and so 120 MB become available again quite quickly. Enough space to load a webpage, but the experience whilst browsing is frankly not tolerable. I don’t expect smooth scrolling on such a device, but the amount of lag is horrendous. Frustrated I logged of and put the Netbook aside for a few days.

A New Hope.

Well yes, but actually no.

So I installed firefox. It started without a hitch. I worked quite well, even scrolling was better. Not good, but better. After a reboot firefox worked flawlessly. The Memory impact is small enough to even not require a swapfile. Leaving me with almost 500 MB of Memory, with a single Tab open. I left the configuration on the netbook as it was, because a big swapfile might come in handy later. Compilation of big Programs is a use-case that comes to mind. Probably compiling the kernel on it, just to see how long it will take. Also since this cpu is not affected by some of the vulnerabilities that modern processors suffer from, I should gain some performance.

Battery-life is quite amazing by the way. My Ideapad came with a larger Battery, and it runs for multiple hours, under minimal load. Especially when just writing stuff on it, it serves its new purpose perfectly.