# Hardware selection



## Halliday (Feb 16, 2021)

I'm investigating FreeBSD for use in a home computer setup.

My goals are as follows:
1.  Support for three to six monitors.  No interest in gaming but definitely want to run the standard X-Window applications.
2.  Run virtual machines locally to spin up Windows and Linux when needed.
3.  Gigabit Ethernet 

Suggestions for motherboard, CPU, video card and network interface if not built-in to mother board are welcome.


----------



## Mjölnir (Feb 16, 2021)

_Supermicro_ is the only manufacturer I'm aware of who test their MBs for compliance with FreeBSD.  You can more or less comfortably compare different MBs by refining your requirements on their website.  Then crawl the net for vendors.
_Lenovo_ has proven to be very conformant to the various industry standards that FreeBSD supports, and usually FreeBSD runs fine on their hardware.
Any CPU after & incl. _Broadwell_ is reasonable IMHO.
E.g.: a Lenovo ThinkPad >= T450(s) supports up to three monitors independently, and with sufficient memory (>=8 MB RAM) it is powerfull enough to run a few VMs.
A laptop has the invaluable advantage to have an built-in UPS: the battery.
For use @home, I would keep an eye on energy consuption, and then an internal SoC or on-board ethernet interface is superior to an external (PCIe card) one, whereas the absolute performance usually is a minor topic in that use case.  I.e. even a "cheap" 1 Gbit network interface will very likely be powerful enough to suit your needs.
The same holds true for the graphics: an integrated GPU will consume less power than an add-on.  OTOH, I'm not aware of a GPU that can serve 6 displays.  Using both internal & add-on GPU on FreeBSD can be hairy.
This does not mean that other vendors are worse or specific products do not run FreeBSD well.  The above list is purely subjective, but built on experience & folk wisdom.


----------



## drhowarddrfine (Feb 17, 2021)

fwiw, my Gigabyte motherboard and nvidia card has served me well for five years or so.


----------



## diizzy (Feb 17, 2021)

Manufacturer doesn't really matter at all, it's the actual hardware support that matters. If you want to play it on the safe side, Intel is by far the most "safe" choice however you might want to also consider potential security issues [1]. You probably want 10th or possibly 11th gen however bleeding edge might not be fully supported especially if you're going to run releases. AMD might also work but I have no idea how well recent hardware fares but looking at sites such as Phoronix even recent hardware seems to work well enough for your their benchmark suite at least [2].

Realtek NICs will be a hit or miss, Intel Gbit is by far much better supported. Many mid-range motherboards and hi-end will ship with such a NIC instead of the crab one. You can off course get PCIe based card but that will obviously add to the overall cost.

I'm not really a desktop user but as far as I can tell Intel has by far (again) the best support and the latest hardware seems to be supported, https://wiki.freebsd.org/Graphics/Intel-GPU-Matrix .
Keep in mind that there are hardware limitations when it comes to 3 using monitors using builtin graphics. [3]
AMD is as far as I can tell a better choice than nVidia however I have no idea how well or up to what gen support is available.

Regarding audio, Realtek is by far the safest choice however you might need to remap outputs in FreeBSD. Another simple solution is to use a USB-C to 3.5mm adapter, they're range from very cheap to more expensive than mothboards (those are usually fully fledged DACs with descrete AMPs etc) do note that not all USB-C adapters do audio conversion from USB. I have no idea if there's an issue if your motherboard/chipset utilizes Intel SST or if its supported.

Regarding CPU and motherboard you have to do your own resarch. If there aren't any specific requirements it might actually be worth looking a prebuilt business models such as Fujitsu Esprimo or Lenovo Thinkcentre, they might even have an outlet in your country. Intel NUCs are also nice boxes overall but might not have all the features you're looking for. If you want ECC memory there might be an idea looking at entry level servers such as Dell T40 or similar.

