Ask HN: Does anyone use a Raspberry Pi as your main computer?
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 ] threadWhat I am most afraid of is the editing experience mostly.
Have you actually tested that?
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.
[This comment was written on a rpi4, btw.]
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.
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.
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.
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.
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.
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")
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.
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/
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.
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.
I use Visual Studio Code and Obsidian on my system and they both run fine. They are probably among the better Electron apps though.
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)
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 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.
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.
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)
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?
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.
What do you mean here? Couldn't Power Macs run Linux?
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.
Mind the shipping price and doll fees though.
https://www.pine64.org/rockpro64/
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.
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".
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.
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.
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.
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.
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.
You'll probably run into issues if you try to run a full stack with Docker + React + whatever you use.
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.
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.
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 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.