IMHO, you should make a strategic decision - AMD or Nvidia. Personally, I was a long-term Nvidia user until the support to my otherwise good card stopped. Nvidia drivers are closed-source with just a lightweight wrapper. In the other hand, AMD drivers are open source.
I did, and my decision is Nvidia. Here’s how I arrived at it:
- I wanted a good processor with an iGPU. I knew that the latest generations don’t have graphics support. I read through the source code of the various drm-kmod ports, linux kernel announcements, lots of forum and list posts. I determined that 10th gen graphics are supported - but alas, the 10900k appears to be an outlier.
- I began my search for discrete graphics. Having an open source preference, I immediately dismissed Nvidia and focused on AMD. That was a confusing mess of correlating model names with NAVI versions with colorful-fish code names. Again I read the ports’ sources and read lots of forum posts. I saw that dimgrey-cavefish is in the amd-firmware-kmod port, and thought I was good to go. It didn’t work, and a developer informed me that while the firmware is included in the port, it is not yet supported. I guess it’s included in preparation for a forthcoming release? I don’t know.
- Frustrated, I posted this thread. I figured that since my 30+ hours of researching had yielded nothing, I might as well ask what other people use. Then I can just pick one, knowing that it actually works. Here I was informed that Nvidia has a page where you can input the model, and it will tell you what drivers you can use. One of those versions is included in the ports tree, so just find a model that runs with that driver, and you’re good to go.
In short, I spent 30+ hours researching Intel iGPU and AMD discrete GPU, and didn’t get a working card. I spent 5 minutes looking at Nvidia’s driver page, installed the port, took about 10 minutes to read through their instructions, and got a desktop.
I’m all for open source, all other things being equal. But they are not equal here. AMD produces open source drivers for Linux, not FreeBSD. It is through (what appears to be immense) effort on the part of volunteers, that some of those drivers work on FreeBSD. It is unclear, to me at least, which models are actually supported.
Nvidia develops native drivers, clearly communicates the models that run them, and provides instructions on how to use them. They support FreeBSD directly. As someone enthusiast about FreeBSD, and disappointed by the low adoption rate in the development world relative to Linux and MacOS, I am very happy to support a company that directly supports my OS of choice.
Related: I think the single biggest barrier to entry for developers using FreeBSD is how difficult it is to procure hardware that will work, especially laptops. The conventional wisdom is “a ThinkPad from a couple generations back” - but even then you still have to research the graphics card and network card and hope it all works. This is why so many developers use Macs - you can go to the Apple store, buy the top spec MBP, plug it in and get to work.
The other developers on my team are getting more interested in FreeBSD because of the things they see me doing with it. But the only reliable way I know of to get a machine is to boot a cloud VM and SSH to it. I can’t (yet) give my boss a link to a laptop and say “buy one of these for everyone on the team and we’re good to go.”
Is that really a concern for you?
Yes, I turned the machine on and the noise difference was immediately noticeable. My GPU needs are minimal, so if I can get them met with 0dB vs 25+ dB then that’s a big win. 25 dB is about a whisper, but I wouldn’t want someone standing next to me whispering all day long either.