My New Mini-ITX BSD Box + ASUS MB And Nvidia 1660 Ti FreeBSD Fix
Written by: Donovan / Last updated: Aug 6, 2019After 2 hectic months of travel, I’m finally set up in Australia for a while.
I wanted to do some on the road screencasting for iBSD but as it turned out, there was no way I could find the time for it.
I only brought my X1 Carbon 6th with me this time.
As much as I love using my ThinkPad, I really couldn’t wait to get a powerful BSD desktop build done so I can get back to work on it (and do some more screencasting). I just need my ultrawide screen to work effectively. :)
So here it is.
My mini-ITX FreeBSD and OpenBSD box
I decided this time that since I’m still in travel mode, I wanted to try out building a mini-ITX BSD box (easier to move around).
The behemoth that I normally use back in California is a full be quiet! case that almost requires two people to move.
I’ve never built a mini-ITX before and it was trickier than I thought!
Probably spent around $3k in total for the setup, including the monitor.
Obviously, the most important thing I took into consideration when planning the build was BSD compatibility.
Here are the specs (aff. links):
- Thermaltake V1 core case
- Intel i7 9700k
- 16GB ram
- 1 x 250gb nvme (for FreeBSD) and 1 x 250gb Kingston SSD (for OpenBSD)
- ASUS Rog Strix Z390-I motherboard
- Nvidia 1660 Ti (would have gone 2080 but it doesn’t fit in the case)
- Acer ultrawide 3840x1600 75hz
The motherboard allows me to easily select primary graphics adapters so I can use the onboard Intel for OpenBSD or the Nvidia for FreeBSD.
The monitor is mindblowing - even better than the 3440x1440 that I’m used to. It’s so immersive it almost feels like being in VR. :)
Not even exaggerating.
I use the BIOS quick boot menu to select an OS rather than messy dual boot.
I would probably increase the ram at some point.
Also worth noting that the onboard Intel wireless is not yet supported (but I use ethernet anyway).
The system is really impressing me so far - I spent the last day setting my workflow up and will start screencasting again shortly.
Minor Nvidia issue for newer cards (and ASUS motherboard flashing)
So, the 1660 Ti was not ideal (would much prefer RTX 2080) but given the size of the case, I had little choice.
For what I do on BSD it probably wouldn’t make a huge difference anyway.
Two things I discovered putting this build together:
- You’ll need to flash the BIOS immediately before installing BSD (it gives microcode errors otherwise and won’t boot).
- The latest Nvidia driver in FreeBSD ports won’t support newer cards like the 1660 Ti.
ASUS BIOS updates are probably some of the easiest to do.
Just go to the ASUS support website , download the latest BIOS firmware and unzip the .cap file to a USB stick.
There’s a menu option in the BIOS Advanced section to select this file and run the update. Takes less than a minute.
For the Nvidia, the current FreeBSD driver is still around 390 (quite outdated).
You’ll need to go to the main Nvidia website and download the FreeBSD Nvidia driver (for me right now, it’s around 418).
Say what you want about Nvidia but the fact that they actually provide a FreeBSD driver is amazing and this is why I continue to use their gear instead of AMD.
But here’s a tip:
Once you install the official Nvidia driver from the website, it will break the nvidia-settings
program.
If you reinstall nvidia-settings
, it will then break the Nvidia driver.
They’re not compatible because of the version differences.
So what I did was install the Nvidia driver, go into X, then install the ports nvidia-settings
program.
Run it and generate a configuration file.
Save the file and then remove nvidia-settings
. Recompile the official Nvidia driver.
Done.
Note: You actually don’t need nvidia-settings
at all and can manually create your config or use nvidia-xconfig
(but this won’t automatically add things like ‘Force Composition Pipeline` to avoid screen tearing and so on).