# Please help me build my dream FreeBSD box!



## TATA_XIXI (Sep 29, 2018)

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!!


----------



## TATA_XIXI (Sep 29, 2018)

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.


----------



## SirDice (Oct 1, 2018)

TATA_XIXI said:


> 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.


----------



## tingo (Oct 3, 2018)

This reminds me of the old "list of criteria > 2; select any two" statement.


----------



## TATA_XIXI (Oct 23, 2018)

Alright let's drop the idea of virtualizing/emulating any x86_64 operating system over an ARM config  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!


----------



## `Orum (Oct 23, 2018)

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).


----------



## TATA_XIXI (Oct 24, 2018)

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 :/


----------



## `Orum (Oct 24, 2018)

TATA_XIXI said:


> Beefy ARM CPU recommendation?



Oh, I didn't realize you still wanted to stick with ARM.  I have no idea what GPUs work on that; I've never run FreeBSD on ARM.  You'll probably get a lot more bang for your buck with x64.  Also keep in mind only x86 and x64 are "Tier 1" platforms for FreeBSD, and ARM/ARM64 are "Tier 2".


----------



## LVLouisCyphre (Jan 4, 2020)

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.


----------



## CraigHB (Jan 4, 2020)

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.


----------



## kpedersen (Jan 4, 2020)

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)


----------



## Barney (Jan 4, 2020)

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.


----------



## gigagoochelaar (Jan 4, 2020)

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!


----------



## kpedersen (Jan 5, 2020)

Have you tried installing FreeBSD on a recent Mac Desktop?

It certainly does not "start working" haha.

... a Thinkpad however...


----------



## Barney (Jan 5, 2020)

gigagoochelaar said:


> 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.


----------



## rootbert (Jan 5, 2020)

Barney said:


> 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.


----------



## kpedersen (Jan 6, 2020)

Barney said:


> 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.


----------



## RedPhoenix (Jan 6, 2020)

TATA_XIXI said:


> 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.


----------



## RedPhoenix (Jan 6, 2020)

Barney said:


> I've been developing on BSD since BSDi (and SCO before that).



This. I was born in 1991, but I really admire how Unix and Linux came to be.  How lucky you are to have experienced those earlier days.


----------



## CraigHB (Jan 7, 2020)

kpedersen said:


> 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.


----------



## 20-100-2fe (Jan 7, 2020)

rootbert said:


> 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!


----------



## Sevendogsbsd (Jan 7, 2020)

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


----------



## sidetone (Jan 7, 2020)

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.


----------



## LVLouisCyphre (Jan 9, 2020)

Barney said:


> 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.


Barney said:


> 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.


----------



## CraigHB (Jan 9, 2020)

sidetone said:


> 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.


LVLouisCyphre said:


> 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.


----------



## sidetone (Jan 9, 2020)

CraigHB said:


> 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.


My guess is that those are a lot of packages that are meant to be intermingled with each other, but is done in such a way like tangled knots. It's proven that that much interweaving between applications is not necessary for full function.

libcanberra for instance sends basic sounds out from applications, but it wants to add a graphic display banner in a way, that is not output only, so the messages go back and forth when not needed, and dependencies recursively go back and forth between graphics and sounds.

Dbus seems to go back and forth between applications, sending messages back and forth. Really, a like application would have everything output to it, for essential processes like printing and scanning, and be simplified, then everything that needs to know the status links to it from one point, instead of so many, because each application wants its own controls.

Maybe, desktop developments have constant reinventions of the wheel, especially on Linux, so there's redundant applications that do the same thing, then they try to link back to each other.


----------



## 20-100-2fe (Jan 10, 2020)

CraigHB said:


> Have yet to figure out how I could benefit from a desktop environment.



A desktop environment consists in a window manager and a set of conventions and utilities aiming at providing a consistent user experience.

Now, depending on what you put in the term "user experience", you can create a basic DE which is little more than a WM, or a "monster" such as Gnome 3 or KDE.

