PC-BSD 9.0-BETA1, an inflexion point in the BSD world


Can a BSD-based system be competitive in the desktop arena? Of course it can, and not only it can, but, as a matter of fact, the question is no longer merely hypothetical, it has become a fact with the arrival of PC-BSD version 9.0 (still in beta testing phase). PC-BSD is a FreeBSD-based distribution which has been around already for a while, since early 2006, to be more precise. It focuses on user-friendliness, as vague and subjective a concept as it may seem, it actually means something. It more or less means that the average user can switch on the computer, insert a DVD or other removable installation media, be guided through a few simple questions to, some twenty minutes later, end up with a self-configured system working flawlessly and as expected/desired, without the need of understanding the slightest thing of what is going on. One could also call this concept blackboxness, but user-friendliness suits us just as well.

I have tried PC-BSD a couple of times in the past, versions 6 point something and 8 point something, if I recall it correctly. The first time just out of curiosity, the second, out of Linux-hardware-incompatibility frustration. There were mainly two reasons to try 9.0 now. Reason number one has to do with the codename of the operating system, how could I refrain from trying something called “Isotope”? Reason number two concerns some of the amazing new features of the product: wide choice of desktop environments and easy configuration of the advanced ZFS file system (even encrypted, if that is what you want).

Indeed, up to now, if you wanted to try the distro that had got furthest in the goal of taming the FreeBSD beast, you needed to like the KDE desktop environment. Yes, with all the bugs and bloat that came with it at the early stages of development of the 4.x series (well, bloat has never really left us ever since). Now you can choose among the four most popular desktops (KDE, Gnome, Xfce and LXDE) and a number of officially non-supported alternatives (including Enlightenment!).  Wow!

From version 8, it is also possible to choose the option of formatting and configuring the entire drive (minus a boot partition) using the sophisticated ZFS file-system. Well, in theory. In practise so doing would require some knowledge on how the file-system works and many users reported that, even following step-by-step instructions, their computers would not boot after installation. Now, however, with version 9.0, it is easier than ever having your system up and running with one of the most advanced file-systems around.

Apart from this last feature, the installation interface has not changed much from previous versions. It is neither the easiest nor the hardest, but it is straightforward enough  for someone who is not afraid to install his own operating system and to learn a couple of things on the way. In other words, it clearly belongs to the “easy” category. Yet one thing I love about it, apart from the new ZFS option, is the fact that it would allow you to choose between a desktop-oriented PC-BSD installation and a server-oriented FreeBSD installation. While this feature is not new, it is still great. Then, in addition to choosing the desktop environment, you can also choose your favourite console (bash, csh, etc.), a few of the meta-packages you want pre-installed  (drivers, multimedia stuff, sources, development, etc.), and whether or not you want the ports tree (a huge collection of packages that can be compiled from source in a relatively straightforward manner).

I installed the 64-bit version of PC-BSD with the Xfce desktop, full ZFS and ports, but neither with sources nor with development tools. Excluding those was a mistake because I carried out the installation within VirtualBox and one needs the kernel sources in order to compile the VBox kernel modules.

After rebooting into my newly installed system I found myself in front of a plain Xfce 4.8 environment apparently without any specific tweaks other that the PC-BSD wallpaper. The collection of software installed by default in the beta version is scarce. Good, just how I like it. As expected in a virtual machine environment, all the virtual hardware is configured out of the box, however, the display is far too small and the configuration tool that pops up automatically to guide me through the monitor configuration can not do much about it.

The first objective was therefore installing the VBox guest additions in order to set a more convenient screen size and resolution. VirtualBox does not seem to provide guest additions for FreeBSD and there is not pre-compiled PBI package for it (PBI is a PCBSD-specific package format). I therefore need to install it from the ports tree. This would have been straightforward should I had chosen to install the meta-package sources when I was given the chance. But I did not, which in a way is good, because this forces me to have a look to the PC-BSD configuration centre. Great tool, no question.

When it comes to installing packages, there are a few options. Something that FreeBSD newbies such as myself can find a bit confusing at the beginning. On the one hand, there is the PBI package manager which, as we mentioned before, contains pre-compiled packages. However, this 9.0 first beta comes with very few PBI packages. Then, also form the configuration centre, you have several so called meta-packages you can choose. I chose “development” and “xfce-plugins” and tried to install those. The meta-package manager is slower than Apt or other similar tools. There is no problem with “development” but “xfce-plugins” fails to install. The problem is quite likely due to the fact that Xfce 4.8 is pretty new and one or more of the plugins selected by the meta-package are not yet compatible. Finally, there is still another tab where you can configure the ports tree and related stuff. I download everything from there, which takes quite a while. This finally allows me to compile the VBox guest additions from the ports tree. But that is not all, because having that working still requires some manual configuration. It is not a big deal for a relatively experience GNU/Linux user like me, but I guess than the average fresh Windows deserter would find all this a bit complicated.

I have not had enough time to test the system in terms of stability and performance. I assume that the core system, being FreBSD, should be rock solid. The responsiveness of the desktop seems pretty good. I gave to the virtual machine 128 MB of VRAM and 2GB of RAM (4GB are recommended by the installer if ZFS is chosen).

Pending testing in real hardware, doing some benchmarking and using it for long enough to assess stability, my final verdict is very positive. My impression is that finally PC-BSD has come to age (by its own standards) and can at this point compete in terms of user-friendliness with all major proprietary operating systems (namely, of course, with its distant cousin MacOS X) as well as with the most popular GNU/Linux distributions (good hardware detection and auto-configuration, possibility of installing proprietary drives if required, intuitive installation GUI, intuitive administration tools, etc.). A true inflexion point in the BSD world. The big pluses, in addition to user-friendliness, are the multiple desktop environments, the easy deployment of the professional-grade ZFS file-system, the possibility of using the installation DVD for a quick installation of a rock-solid FreeBSD server or core-system, and the huge number of programs you can install via the ports tree.

Some small minuses concern the fact that the DVD is just an installation DVD and not a live DVD (which means you need to install it in order to test it); the fact that the meta-packages bring along a lot of Qt dependencies (not required, I guess,  if you are not using KDE); and the complicated package management system (PBI plus meta-packages, plus ports). In fact, without ports, there are not so many pre-compiled packages available as compared with the main GNU/Linux distributions (namely Debian and derivatives, but also Fedora, RedHat, OpenSuse, Madriva, Mageia, PCLinux, etc.). The ports tree is great for the experienced user, but it takes time to compile every package from source and it does not always work as expected. In conclusion, the main limitation of the system at this point from the newbie desktop user perspective would in my humble opinion be the lack of a consistent package manager system (pkgsrc?) with a graphical user interface (bxPKG?). Initially, it can be based on ports, but it certainly needs to have some ability for problem-solving.

Finally, whereas some users may not be comfortable with BSD kind of licenses, it may be seen as an advantage by others. I personally prefer the GNU licenses, but as a practical guy who just needs to have the work done, I would not mind using FreeBSD in systems which have been deserted by the Linux kernel. PC-BSD will certainly be my first choice in such cases and the option I will recommend to those having unresolvable problems with Linux and, why not, also to those who are searching for a good alternative to Solaris or Solaris-based operating systems.