Please help me build my dream FreeBSD box!

Hello,

So, I'm new to FreeBSD. Historically, my desktops and laptops have been running Windows 3.1 to XP, then Ubuntu Linux and finally OS X, from Snow Leopard to the current macOS Mojave.

I've been an Apple fan and do not regret it. But I can't justify it anymore. I'm really happy since I moved from iOS to Android. In the beginning, Android was messy and the smartphones crappy. Even more the tablets. While iOS devices where top quality both in software and hardware. But, in my point of view, the gap is now too thin or inexistant. I have a Redmi Note 5 that is currently sold for €150 on GearBest (in France). With a Snapdragon 636 and 3GB RAM, 64GB storage and running Android 8.1, it's plenty powerful enough even for my intensive usage (professional, but no gaming). The 6" IPS FHD screen is great. And with 4000 mAh battery, I'm amazed at how much juice there's left when I'm going to bed. So yeah, even if the iPhone XS Max 256GB (4GB RAM, 3 174 mAh battery) has a gorgeous 6.5" OLED screen and would cost about €400 to build, it does not justify shelling out €1,400 to me.

And I'm still angry at Apple to popularize the mobile apps, and the app store, instead of the Web. And that's too bad for them because that's one other reason I moved from iOS to Android: it was obvious I was running a Google ecosystem on my Apple device: Gmail, Google Maps, Google Drive and the whole G Suite. I did forced me into the iCloud ecosystem, but it was subpar (when not even sub-contracted to Amazon or Google, lol). Where it showed the most? The speech-to-text and more recently text-to-speech. It's clear that Google is years ahead Apple in term of cloud infrastructure and machine learning. And it's where the value is now (I live in France and mostly in big cities where 4G is great and cheap - I pay €4/mo for 20GB, at 55Mbps up / 35 Mbps up - so yes I'm always connected to the cloud).

On desktop, I'm still working on a iMac and a MacBook Air. But now that Web technologies and browsers possibilities caught up with the apps, I realize I almost never run an app on my computer, other than the browser. One of the last app I could dump was Photoshop, replaced with Gravit Designer (free, for now). I may miss good video editing apps like Premiere, After Effect and Final Cut Pro. But I won't get another Apple computer. Nor a Hackintosh, nor a Windows.

Still, I don't think a ChromeOS (Chromebox or Chromebook) will be a good replacement. I'm really an hardcore web user with tons of open tabs and heavy webapps. Plus I need to run different browsers for user testing, like Chrome and Firefox, and even different guest OSes, like Windows (to test IE and Edge) and macOS (to test Safari). Virtualbox supported on FreeBSD? I may also, at some point, need to run virtual Linux to build Android apps and AOSP roms and virtual macOS to build iOS apps.

Maybe one of those future detachable Chromebook ARM tablets will do a good alternative computer; but right now I'll focus on my main desktop.

