Ask HN: Does anyone use a Raspberry Pi as your main computer?

173 points by ecmascript ↗ HN
I have several raspberry pis at home but I have never used them for anything else than small servers of different kinds like pi-hole, webservers etc. For quite some time I have wondered if it was all possible to use it 100% of the time coding on it etc.

Therefore I am wondering if anyone here uses a raspberry pi as their main computer, maybe for coding on, paying bills, surfing the web etc.

How is the experience, what version do you use with how much ram etc? What are the issues, if any?

193 comments

[ 3.2 ms ] story [ 231 ms ] thread
surfing the web is a pain. I use a phone for webmail stuff, otherwise fallback to tui. rpi400 with alpine 64bit, external 1To SSD usb 3.
why is it a "pain"?
I am a bit curious on why the OP think it's a pain. What version of raspberry pi is he/she using?
I’d imagine JavaScript heavy sites are pretty miserable on the Pi even the latest models.
Which is remarkable given how many older systems and software the pi can run natively or emulate at full speed. The web really can be embarassing in terms of performance.
But who cares? I don’t browse on a PI, I browse on a laptop.
It is awful, isn't it? I do wonder how many joules we waste on poorly performing web apps that could be made more efficient by applying less engineering rather than more.
As a javascript dev myself which write javascript heavy websites, I think all of my sites would perform just fine on a raspberry pi, at least on the newer models.

What I am most afraid of is the editing experience mostly.

Editing JavaScript?
> I think all of my sites would perform just fine on a raspberry pi

Have you actually tested that?

Media elements, JavaScript, RAM limitations, difficult video rendering, and crashing limit its productivity.

Looking for ways to apply a new CCD to pi astrophotography recently, I made two mistakes: I didn't block ads and I opened more than two tabs.

The pi ended up in swap hell for over a minute before I restarted. This is an rpi4 4GB, OC'd with heatsinks and active cooling, on a good IOPS SD. Browsing the web is the only thing I've found that it routinely struggles with.

Swapping on the SD card is a nightmare. I found out that disabling the swap actually leads to a better experience, even if it means that firefox gets killed from time to time.

[This comment was written on a rpi4, btw.]

Would swap on zram work? I've used that to help with low-memory situations, but I'm not sure if the Pi's CPU is fast enough to avoid it being a different bottleneck.
It does work, and it's how I ran the same pi when it was a host to a particularly bloated java app prone to exceeding its -Xmx.
Like other have said javascript makes it slow. sourcehut.org: great. twitter: unsuable. mastodon: barely. github: ok-ish. gmail: ko. protonmail: ko. I use a rpi400 with 4GB of RAM. I forgot to mention the builtin wifi does not work great. I am using Ethernet. I am using the rpi400 to write this message, and I have been using it for two weeks. I tried ubuntu 22.04, 64bit raspberry pi OS too. And I intend to keep using the rpi400, and build my projects on top of it.
I have a couple of Pi's on the network. I tried to replace an older, home-built Linux file server with a Pi 4: stock Raspbian, a 5 TB USB drive, no display. It was very slow; finally I replaced it with a $250 refurbished Dell from Ebay; threw Debian on it, and never looked back. Pi is a fun toy for some purposes but at this point I don't see it being useful as anything but a wireguard gateway (eventually).
At it's original price, it's quite useful for small projects such as controlling a CNC (laser, 3d printer, router, etc) or a retro game console, etc.

When you scale beyond that, even a cluster of them can't match a really cheap mini desktop computer.

At current prices, you're definitely better off with the mini desktop. I wanted to add a Pi to my other 3d printer recently, and can't find one laying around, so I went to buy a $15 R Pi 0W2... It's $115 on Amazon and sold out everywhere else. For slightly more, I can get a 3 or 4. For slightly more yet, I'm in mini PC territory. The software can run on Linux, but it's designed for a Pi and the instructions say you're on your own. Ugh.

(comment deleted)
The idea attracted me once.

The reality is that a used laptop is more affordable by the time a screen, keyboard, pointing device, power supply and clock are added and provides orders of magnitude better experience.

Or to put it another way, using an RPi as a daily driver was not a hill I found worth dying on. Linux is Linux. Good luck.

