I've spent the last 5/6 months using TrueOS as my primary OS but tomorrow, when I get broadband again, I will be switching back to Linux as my main OS. I think TrueOS is the most interesting and promising non-Linux based open source OS. I'm equally fascinated by Redox and Haiku but they are more enthusiast in nature than TrueOS is, which I think has the potential to be a very usable desktop OS with first rate ZFS support in a year or twos time.
The crunch point came three days ago when this feature request of mine was deemed a 'won't fix':
https://github.com/trueos/trueos-core/issues/1480
My main computer is an i7, BIOS-based laptop with a single SSD. For months now I have been dual-booting TrueOS with Arch but because the TrueOS bootloader doesn't support chainloading, I have had to boot supergrubdisk off USB to be able to boot my Arch partition. Not very convenient. The FreeBSD bootloader does have chainloading support which I have tested and I know works but the TrueOS team have decided not to replicate/modify this code because it is only required for non-UEFI machines and they are trying to phase out support for BIOS machines, or something.
I will continue to run FreeBSD on my NAS to take advantage of FreeBSDs first rate ZFS support but the advantages that ZFS offers over the linux FS alternatives on my laptop don't outweigh the drawbacks for trying to use TrueOS as a desktop OS:
* Booting to MATE under TrueOS on my SATA3 SSD takes 60+ seconds versus 6 seconds to boot to MATE under Arch, thats with or without ZFS root under Arch and with networkmanager running and connecting to wifi.
* The TrueOS network manager app doesn't support auto-connecting to USB ethernet connections
* USB audio support in the TrueOS mixer is buggy and FreeBSD / TrueOS has no support for bluetooth audio
* TrueOS updates are unlike what we're used to in Linux land. It tends to update the whole OS in one hit and install it into a new boot env. This makes rollback quick and easy but it also means you have to rebuild and reinstall and packages you have installed from ports ie not from the TrueOS repos, every time you do an OS update. The ports rebuild process can be automated but its still potentially time consuming if you require numerous big packages or specific tweaks to big packages.
* Lumina isn't there yet for my use cases. MATE is quite outdated (1.12), unsupported and I haven't manged to get the power management stuff working from the MATE GUI ie being able to suspend from the logout menu doesn't work under MATE. KDE is still at v4 in FreeBSD land.
* There would appear to be a bug in the FreeBSD USB code that causes multi-minute delays whenever I use gmtp to connect to my phones memory cards.
* There isn't really any proper joypad / joystick support under FreeBSD. You have to use something like anti-micro to configure joypad input via faked keypresses but that didn't like my joypad.
* I have to start JACK as root to use RT mode as I couldn't get a kernel module that allows non-root users to do this to work
* JUCE does not support FreeBSD so I have been unable to build two of my fave softsynths - helm and Noisemaker. Jules has said he would accept patches for FreeBSD if they weren't too invasive as he can't test it.
I have reported all the above issues to the TrueOS devs and/or the FreeBSD devs. If they make it easy for me to multiboot TrueOS, I would be willing to continue to give it room on my drive as a secondary OS but every one of those points works fine under Linux and the advantages of ZFS don't make up for all of those inconveniences - especially when I am taking advantage of ZFS on my NAS anyway.