In terms of hardware my priorities are:
- Available now and shippable to France
- Powerful - for heavy web browsing with 2 x 4K@60FPS displays, even 120FPS if possible (heard about that with Fuchsia and Flutter apps) - so we're not talking Raspberry Pi here, right?
- Totally silent - preferably fanless (it's just more elegant)

Then I'd like it to be very small, look good and be efficient.

Regarding the HMI, especially the pointer, I'm really used to the Apple Magic Trackpad 2 (bluetooth). Would it be supported under FreeBSD? With a few gestures? Or do you know a supported alternative trackpad?

Why ARM? The elegance of the efficience and stability. I want my next computer to run UNIX on 64-bit RISC. Like Apple Mac, Sony Playstation or Nintendo Switch. But I don't have the kind of money for a dual ThunderX2 workstation :)

I like the Intel NUC8i7BEK or NUC8i5BEK but it's not fanless. The Zotac Zbox CI660 or CI640 are fanless, almost perfect. But x86.

If necessary, I'm willing to source different parts and build it, if it's not too complicated (no soldering!).

I think I'd need at least 16GB RAM, ECC if supported. Storage, 512GB SSD M.2 PCIe NVMe if supported. Actually I don't need as much space as I'm living in the cloud. But it may be useful if I decide to try compiling AOSP, right? Or maybe I'll just get 64GB and buy a bigger one later if really needed.

So, what would you recommend?

Thank you!!
 
Last edited:
While reading myself I realize maybe it's not feasible, or very slow, to run x86-64 Windows or macOS in virtual machines running on a FreeBSD/arm64 system?

Here they say not possible, here they say maybe.
 
While reading myself I realize maybe it's not feasible, or very slow, to run x86-64 Windows or macOS in virtual machines running on a FreeBSD/arm64 system?
You need to realize that ARM and i386 are two completely different processor architectures. So one will need to emulate the other. Most modern i386/amd64 CPUs are fast enough to emulate an ARM processor. But ARM processors are typically not powerful enough to fully emulate an i386/AMD64 CPU at a decent speed. At least not at this time. Certainly not cheaply.
 
Alright let's drop the idea of virtualizing/emulating any x86_64 operating system over an ARM config :D Let's just keep heavy browsing and web development as target usage.

Can someone help me decide what would be the best config to meet these criteria, then?

Thanks!
 
I would think the primary requirement here as far as hardware is concerned is a GPU that's both fast and supported by FreeBSD. This basically means nVIDIA, though Intel's iGPUs are getting better all the time and well supported under FreeBSD. Note, however, that I've not tried a "recent" Intel iGPU under FreeBSD, so YMMV.

Other than that you can pretty much go with whatever you want. Extra RAM might be a good idea so you can use a ramdisk (tmpfs/mdmfs) and put your browser's cache there. Beefy CPUs are nice if you plan to compile things from ports, as my FreeBSD laptop is strained when compiling all the things I need for a graphical environment (namely OpenOffice, LLVM, and Firefox).
 
Thanks `Orum!

Beefy ARM CPU recommendation? Is there only mobile options like latest high-end HiSilicon (Huawei) Kirin or Qualcomm Snapdragon? And then it's straight to the ($800 to $1,800) Cavium ThunderX2? No intermediary solution?

I'll soon receive a Huawei Mate 20 Pro with the new 7nm Kirin 980 and 6GB RAM. It's supposed to run Phoenix OS for it's Easy Projection feature - basically a desktop extension of the smartphone, output to a monitor or TV via USB-C to HDMI or wirelessly via Wi-Fi Miracast. Maybe this will actually be my next ARM desktop. But then no FreeBSD :/
 
The only reason I see for the ARM platform is to run a firewall/router/VPN using an Intel MUC. However, I consider it to be a bad idea. I've been looking into the Intel Atom based MUCs and they have the garbage Realtek NICs on the systemboard.
If you want to fully utilize FreeBSD, you should be going to the tier 1 platform; i386 or amd64. I'd go sparc64 or powerpc long before I'd consider an ARM for FreeBSD. You'd probably go better with NetBSD for ARM.
 
The ARM platform is fairly ubiquitous these days and it's not unreasonable to expect FreeBSD to support it at the highest tier, but it doesn't. Likely a matter of manpower and also there's a lot more proprietary stuff involved with ARM.
Much of open source hardware support requires reverse engineering and that takes time and manpower. The biggest showstopper I've run into myself is graphics support. Linux has done it, but it still has plenty of support issues that can be hard to deal with.

The companies that make ARM hardware are not particularly interested in supporting open source. In a way I can't blame them, the platform is newer and competition is heavy so they want to protect their intellectual property. i386 and its extension to AMD64 have been around for a very long time and have sort of become an open standard in comparison.

There are some good ARM emulators that can run on FreeBSD over AMD64 and I've used one to do some programming for an STM ARM platform. It works out quite well. At least it does for my application.
 
What you seem to be doing (heavy browsing and web development) heavily suggests you want a Desktop or Workstation machine. Unfortunately manufacturers simply do not make viable desktops or workstations with anything else other than Intel architecture these days.

If you want ARM to test something out, then make a FreeBSD jail using qemu-static-armv7/aarch and run on a standard x86* host (https://forums.freebsd.org/threads/arm-or-sparc-in-freebsd-jail-on-amd64-host.65130/).

My advice is don't bother looking at any other architecture as a workstation until manufacturers actually decide to create something of worth. Otherwise you are wasting your time / money for a gimmick that will become unsupported in a month (like most ARM disposable devices).

(But to have a play / learn. Get an old second hand sparc64 server off Ebay)
 
This OP explains why I use a MAC desktop. Turn it on, start working. You can spend half your life just picking out hardware.

For $700 I can get a used 27" with a beautiful monitor that would cost as much for freeBSD, and an i7 cpu.

BTW, last time I tried FreeBSD 12 wouldn't boot on a zotac. I didn't spend a lot of time figuring out why. I got them for a linux project a while back.
 
Barney said:
This OP explains why I use a MAC desktop. Turn it on, start working.
That sounds like a Mac marketeer/hipster. You could say the same thing about a piece of hardware with Linux or Microsoft pre-installed ... Turn it on, start working!
 
Have you tried installing FreeBSD on a recent Mac Desktop?

It certainly does not "start working" haha.

... a Thinkpad however... ;)
 
That sounds like a Mac marketeer/hipster. You could say the same thing about a piece of hardware with Linux or Microsoft pre-installed ... Turn it on, start working!

Right, because when you buy linux pre-installed it comes with everything you want.

Let's face it; an iMAC is just a unix box with a GUI that's better than anything linux or freebsd will have in 10 years. There's no aspect of a freebsd desktop that's better or easier; it's better documented, supported, and there's more high quality software that runs on it. There no case for running FreeBSD as a desktop, because its 5 years behind linux and 10 years behind OS X

I've been developing on BSD since BSDi (and SCO before that). My time is worth something; you can spend a whole week just finding the hardware you want to build a custom box. In the old days it was worthwhile; now it's a waste of time. You end up with something worse than you can buy for the same price used.
 
Let's face it; an iMAC is just a unix box with a GUI that's better than anything linux or freebsd will have in 10 years. There's no aspect of a freebsd desktop that's better or easier; it's better documented, supported, and there's more high quality software that runs on it. There no case for running FreeBSD as a desktop, because its 5 years behind linux and 10 years behind OS X
depends on who you are asking ... I would not use OSX even if someone paid me just for the sake of using it.

If you are setting up a workstation with FreeBSD - and I can highly recommend it - I would not choose any other platform than amd64 (at least at the moment). I just invested some time to find compatible parts and ordered them, so in 1-2 weeks I will build my new FreeBSD workstation (AMD Ryzen, 64GB ECC, bunch of disks), if you want I can report here.
 
Let's face it; an iMAC is just a unix box with a GUI that's better than anything linux or freebsd will have in 10 years.

Honestly I don't believe the open-source community can get their "bits" together to have a decent desktop in 100+ years. Looking at the development trends, I don't think it will ever happen.

Luckily a desktop GUI/DE has no value for me (even on my desktops / workstation) so I am glad that I can shun macOS completely from a principles standpoint.
But I do see what you are saying. If I *needed* a GUI (i.e for a specific project), I would actually feel quite out of options.
 
While reading myself I realize maybe it's not feasible, or very slow, to run x86-64 Windows or macOS in virtual machines running on a FreeBSD/arm64 system?

Here they say not possible, here they say maybe.
Yes, but macOS is even WORSE if you're not already running the VM under another Host macOS. :)
 
Honestly I don't believe the open-source community can get their "bits" together to have a decent desktop in 100+ years. Looking at the development trends, I don't think it will ever happen.

That's just a depressing thought. Of course it depends on your definition of a decent desktop. Certainly open source will always be lacking to some extent, but I can get it to do "most" of what I need. At least that's better than being wholly locked into a proprietary system. I do think that open source will probably never be able to provide a solution as integrated and seamless as proprietary systems do.
 
depends on who you are asking ... I would not use OSX even if someone paid me just for the sake of using it.

Same for me. I've once been paid to work with Apple hardware and I resigned after a couple of months.

That said, OS X is not "advanced", it's just different, it is simply a matter of taste, and alternatives to Apple products exist precisely because one size doesn't fit all.

This is why people in love with Apple products should stick with them rather than expect the rest of the world to convert to their taste.

Of course, Appleware is very expensive, but you can't have a cake and eat it!
 
I am writing this from MacOS simply because when at work, I do not have access to my FreeBSD box. I have no issues with Appleware but would not switch to it for my main machine. My laptop just gets used to do various personal and company things and is extremely reliable, MOST things just work no fuss, but does not have the flexibility of my FreeBSD desktop. I have switched all-in to Apple before but jumped out because it is too confining. My roots are in Open Source and leaving that behind is not possible for me.

I can afford Apple equipment so that is my choice for this one machine anyway. I absolutely refuse to use Windows for anything so went Apple for this machine. I am off topic so will stop at that.

FreeBSD dream box I built out of off the shelf parts and assembled myself. Works flawlessly :cool:
 
For most purposes, FreeBSD is current and capable for a desktop. Readily available, there's more ports for it, which other operating systems can have, but it's not readily available to that extent.

If you want gaming that's made for Windows, or games only available by drm, then, it can be said, FreeBSD is 10 or more years behind. For gaming that requires the most capable graphics, FreeBSD is likely 5 years behind.

As for GPU processing, not related to direct graphics display, then FreeBSD is 10 or more years behind.

Gnome is the most recursive desktop, that it's as if it intentionally tries to complicate itself. So going that route is going to put things back 5 years than they really are. A basic windowmanager is all that's needed. Some like i3 or ratpoison, which are not my thing, but they are efficient. I go with jwm, which covers basic needs.
 
Let's face it; an iMAC is just a unix box with a GUI that's better than anything linux or freebsd will have in 10 years. There's no aspect of a freebsd desktop that's better or easier; it's better documented, supported, and there's more high quality software that runs on it. There no case for running FreeBSD as a desktop, because its 5 years behind linux and 10 years behind OS X
...
I've been developing on BSD since BSDi (and SCO before that).
I've been using BSD since 1989 on SunOS 4. I cut my teeth in the business supporting Sun SPARCstation 1s when they made their debut. I've used SCO Xenix since 1986 and ran my own UUCP site.

I supported Macs during the old Mac Plus (et. al.) toaster days in the late 1980s which have always been hacker hostile. I remember having to build CAP on Suns or using TOPS or using Gatorboxes to have them communicate with classic MacOS machines. My former employer's network was running Appletalk, IPX and IPv4 over EIGRP until all of the classic Macs and NetWare 4 servers were decommissioned. Apple was way behind in networking until they ditched Appletalk.

Apple OSX originated as a FreeBSD derivative. Jordan Hubbard was a cofounder of FreeBSD; he went to work for Apple after he left the FreeBSD project. The reason Apple went with Unix was for the networking; Appletalk was and still is a train wreck especially in a multicast environment. Fortunately with Cisco discontinuing Appletalk support, we probably won't see that rotten apple of a networking protocol returning.
My time is worth something; you can spend a whole week just finding the hardware you want to build a custom box. In the old days it was worthwhile; now it's a waste of time. You end up with something worse than you can buy for the same price used.
That has not been the case for me. I can find exactly what I want quickly either on eBay or Amazon and slap together a FreeBSD box quickly. Part of the enjoyment in using FreeBSD is building the box to your specs.

Graphics hardware is simple; AMD (formerly ATI) or Intel unless you want to deal with nVidia being closed source. Storage is simple; LSI unless you're running older legacy (SCSI) hardware in which case Adaptec. Networking is simple; Intel.
 
A basic windowmanager is all that's needed.

It's all I've ever used, fvwm2 specifically. Have yet to figure out how I could benefit from a desktop environment. Isn't that kind of a Linux or Windows idea? You know install and go. Have yet to find something I couldn't do with a window manager and the addition of one or more packages.
I can find exactly what I want quickly either on eBay or Amazon and slap together a FreeBSD box quickly. Part of the enjoyment in using FreeBSD is building the box to your specs.

That's what I'm working on right now, putting a box together for FreeBSD. It's taking me a while due to various reasons, but I'm doing it part by part. I decided to go with nVidia graphics, I've used it before with FreeBSD and it seems to do the job well enough. I really don't mind a blob here and there.
 
Back
Top