I just wanna know where the heck I can buy the newest mid to topend models! I'm in Australia. There's several projects that I've been wanting to kick-start.
If you’ve not seen this site, it will tell you : https://rpilocator.com/

Spoiler alert, availability is very poor! They are making 500k units a month and can’t keep up with demand.

https://www.raspberrypi.com/news/production-and-supply-chain...

My advice would be to preorder and wait - I guess it’s going to be 2023 before they are generally available again.

Nope already knew about that site, it leaves out a tonne of countries, including Australia (which I mentioned is my country)
I do. I have a Pi I run as a server where it runs PiHole, PiVPN (Wireguard), and a personal Node environment. My main use case is to have a system I can SSH into and develop personal projects. This works well because I have a few machines that I can’t develop locally. A work machine that I cannot mix personal work with. An iPad that has no local shell (I use https://blink.sh for this). It works fantastically!

I’ve made a home “Are you in a meeting” website that everyone on my WiFi can point their browsers to. I have https://tiddlywiki.com instances running there. It manages my VPN when I’m out of the house. And I block a huge portion of ads when I use it as a DNS server.

This is how I intend to use mine, I just have not sat down to do it. This way I don't need to waste any resources on my main box. I'm also kind of waiting to buy a Pi 4. I used to run Pi-Hole at home but it got corrupted. I also had openHAB setup as well to control my A/C via ... whatever that wireless protocol is called that my thermostat was using. I have since replaced my thermostats with the Wyze one.
I have a 32" 4K monitor in an upstairs room where I work from home with my work laptop. It's away from my main compute infrastructure but I did want a personal device, and a Raspi can drive 4K. So I bought a 4GB Raspi4 and overclocked it to 2GHz.

As long as you can live with slightly sluggish mouse click response, it's OK. Make that very sluggish on heavy Javascript web stuff like Gmail or Facebook. But it all works.

Video playback is an issue. First I ran the default 32-bit Raspi OS, and 1080 was marginal (forget 4K - it does drive the resolution but it's not fast enough to really do video - fullscreen Youtube for example at that resolution). So I applied various copypasta from the internet to fully enable hardware accelerated video - the framerate of glxgears confirmed that GL was faster than before. Video was now performant but with horizontal tearing issues that weren't there previously.

After the official 64 bit Raspi OS came out, I started over with that. Performance is not noticeably different. Not all the copypasta from before worked; no tearing issues now, but again if you want to play local media with VLC or mplayer, better stick to 1080 and if you want to comfortably watch fullscreen Youtube, go to 720. I have some quick command line aliases to switch the display resolution for this.

The device doesn't do suspend/resume, but on the other hand, desktop idle uses about as much power as a night light, so it's simply left on all the time. It's in the open (screwed to the bottom of a desktop) with a pair of small heat sinks stuck to the main integrated circuits. Thermal is OK; about the only way to drive it to thermal throttling is the "stress" command; otherwise heat is not a limiting factor.

One thing that was mostly impossible last time I tried it with Raspi OS (32-bit mode) was video calling with the common web-based tools. Skype, for example, didn't offer it, no matter what the system configuration. This may be a deal breaker for "main computer".

Others have said that the Wifi on Raspis is solid, but in my own experience they always end up plugged into a hardwired ethernet connection.

I've used a Pi4/4mb as my main desktop for a few days while waiting for parts for the "big" system; it kept up with HN and discord, let me access my text files, and that was about all I expected from it. I had to use a different device to access web stores and track the replacement parts.

Far, far better than nothing, but limited enough that there's things you just can't do.

(I've also got 3 on TVs, one as the house fileserver, and a couple that get thrown down whenever im doing a project that can use them. those aren't "main")

Sevarg has done it https://www.sevarg.net/2019/12/14/building-raspberry-pi-4-de...

It’s totally doable from what I understand and sips tiny amounts of power.

An M1 may be better but I don’t know if it can get as low power.

On the subject of Raspberry Pi 4 and Mac M1, I got to compare the two in an interesting way recently.

A bit over a month ago, I began supporting the Pi 4/400 (possibly some of the earlier?) with my audio plugins (VST2.4, which Reaper etc. can use). So new plugins automatically include a Pi build, but also all nearly-300 previous plugins are included, and I got to test out a full mix on RPI Reaper.

But I don't have an interface for it, I had to use the HDMI output to get audio. But I could still run Reaper and use that output… so I brought in a mix I'd made on an iMac Pro (not the hugest, about 14 tracks but all 24/96 and not intended to be CPU-friendly at all)

Turned out it played back just fine on the Pi, though the project rate was forced to 48k. That meant all the files (I think?) were resampled on the fly to fit into the downsampled project, which doesn't make the process more efficient. But the whole thing played fine… off a Sandisk SD card, not an SSD.

If I had an interface that I could record with, I'd be able to do music production work on a Pi. I'd probably want to lean on tracking external instruments, analog synths and such rather than leaning heavily on softsynths. I'm also eager to get Renoise working on the Pi, though I've had no luck with it yet. Renoise exporting individual tracks to be mixed in Reaper and have more tracks overdubbed, is a workflow that really clicks with me, and in theory the whole thing can run on a Pi 4.

I have the whole plugin collection here for anyone else into music production on the Pi 4: again, this is a bit over a month ago, didn't exist before then. https://www.airwindows.com/raspberry-pi/

That's awesome! I never would have thought you could run a full DAW on a Pi. It appears that all the audio is being streamed from disk in the video of the article you linked. I think down sampling would actually add a bit of overhead, but it's probably negligible. Would definitely be interesting to see how the Pi performed while recording to the SD card.

One thing I really like about this is that, between both DAW and VST's supporting linux, it's super easy/affordable to maintain a separate machine that is solely for music production.

I've done this but got tired of it eventually. I had an 8gb raspberry pi 4. I ran xfce4 under raspbian/raspberry pi OS with lightweight applications - luakit for a browser, claws mail for email, terminal, and a few background processes. I also casted to my TV from Gnomecast and, later, VLC. Coding was all done in micro with a few plugins enabled.

Mostly it worked pretty well, but with too many tabs opened it would start to become cpu bound. Most electron apps were unusable too.

For me it was a process of trying to spend less time online: the idea was I'd alter my behaviour by using a more limited medium. On that count it was a resounding success. I stopped because I missed games, so now I have an Udoo Bolt Gear, which was about £400 and is good enough for what I play without being wastefully over-specced. Same relative minimalism, but just a bit faster with more room to upgrade. I'd recommend trying both.

This is close to my answer. Good alternatives for not much more money. Good for limiting wasteful time. The more system I have, the more I want to screw around.

I use Visual Studio Code and Obsidian on my system and they both run fine. They are probably among the better Electron apps though.

Except that Udoo is 10x the price I paid for a pi 4, actually 13x including exchange rates.
True, but it has fewer limitations. I'm a fiend for Stellaris and Endless Sky, what can I say?
For the people who answer this, I'd like to know if they booted from an sd-card or ssd-device as well. I noticed a huge difference in the responsiveness when using my Pi 4 (only via ssh and with a terminal) for some machine learning jobs after I switched to boot from an external SSD. For Pi4s made in the last couple of years, booting from ssd seems to be a built-in feature, without any need for flashing anything on the device first, which held me back from doing it earlier.
For me using SSD with Pi is the key point to make it useable for daily driver. SSD plus overclocking.
I was going to say this. The sdcard is the weak link in the Raspberry Pi system. Even a USB flash drive is better. I have a Pi 4 that I use as a secondary system and it boots from an external SSD. It makes a real difference in responsiveness.
Indeed. There are also SBCs in similar price- and spec range from other vendors but with SATA or even m2 PCIe interfaces, which is generally a lot more reliable than gambling on dodgy USB3 adapters.

Alternatively, CM4 (or equivalent) on an appropriate board.

(I used one of those as a workstation for a month or so; worked fine enough, the only major friction was that I had to be mindful of closing browser tabs)

Sort of... I have a bare-bones system which is based on a Pi Zero W (single core) and runs Debian Buster. It has 512Mb memory of which around 60Mb is actually used. Everything is TUI based and I can multitask by starting up Tmux and running (strolling!) my usual apps. I use it mainly as a Lite Laptop and just plug it into the nearest HDMI screen. I use a spare cellphone for Internet and I can also plug a small USB hub into it which gives me expansion options including USB memory stick, Yubikey and ethernet for my home network. There's a lot of great, resource-frugal software out there and it's been great fun to set up.

Edit: the biggest PITA has been Bluetooth. I was occasionally able to connect and pair, but not always. I eventually uninstalled everything --blue-- and hve not regretted it. I now use a cheapo WiFi keyboard to do the initial login.

My main system went down, so I have been using a Pi 4 with 8GB of memory for a couple weeks and off and on for a month. My needs are really simple.

My biggest issue is that it locks up a lot with sites with video. Since I use the Pi mostly for work stuff, I can avoid that and do off-time browsing on my phone.

The other issue is the quirks of a new system. Some apps have no ARM option. Some issues require a lot of Googling.

I don't see why you would anyone would go this route intentionally though. It seems like there would be better options for not much more money.

One thing I do like about the Pi, is that it's a lot less bulk compared to my desktop. It seems like the Pi would be great for people concerned about E-waste. It might also be a good option for people who use it as a client to a cloud desktop service. Last I looked, AWS and Azure didn't have ARM versions available though. So, I would have been limited to a web based client. If that hasn't changed, then I imagine it could soon.

I'm surprised by the number of comments that have mentioned the same situation, which I myself am also in right now - main machine is broken and I had been using it as a pi-hole and print server. It makes me even rethink the whole idea of using the pi for even tasks like that. Maybe better to just get e.g. old x86 hardware instead of the pi.
No, it's lovely as my DHCP/ DNS server running pi hole + networked VPN though
I tried. I just wanted a machine on my workbench to run a web browser. I got the best Raspberry Pi, a case, and plugged it into an old 24" monitor. Cost me about $80-100.

It worked fine. It could even play a 1080p YouTube video. However, everything lagged. The most painful thing was that it took several seconds to render a website when it's normally instantaneous. I found it quite frustrating to use, so I ended up buying a $200 mini desktop computer that runs fantastic.

Could have been the browser? Or the network interface? Did you ever figure out why?
Doesn't help that the pi 4 has a single-core performance that is 1/5th that of a current smartphone. If you are coming from fast hardware, the pi 4 is quite bad. I would love to see someone make a $99 product in this range with something moderately fast.
People have long been fascinated with "alternative" architectures for general purpose computing but most of the time you pay a little bit less (1/2) but pay dearly in terms of performance (more than 1/5 compared to a low end laptop.)

It has a lot to do with why cable boxes suck.

ARM is the first architecture in 20 years that competes with x86 on reasonably priced machines. (e.g. IBM POWER and IBM z are pretty quick but you can't afford them)

> ARM is the first architecture in 20 years that competes with x86 on reasonably priced machines. (e.g. IBM POWER and IBM z are pretty quick but you can't afford them)

What about the PPC Macs? Yes, they were bad enough that Apple had to switch to x86—not exactly a ringing endorsement—but I'd say they were at least somewhat competitive, no?

Yeah, the power macs were usable in the early 00's but they were slipping fast. I don't know if I'd count macs as "alternative" because, despite their good qualities, they are more locked down than PCs.

SPARC was almost viable for a desktop machine in the early 00's, I had one under my desk that I was running a Sun Ray server on. We were hoping to use Sun Rays to provide access to the online catalog and other web resources but after Netscape became a non-viable web browser we were never able to get Mozilla to build on SPARC. It could have been ported but we didn't have the resources and nobody else bothered to do it. SPARC was slipping too and the price was not right.

> I don't know if I'd count macs as "alternative" because, despite their good qualities, they are more locked down than PCs.

What do you mean here? Couldn't Power Macs run Linux?

I don’t remember much about it but they even had a bootloader called Open Firmware. Assuming its not a joke, GP has it dead wrong.
I don't know if I'd agree that SPARC would've ever been viable. The performance just wasn't there for the price. For instance, my 2002 AlphaServer DS25 with two 1 GHz CPUs runs many workloads noticeably faster than my 2007 Sun Fire V245 with two 1.5 GHz UltraSPARC IIIi CPUs.

Also, Macs were never locked down. All Macs can run alternate OSes, from m68k Macs which can still run modern NetBSD without issues, to beige PCI Power Macs, to G3, G4 and G5 Power Macs, to Intel Macs, and now ARM Macs. Notably missing is support for NuBus Power Macs which requires more work than people are willing to do, although older MkLinux was available for them.

Pine64's RockPro 64 with 4GB RAM is $80 ($60 for the 2G version) and felt reasonably fast when one day I had to temporarily use it to surf the web.

Mind the shipping price and doll fees though.

https://www.pine64.org/rockpro64/

Browser engines need a lot of computing to know what color each pixel of a page needs to be, for each pixel: the typeface affects it, the background image of all the parent elements (in case of transparency) affects it, the CSS positioning of the elements affects it (there could be a white title text, but an annoying cookie popup with a semi-dark background means it needs to be displayed as a greyed out text).
They really don't though, they could do it just fine in 1995.

Browsers have bloated into crazy complex machines though that do way more than rendering some text and graphics. The simple rendering is not why browsers are slow on RPis.

HTML is simple. Add CSS and dynamic DOM manipulation and it's whole different situation.
The javascript stuff that transformed hypertext documents into fully fledged applications is complicated. HTML and CSS really isn't. It's hard to have an unbiased opinion about what is easy and what is hard for a computer to do.

Much of what is done on the web could be 90% as good with 10% of the complexity, but we're buried under too many layers of abstraction, bloat, and "improvement".

Enough of such comments. Obviously you have never worked much in the front end or the web user experience, and don't understand the complexity or the difficulty of such technologies. Anyone saying "things were fine in 1995" is ignoring how non-interactive, non-intuitive how web pages were, and how much more pleasant it is to look at a web page and get the information today. It is true that some web pages are using unnecessary (or even too much) animations and such and may have a negative effect on user experience or accessibility, but there is no doubt that the web is a better place than it was in 1995. And I'm sorry to say that your personal opinion does not matter, and the web is never going back to 1995.
You say, commenting on a website explicitly designed to be minimalist which would be perfectly comfortable running on a 1995 level hardware.

Most of the web I visit doesn’t need to be interactive all that much and the interactivity that is added gets in the way more than it helps anything. We’re just exchanging pictures and text here. The bits where people are writing applications on the web really get in the way of experiences where people are just exchanging content.

(comment deleted)
I played around a lot and never got it to improve. I think it's just limited compute resources on the Pi and the fact that web browsers and websites have become massive. It takes a lot to a render a webpage these days.

It might have been lack of GPU. Moving windows around the screen was also really painful, probably 1-2 fps render rate as I dragged. I know browsers off-load a lot to GPUs these days too, so that could explain the slow browser rendering.

Yup the Pi 4 is still not there yet. You'd be much better served by something like an off lease sff business desktop. Even things as old as a 2nd Gen Intel Core series CPU will feel significantly better for browsing than a Pi.
(comment deleted)
Curious, what mini-desktop pc did you go with?
The most painful thing was that it took several seconds to render a website when it's normally instantaneous

A ton of that went away for me on my Rpi4 when I switched from sdcard to using a USB NVMe adapter[0] with a decent M.2 SSD in it. And I was using an sdcard recommended for its performance!

Try it. It's astonishing how badly that sdcard holds a Pi back in interactive use.

[0] https://smile.amazon.com/gp/product/B08G14NBCS This one supports trim, which is nice, not all USB M.2 adapters do. I've forgotten a lot of the details from when I researched it, but IIRC if your adapter supports UASP, that's a pretty good indicator of trim support.

Same here. That SD is a huge bottleneck and a reliability Achilles heel as well.

Faster cards reduce the bottleneck somewhat, and constant write (videosurveillance) cards reduce the Achilles heel somewhat by increasing time between failure.

But only a real SSD fixes both at the same time.

(comment deleted)
My wife bought a 2008 iMac for $50 but never used it. One day my laptop broke and I put Manjaro Linux on the iMac, hoping I could use it for a few days knowing it would suck. The screen was nice but it only had 6 GB of RAM, a spinning hard drive, and a Core Duo processor.

Thing is, I still use it all the time. It is the computer I use most often for Zoom and Teams. Web browsing is very good. I use the latest releases of Firefox, Brave, and Edge. Much of my earlier learning around Docker and Podman was on that iMac. It worked great.

I find that older computers work better than underpowered but current stuff, at least with regards to price performance.

The one way that old hardware is worse I suppose is in power usage.

The funny thing about some apps is they enable different strategies based on the hardware available. It's why a Chrome tab will use 1GB of RAM on a beefy machine but also run fine on a a machine with 1GB total RAM.
(comment deleted)
I'm still using a 2006ish ThinkPad with a CoreDuo in it and only 2Gb of RAM nearly daily, there is still a lot of computing power out there in some of these oldies if one is willing to try.
You'll have no problems if you just want to surf the internet, pay bills, write some small scripts.

You'll probably run into issues if you try to run a full stack with Docker + React + whatever you use.

I use a Raspberry Pi Zero 2 W as a cupsd print server. It is powered by usb from the Wi-Fi router and connected directly to an old USB laser printer nearby. Works great to print wirelessly.

I also have a Raspberry Pi 4 (8gb) with an Argon One M.2 case and a Kingston SSD. I use it mainly for coding/tinkering in C, Pharo, Racket etc. Not logged into any social media or mail in the web browser, just using it to read docs etc. Fast enough to be usable but no speed demon for sure. Overclocked to around 2GHz/64-bit OS.

I used the very first original Pi B when it first came out as a small "shadow IT"-type desktop at work around 2014. We could only use Macs or Windows, and I needed something sane running Linux.

That version is much slower than today's Pi4, and I ended up using it mostly for command line sysadmin type stuff using a terminal and SSH. I used it for 1 year, before switching jobs.

While not running a desktop, today I have 6 Pi4s running a Ceph cluster and serving CephFS in my house. It's actually quite easy to set up, and very usable. Not super fast, because I'm using SMR drives, but definitely very usable as a very reliable NAS. Definitely more reliable than any ZFS setup.

I do use Raspberry Pi 400 for accessing other machines via SSH and browser. Lack of memory really limits being able to replace a lot of desktop workflows, so I still do most of my work on a i7 powered LG Gram 17 that runs Kubuntu. The Pi is significantly slower than four year old i5 MBP and way slower than the i7 for building node apps and compiling Go... but, it's fast enough it could be usable. I do love the keyboard form factor. It is a pretty impressive device for the price, and has this old-school "home computer" vibe to it.
Why Kubuntu and not KDE Neon?
Inertia. I'll have to try out Neon.
I've been working from home using a RPi 4B hooked up to a large monitor as a thin client for the last two years, first using Remmina and now mostly running VMWare Horizon client. The only thing I am not using it for is video conferencing.
I do basically the same thing and I'm quite happy. Does it really counts as a "main computer" though?
I use Pi 4 with 8GB of Ram and 1TB SSD (in a Argon ONE M.2 case) as the main local linux server but not for desktop/web. Access it from an iPad pro usually (the whole combo is extremely portable) and use remote/cloud servers when processing power is needed.
I tried to replace an old laptop (T430) with a raspberry pi 4 as a tv media player, after reading all about how it could do 4k and so on.

The truth is it's just not powerful enough for that (or even 1080p), and stutters and tears on almost any media, and is just sluggish in general (It's not just the sd card, I paid out for a top end SDXC class 10, U3, V30, A2 etc, etc card, nor thermal, I have heatsink, fan). I really can't imagine using it as a main machine, with tens of active browser tabs, programming compilations, open documents, etc, etc.

I went the other way. I used to have a couple of pi's which did different things. They kept on crashing as the sdcards were destroyed by much use - this can be changed by modifying Linux to use RO root (I thought of this recently when I made a secondary DNS box for my network). Now I have a low power Xeon server where I can create a virtual machine for any task and it's faster than the pi3/4 that I used before.
Years ago (not Pi 4, something older) I tried it to use one as a small home server where I can ssh into and do Linux things while on Windows but it wasn't for me. Maybe the USB stick I used was too slow, maybe something else, but even typing in a shell and waiting for commands to finish felt too sluggish for me, so I repurposed my old i5 w/SSD.
https://news.ycombinator.com/item?id=29377783 has some relevant comments, here's a copy of mine:

I spent around 5 months in 2019 using a Raspberry Pi 3B+(1GB of RAM) as my sole home computer because my laptop broke. You can browse the web if you aggressively close tabs and block almost all js (and periodically restart the browser). Editing latex was possible as was writing some code (although using a modern editor and the web simultaneously isn't always an option - I grew to love nano). I did have a access to a modern x86 machine in an office.

Github was probably the most painful website (although it's still better than Gitlab which doesn't work at all without js). I think it had recently removed a bunch of functionality for users without js and it's not designed with people who care about every 100MB of RAM in mind.