Nokia N900: My experience 12 years after its launch

Photo of my Nokia N900 running i3wm with a terminal running toot, a TUI Mastodon client.

In August 2009, over 12 years ago, Nokia announced a device which had the not-so-attractive name Nokia N900. While it wasn’t the first Linux mobile device, even by Nokia (Nokia had a series of what were called “internet tablets” going by the same naming scheme), it was the first and last smartphone made by Nokia with Maemo, marking the merge of the internet tablet software Maemo with their N-series phone lineup. Maemo was later evolved into the operating system co-developed with Intel named MeeGo which after Nokia partnered up with Microsoft got discontinued. With Maemo dead however, the community got together and began building many alternatives and mods for this device. Some even going as far as to implement wireless charging.

Over a year ago I purchased a preowned unit on eBay for about €45. It had a broken microUSB port but it worked fine as said by the seller on the description. It took about 3 months to arrive (keep in mind the purchase was made mid-pandemic) and I had to purchase a Nokia Asha 201 to charge it and get a battery for it, but after that I turned the phone on and was presented with a heavily customized Maemo 5 install with no way to reflash it back to stock. The good news is however, it came with uboot preinstalled! This means I can flash one of the many distros available for this device. And now I shall show you the experience I had with it!

Hardware

This device is a joy to use and an absolute dream for tinkerers! While the specification sheet may not sound impressive in 2022 eyes with a struggling 600 MHz Ti OMAP 3430 and 256 MB of RAM which makes a Galaxy S2 look like an absolute titan, the device contains many sensors you don’t see on modern smartphones anymore. For example, the phone includes an FM transmitter by default. You read that right, an FM transmitter. You have an infrared sensor which you barely see in some Xiaomi phones nowadays and even A/V output, so you can watch movies from your tiny Nokia… or maybe not, more on that later.

The device looks unremarkably vanilla but everyone I’ve shown this to is caught off guard by how hackery and plain out ancient it looks. The keyboard is not too big and sometimes the keys are hard to hit correctly, but you can comfortably thumb-type on it with ease.

Another feature that I found pretty neat is the retroreflective LCD panel the device has, which makes it absolutely usable in daylight if you can get past the scratches of the resistive plastic screen.

postmarketOS

I’m gonna be honest, running postmarketOS wasn’t easy on this device. It turns out either the device may have had a broken back sensor when I got it or I broke it myself trying to repair the microUSB port, but this made booting postmarketOS with the default kernel a chore. At the end I had to patch the pre-existing postmarketOS kernel to get it booting.

However, after that was done it was pretty much smooth sailing ahead! Nearly every CLI app and most GUI apps worked out of the box. cmus worked better after installing PulseAudio, but ran just fine.

The main issue however with postmarketOS is the current lack of hardware acceleration. This means you’re stuck on Xorg-based UIs like i3wm, sxmo on dwm and Xfce4 which, while not terrible, limit the phone severely in terms of security. Playing videos on postmarketOS is pretty much impossible due to this same reason and don’t even attempt to run ANYTHING powered by OpenGL.

If you can get past these limitations this device can serve well as a portable terminal, which is actually exactly how I used it when I had postmarketOS installed. I was sad to see it being dropped to testing but I might switch back to it once I have the time since Danct12 and sicelo are maintaining it once again (thank you!).

Maemo Leste

Installing Maemo Leste was really easy. Using just GNOME Disks was enough to get it fully running and I’m sure if you use any OS that isn’t Linux this will be pretty easy too. Maemo Leste pretty much solves all the issues I had with postmarketOS. The kernel, while older than the one in postmarketOS at the time of writing this article, includes patches that fix booting with the back cover sensor broken and allow for hardware acceleration, which is actually needed to run Hildon, the shell Maemo Leste uses.

However, it introduces some issues that, while not making it unusable, are deal breakers. While you can install packages through APT, they will go in a folder inside your launcher named “Debian”, which while at least makes launching APT apps easier, makes creating shortcuts for them in the desktop impossible. The official method to install apps on Maemo Leste is through their application manager, which has a way more limiting set of applications. While you have some web browsers like surf2, they don’t work well specifically with the N900.

I have to give Maemo Leste credit though for maintaining a UI that’s essentially easier for the end user to understand. And the team is doing a great job, don’t get me wrong. But these issues are not ideal if you are planning to use this device constantly.

Other distros

While these two are not the only distros ever made for the N900, these are the most active ones. After some searching some users have managed to get Arch Linux ARM and Kali Linux running on this device, but these projects are long abandoned and I doubt they’re coming back any time soon. This may change in the near future as this device ages more. Who knows!

Conclusion

Would I recommend a Nokia N900 as a main phone to anyone in 2022? No. This device has gone past daily driver phone territory. However, if you’re a tinkerer or you’re interested in Linux, this is a great device to play around with! It’s a brilliant little Linux machine that you can bring on the go and play around in and if you’re into that and you can afford it, then go ahead! It’s pretty interesting that such an old device is getting a second chance through community ports, and I’m glad people are happily maintaining it.