I use MATE instead of a plain VM because it is visually clean and comes with a set of good quality utilities I use daily (file manager, text editor, calculator, terminal emulator...). It also offers all the customization capabilities I need but not more, so it doesn't add unnecessary complexity.

I also like the look and feel of XFCE, but its utilities are not as well finished as MATE's or don't cover all my needs. This is what makes the difference for me.

A bare WM with a nice look and feel bundled and good third-party utilities would do as well for me.


----------



## Sevendogsbsd (Jan 10, 2020)

Mate` is probably my favorite DE. How is it in FreeBSD? I have never actually used a DE in FreeBSD, only window managers. I have the same impression and feelings about Xfce as well.


----------



## 20-100-2fe (Jan 10, 2020)

MATE works a little bit better on FreeBSD than on Linux : I have a display bug on Void that doesn't affect FreeBSD. 
I've just seen a new version of XFCE has been released last summer, I'll have a look at it when I'll have some time, the screenshots are promising.


----------



## Phishfry (Jan 10, 2020)

I really like my XFCE desktop but I do not think the move to GTK3 was for the better (visually).
There are only a few things I can think of off the top of my head but disappearing vertical scroll bar in Thunar is an annoyance,
The GTK3 version seems softer but I liked the chiseled look of GTK2 XFCE. Even if ancient.


----------



## Sevendogsbsd (Jan 10, 2020)

I agree with the GTK3/3 comparison. GTK2 apps look much sharper and professional to me. 

Will have to give Mate` a shot - normally I am a fluxbox guy but I do like the Mate` file manager better than pcmanfm.


----------



## RedPhoenix (Jan 17, 2020)

20-100-2fe said:


> 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.
> 
> ...


I'm only interested in macOS because it's SUS-compliant.  So, being Unix, it naturally should come with a Terminal, and it does!  I got it running in a VM, but my fellow Linux-using buddy on the East Coast said macOS is actually BSD-based. So, I then asked myself: "Okay, macOS has a nice interface, but really, I could imitate it in something like Lumina or XFCE or Gnome 3. Plus there is the other BSDs that are FOSS (MIT License and similar-in-scope Licenses)." No hate towards Apple.  Just not my thing.


----------



## RedPhoenix (Jan 17, 2020)

Phishfry said:


> I really like my XFCE desktop but I do not think the move to GTK3 was for the better (visually).
> There are only a few things I can think of off the top of my head but disappearing vertical scroll bar in Thunar is an annoyance,
> The GTK3 version seems softer but I liked the chiseled look of GTK2 XFCE. Even if ancient.


KDE 4 Masterrace. ;D


----------



## rootbert (Jan 17, 2020)

just for the info: I am writing this from my new system. Besides the quirks that I cannot use wifi (preferring cable anyway) and I cannot use the native console because of the Nvidia driver everything went fine. My setup: AMD Ryzen 3700X, Gigabyte X570 Aorus Ultra, 4x16GB Crucial DDR4/2666 ECC, ASUS ROG-STRIX-GTX1650 graphics card, 1x PNY CS3030 M.2 2280 1TB, 1 x Gigabyte NVME M.2 2280 1TB and 5 disks WD Red 4TB. So far a great system, however, I lack long-term experience with it due to the uptime of 10 minutes ;-)


----------



## Barney (May 13, 2020)

Like a bunch of old ladies who still wash their clothes on a rock in a stream.


----------



## drhowarddrfine (May 13, 2020)

Barney said:


> Like a bunch of old ladies who still wash their clothes on a rock in a stream.


But a bunch of old ladies that know more than you. They don't need the hand holding like you do as you work on your off-the-shelf equipment that you have no clue how it works. 
See. I can be insulting, too, as your posting history seems to be mostly about.


----------



## rootbert (May 13, 2020)

btw: my system mentioned above is running nicely under FreeBSD 12.1 ;-) The Gigabyte mainboard needs some time for initialisation but I rarely reboot - just for kernel updates ;-). I chose that mainboard over the Asus Pro-WS-X570-ACE because the Asus has just 4 SATA connectors.


----------

