

I’m on a machine w/ FreeBSD 15.0-RELEASE right now and my AMD GPUs mostly work (minus some features like manual fan control or overclocking, also certain shaders may make the driver crash). They pull in the amdgpu driver code from Linux so you get the same experience for the most part. Bluetooth is very hit or miss in terms of drivers. (Also I find OSS to be better than any audio “solution” on Linux.)
I haven’t been able to get Steam to work reliably. It starts up fine the first time after a fresh install. But on any subsequent startup it just hangs indefinitely. I also haven’t messed with WINE since I don’t really have the need, but FOSS games/ports generally just work (OpenRCT2, OpenMW, Quake, Doom, 0ad, SuperTux, Wesnoth, Xonotic, etc.).
As with Linux distros, I just recommend installing it on a spare machine or drive to see if it works for you. Definitely consult the FreeBSD handbook for guidance though.

I do this for a server in my LAN. I use DHCP+TFTP to boot grub over the network via PXE, and then grub boots the Kernel with the root pointing to a NFS share:
menuentry 'GNU/Linux NFS' --class gnu-linux --class gnu --class os { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod part_gpt insmod fat echo 'Loading kernel ...' linux <TFTP Root>/vmlinuz root=/dev/nfs ip=dhcp nfsroot=<NFS Server IP>:/export/rootfs/<Root Dir> rw loglevel=6 threadirqs }Doing this makes managing that installation much easier. It’s just a directory that lives on the Main Server.
I don’t even need to boot the other Server to update the software in it, chroot is enough. And I don’t even have to worry about doing separate backups, because I already back up the Main Server’s Storage regularly.