FreeBSD is a less known and less common operating system amonst regular users. But it exists for a long time. Unfortantely, it is mainly used as a
server and doesn't focus on desktop environment as much. That doesn't mean it won't work as a desktop. About seven months ago, I switched
from Gentoo to FreeBSD as my daily desktop. And I have mixed feeling about that.
It is pretty smooth to install it. I won't repeat how to do it. The handbook includes everything you need to install and how to set up the desktop environment. Everything, including X11, works out of box. The handbook is all I need to get FreeBSD running.
There are two ways of installing applications. First, install pre-built binaries from FreeBSD repository. Second, build it locally and install it. I've been using Gentoo many years. So I don't hesitate to build all the applications.
There are a few things I hope we can improve the experience of building the application.
First, the hamdbook doesn't mention where the options of the packages are. When I build some applications, it prompts me about the options for the application. How is it possible to do it on multiple machines or even after I reinstall FreeBSD? I only figured it out when I read some posts in the FreeBSD forum.
Second, it's not clear how to set options globally. It's tedious to set the same options to every applicable packages. Again, I only figured it out from the forum.
Third, it's not straightforward to find the dependencies in the port tree. It's still possible to do that before you start building the application, but I hope there is some kind of script doing that to make it more convenient.
Though there are many open source applications, not all of them support FreeBSD. Some don't have full support. For example, Firefox on FreeBSD doesn't include some features such as sandbox. I cannot open that kind of websites because of it. FreeBSD provides a Linux Compatible Layer so that we can run Linux applications on top of it. It, however, may be quite tricky to configure for some specific applications. I used Obsidian. It doesn't run out of box on the Linux compatible layer. There are a few questions about how to run it, and nobody knew about that. Luckily a person on the forum shared how he/she did that. But that's already been a few month since I tried to use it.
The only thing that made me give up is the graphic card driver. It's unstable. I'm using an old card, but it occasionally crashes and I have the black screen. I have no idea how to recover that. I cannot even switch to the console.
I can see that it's improving during my usage. But in the end I decide to move on. There are some maintenance here and there. I think I don't have the leisure of time to handle that. At the same time I am thinking of buying a new laptop because it's more flexible in my current stage. I cannot use FreeBSD because it doesn't support the latest wifi.
Then I will use Linux again. I don't want to use Gentoo because I don't want to deal with fixing the dependencies conflicts when I update. What's more, I don't want to build from the source or configure too much myself. I think I'll use openSUSE and use most default settings. openSUSE is my first Linux distribution, and I like YaST.