New PC
For a while new, maybe a year or so, I have been using a Raspberry Pi as my primary PC at home. This has actually not been as difficult as you might expect. When I first got my first Raspberry Pi I did not intend it to be used this way. On a whim I installed Berry Terminal on an SDcard and tried it. It actually functioned reasonably well. Much better than I had expected. I was even able to play music through it with little difficulty.
At the time I had been using an old Pentium 4 that I had purchased in about 2004. It was very slow and power hungry and fairly noisy. One of its main problems was it would constantly overheat and constantly throttle which lead to an audible hum and sluggish interfaces. It was a Prescott.
When I was able to get reasonably comparable performance out of using the Pi as a thin client I switched over almost immediately. This even though the server for the thin client is pretty weak as well. It is an atom CPU server that I purchased in maybe late 2010 or 2011. This atom server also runs a whole lot. My screens, web server, IRC servers, and more.
Despite all this working reasonably well it is not perfect. The interface is sluggish in many ways. In fact in many ways even slower than the Pentium 4 was. But it's very silent and very power efficient so I am willing to look over that.
The biggest problem is sometimes under high load (high network traffic I think) the Pi tends to either drop keypresses or start repeating them. For example I will push "a" and I will end up with either "" or "aaaaaa..." where I have to push another key to stop it. Very irritating.
Another more minor issue is I have a cable running down from my bedroom to my kitchen to connect to my router. Wireless is just not an option for the thin client I think since most everything is running over the network.
One pro for this whole setup, beyond power efficiency and simplicity, is that I have only one home directory and one set of settings for everything. Previously I would have had a home directory and set of settings on my Pentium 4 and then another on my server. But that's fairly minor I suppose because they are really used for different purposes. It comes more into play if I want to run Firefox when I'm not at home or something and still have access to all my settings and bookmarks.
So I've decided to move on from the Pi. Note I did try a non-thin client Pi and the same keypress issue occurs there. I wonder if it's just my Pi though since it seems in general the opinion online from what I can tell in my searching that others do not have this issue so much any more. Even if it is just my Pi though, the other issues, such as me wanting to go wireless, and just overall speed, make me want to switch.
The question is then what to switch to? I have considered several options:
- Full new PC. Maybe an AMD APU or a Pentium CPU, something reasonably weak but likely much snappier than this.
- A full laptop. Such as a Dell or a Lenovo
- A chromebook.
- An Olimex ARM SoC. Basically a more powerful Pi type SoC device.
- A Minnowboard Max. This is an x86 SoC. By Intel this time.
- A Gizmoboard. This is another x86 SoC. This one by AMD.
- A Wandboard. Another SoC type device.
- A Beaglebone black. This is quite similar to a Pi but a little more powerful.
Each of these has pros and cons for me and so far I've not found one I feel is a perfect choice.
Some of the things I'd like (non-exhaustive and in no particular order):
- Open / libre. For example the Pi is not because it requires a blob to run.
- Reasonably priced. I'd say less than $150 for an SoC device or less than $300 for a full PC. For a laptop, I'm not sure.
- Must be able to run at 1920x1080 resolution. I mention this because it seems some SoC devices cannot do this.
- Ideally will have onboard stereo audio. Mentioned because some SoC do not have audio beyond combined with HDMI.
- I prefer forums for support to mailing lists.
- Ideally low power. Pi being 5W or so is nice. I don't want to be wasteful.
- No fan. And ideally runs with low temperature so that cooling is not a big worry.
- Simple. Fewer moving parts to have to worry about.
What is not a concern:
- I won't be gaming. I'll be mostly using the browser or text editors.
- I don't need super speeds. Remember I've been living with something that might be considered very slow. I just need really if I push a key that it registers.
Let's run through some of the options with that list.
Full PC
- Libre: In general this is the case. But some CPUs require microcode and I am skeptical of UEFI which apparently is required for most.
- Price: Price can be reasonable. Not really the issue.
- Resolution: Resolution is not an issue. Most onboard graphics cards are far more than I need.
- Audio: Almost always has onboard stereo out.
- Support: No real need for separate support forums.
- Power: Power can be low but this would definitely be on the high end compared to an SoC setup. I'd expect to be running 50-100W.
- Cooling: Fan is likely going to be needed but ambient cooling might be possible.
- Simple: This is the most complex option in that I'd be buying maybe 6-10 parts and putting it all together. As well it would be a large footprint as I'd likely go with a tower.
Probably the biggest concern I have here is the open / libre point. While it might be possible to ensure I get something running coreboot or something, I think it's going to be a lot more difficult and require a lot more research.
A full laptop
- Libre: Same issues as with PC. If not worse. UEFI. Even worse these almost always come with a non-free OS which is a dealbreaker for me.
- Price: Likely the costliest option. I'd expect to pay $600 or so to get something acceptable.
- Resolution: Not an issue.
- Audio: Not an issue.
- Support: Not an issue.
- Power: Power use likely good. May not be as efficient as an SoC but still on the efficient side.
- Cooling: Likely would have fans and have cooling issues.
- Simple: While this is simple from the purchase and setup standpoint, I'm then stuck with hardware that I can't repair very easily.
Overall the libre point again makes this a dealbreaker.
Chromebook
This is basically the same as the laptop choice. The most irritating part of this would be having to fight with the hardware to run it as I would like. It appears they are not really meant to be running anything but ChromeOS. While it's possible from what I can gather, it would not be the simplest choice.
Olimex ARM SoC
Some cons with this are:
- No stereo out
- Unknown performance
- Unknown how easy to set up, nor how easy to keep up to date (image)
Minnowboard Max
Some cons:
- Mailing list for support
- From what I read these can run very hot and even require separate cooling. I read someone had this up to 90C (maybe it was not the Max version, but it makes me skeptical).
- No stereo out without an addon.
- Possible libre concerns due to it running UEFI.
Gizmoboard
Some cons:
- Cooling is the biggest issue. Images on their site show it having a heatsink with a fan which I loathe for a choice of this nature.
- Seems pricier than other comparable options.
Wandboard
Some cons:
- Read a few posts where this was called unstable
- Availability and support. Seems very niche. I had not even heard of it beyond reading an element14 forum and I've been reading about these type of boards for a while now.
Beaglebone
Some cons:
- Resolution that I need not supported.
Summary
In summary I've essentially decided at this point to go with an Olimex LIME2 I believe it is. One with gigabit network.
I figure that I can get the image to work and maybe even improve support for it for others.
It seems the most libre to me and I figure ARM CPU will be good for the cooling point.
One thing I've not figured out is the lack of stereo out and what I'll do there. So I need to decide on that before I pull the trigger.
Update: I ended up not getting any of these. Not long after I wrote this the Raspberry Pi 2 came out and I switched to that as a fat client and it has worked remarkably well. It certainly solved the keypress issue.