1: https://software.intel.com/security...execution-attack-mitigation-product-cpu-model
2: https://www.phoronix.com/scan.php?page=article&item=amd-5900x-bsd&num=1 , https://www.phoronix.com/scan.php?page=article&item=freebsd-13-beta1
3: https://www.intel.com/content/www/us/en/support/articles/000025675/graphics.html








						Supported Configurations for Three Displays
					

Supported three display configurations.




					www.intel.com
				



https://www.intel.com/content/www/us/en/support/articles/000021752/intel-nuc.html (pretty sure TB3 isn't supported on FreeBSD)


----------



## olli@ (Feb 17, 2021)

Regarding monitors: It’s better to use fewer large screens than many small screens. So, in your case, I assume that two or three 4k monitors should be sufficient. There are graphics cards that support up to three monitors. If you don’t plan to play games, a card from the lower end will be definitely sufficient.

If you absolutely need more monitors than you can get ports on a single graphics card, I recommend you go with Nvidia. The Nvidia driver supports multiple GPUs at once with X.org. You can use the `nvidia-settings` tool, it lists the various GPUs in the system and enables you to assign them to virtual screens, which in turn can be arranged for the X.org display. This is very easy and intuitive to use. If you buy multiple graphics cards, an AMD CPU might be preferable over an Intel CPU, because recent AMD processors have more PCI lanes, which can become an important factor when using multiple GPUs.

Regarding mainboards, I made good experience with ASUS boards. Most of them are marketed as “gaming boards” (under the “ROG” label), but you can just ignore this. They usually work fine for standard desktop systems, even if you don’t play games.

Just as an example, my current system is based on an “Asus ROG CROSSHAIR VII HERO X470” with an AMD Ryzen7 2700 processor, 32 GB RAM, and an Nvidia 1030 graphics card (low power consumption – this one has only two ports, but there are models that support three 4k monitors). That system is about 2 years old, so today you can probably get somewhat better successor models. For I/O performance I use a Samsung 970 PRO NVMe SSD – I never had anything that came close to this beast, speed-wise. Depending on what kind of VM you plan to run (and how many), 64 GB RAM might be preferable.

As far as Gigabit Ethernet is concerned – Those are standard for quite some time. Even on most low-end boards you get Gigabyt Ethernet; only some embedded systems for special purposes come with FastEthernet (100 Mbps). Meanwhile, some high-end mainboards even provide 10Gbit Ethernet.

PS: When you max out the RAM slots on a mainboard, be sure to get quality RAM. It’s best to consult the vendor’s compatibility list, so you get modules that are proven to work. That’s important because when you approach the mainboard’s limit of the amount of RAM, the boards are usually more picky about the RAM timings.


----------



## GoNeFast_01 (Feb 17, 2021)

OP
Do your research before buying anything... I don't want to be responsible for you losing money on parts... Use AMAZON and return quickly  ....



> PS: When you max out the RAM slots on a mainboard, be sure to get quality RAM. It’s best to consult the vendor’s compatibility list, so you get modules that are proven to work. That’s important because when you approach the mainboard’s limit of the amount of RAM, the boards are usually more picky about the RAM timings.


Like Above olli@ = READ compatibility, I have wasted money on RAM before for the wrong board, had to return it (thanks  Amazon), because I didn't read motherboard ram compatibility (too lazy or too dumb )...

My Desktop Spec 1:
ASROCK Fatal1ty Motherboard
AMD Ryzen Threadripper 2950X 16-Core Processor
40gb of ram, I ruined 2 of the board memory stick while installing
FOR testing:
I have all types of drives on this thing....
1 SATA
2 SSD
3 NVME

2 NVIDIA GPU... 1080ti and 2080

AND Freebsd can handle no problem....

The above setup can yield you  8+ screens I have 4x 27-inch screen connected...

Above Motherboard has GIGABIT depends on Fatal1ty board.

Maybe I got lucky but it took a long time to get everything to a functional DESKTOP state.....


----------

