Return of the Daemon

Beesdie as a pinup girl!

The time was late November of 2021, and I was ready to try some new things. Specifically, I want to learn how to create and distribute 3D models for use in games and simulations. For this I would probably need a new computer, preferably with a graphics acceleration chip. But that is currently beyond our financial reach, and is likely to remain so until mid-2022. So, I needed a way to amp up my existing computer to handle some of the rendering and development tasks I had in mind. I knew it wouldn’t be able to do all of them, but hopefully it could perform the tasks I needed for learning the basics. That would push my technological road block further away, hopefully to a time when acquiring a new computer was financially feasible. The answer for enhancing my old computer had been sitting in front of me all along: FreeBSD.

I had a TrueOS instillation on my computer, but I hadn’t used for quite some time. I suspected it would need a lot of updating. So much so that I figured a better option would be to start fresh. I had started with PC-BSD, which later became TrueOS, so I went online to get the latest release. I was very disappointed to learn the TrueOS had shut down, with very little explanation. A possible replacement was a different desktop oriented distribution of FreeBSD called GhostBSD. So I downloaded the current version of that and burned it to a disc. I then backed up my relevant files, cleaned and prepared the appropriate hard drive, and started the installation.

It went perfectly! I can honestly say that it was the cleanest and fastest instillation of an open source operation system that I have ever seen. I had a fully working system up within just under an hour. Most of that time was spent copying and moving files from the disc to the hard drive. I was able to take a short nap while it worked. I remember thinking ‘that was too good to be true!’

Unfortunately, I was right. As I started to install my favorite programs and utilities, I started encountering bugs and glitches. At first they were minor, and work-arounds were easy to find. I figured this was the result of system changes since my original install. But, when Window Maker wouldn’t operate correctly, and would frequently freeze the system, I knew something was very wrong. When other problems started to occur with other programs, I hit the breaks.

I did a little digging, and found that GhostBSD uses its own port tree and configuration schemes. For me that is a red flag. The largely standardized structure of FreeBSD and the related port tree was one of the things I really liked about it. One of the things I disliked about Linux was how each version of Linux had its own scheme and distribution methods; essentially a ‘port tree’ for each version of Linux. Reluctantly, I made a backup of my GhostBSD install (just in case), and went back to the source: FreeBSD.org.

I’ve tried to install vanilla FreeBSD before, but with little luck. I find the instillation program is often confusing, and asks questions that most users, even intermediate level ones like myself, would have no reason to have answers for. The instillation script is clearly designed by experienced system administrators, for experienced system administrators.

One of the big strengths of PC-BSD was that the instillation process was designed with average users in mind. One of the distribution’s goals was to make FreeBSD more accessible to average users who weren’t experienced with Unix. Granted, it had some bugs, and some of the added features were cumbersome. In my opinion, when using FreeBSD you will eventually need to get very technical. But PC-BSD provided a good set of training wheels for the operating system. The GhostBSD instillation script was also very straightforward, so it could fulfill the same role that PC-BSD did. I’ll be keeping an eye on the distribution and see how it develops.

Anyway, I downloaded and burned a system install ISO for FreeBSD, prepped the hard drive again, and dove in. When presented with a question I didn’t understand or didn’t know the answer to, I accepted whatever default values the script recommended, and wished for luck. The only variable option I selected was to include the port tree. (A portsnap install.)

To my relief, it installed correctly. X-Windows wasn’t part of the instillation disc, so that explained a few things. (X-Windows is as inherently tricky as it is useful.) I was able to do a console login using both the root password and a user password without any trouble, though I did find that some permissions needed to be changed on my user password.

This was from one of those cases where the instillation script asked me question that I didn’t fully understand, so I accepted the default and hoped for the best. I figured (prayed…) that if problems arose I could fix them later. When I attempted some simple commands, I received a few messages about permissions and access rights. A search of the various FreeBSD related forums and documentation libraries eventually provided me with the information I needed. Persistence and patience are ‘user requirements’ that are still needed for setting up FreeBSD, and I suspect they always will be.

Once the core system was installed and running, I attempted to install a program from the port tree. This was more to test the network configuration that it was to install the actual program. The program in question was Midnight Commander, an open source stalwart that does not require the X-Window system. To my relief, the port installed normally, so my network configuration was (at least) adequate.

The next step was to install X-Windows. I was expecting this to be a nightmare, because on every other X-Window install I’ve done, be it Linux or FreeBSD, there were bugs to iron out. I went with the package install route, so as allow a faster download:

pkg install xorg

I really like the name xorg; it sounds like the name of a creature from Dungeons and Dragons.

Had this install failed, I would have tried the source compilation route, but luckily that wasn’t necessary. Even so the process took a while. Most of a night in fact. I entered the command mid-evening, and it was still downloading when I went to bed. I got up in the middle of the night to use the bathroom, and checked on it. According to the timestamp, it finished downloading around 2:30am, having taken six hours to fully download. I found out later that there was a problem with our satellite internet connection, so this slow process had nothing to do with FreeBSD.

The next day I attempted to launch X-Windows. I was presented with three questions related to my video card, which fortunately I did know the answers for. I had the original manual for my computer, a Dell Inspiron 660 series, with all the specs laid out, right next to me. This may be a no-brainer, but if you’re going to try installing an open source system like FreeBSD, I highly recommend having such documents on hand.

I entered startx, and after a few seconds the TWM window manager came up, in full ugly glory. The color resolution was painful to look at, and the windows didn’t fit my monitor very well. But X did launch without issue, and I was able to change the colors and resize the windows without any problem. So the initial horrid appearance proved to be nothing of concern. I figured if anything was going to go wrong with this instillation, the X-Window instillation was the most likely place. But apparently things went fine. So far, so good.

The next step was KDE. I knew this would be a haul. KDE is a full blown desktop environment with all kinds of tools and features. The funny thing is that I generally use Window Maker, but I still make use of numerous KDE tools and features, so I still needed to install the full beast. Once again I logged into the console as root and put the system to work:

pkg install kde5

I did nothing else with the computer that evening, because it was too busy downloading to be of any other use. When I returned the next day I made some necessary changes to some key configuration files, took a deep breath, asked for the favor of the technology gods, and reluctantly launched X.

I anxiously waited while the computer whirred for several minutes until the login manager (a variant of SDDM) popped up. I entered my userid, then waited again. After about 30 seconds the bouncing KDE pointer appeared, and the various components of KDE came into focus. I heaved a sigh of relief, but I still wasn’t out of the proverbial woods. My problems with GhostBSD really increased when I tried to change the window manager and add other programs. Even so, I went through a series of tests and checks to make sure that KDE (at least) was working as advertised. With KDE working, I figured my largest hurdle had been cleared.

The next step was my preferred window manager, Window Maker. I installed the packages just as I’ve done before:

pkg install x11-wm/windowmaker
pkg install x11-wm/wmakerconf

When I boot up, the login manager screen provides an option for selecting a window manager. But to my dismay, Window Maker wasn’t among them. After doing some quick surfing of Linux and BSD forums, I found that for SDDM to recognize and use a manager client, it needs a .desktop file in:

usr/local/share/xsessions

Such a file can be created using any text editor. Using the KDE one as a model, I made one that looked like this:

[Desktop Entry]
Type=XSession
Exec=/usr/local/bin/wmaker
TryExec=/usr/local/bin/wmaker
DesktopNames=WindowMaker
Version=1.0
Name=WindowMaker

I named the file wmaker.desktop, and placed it in the appropriate directory. When I logged out and back in, Window Maker appeared as one of my options on the menu. If you have a window manager client that you particularly like, but that doesn’t provide a .desktop file, a file of this type is probably what you need.

Window Maker popped up, and it’s various applets whirred into operation. I then opened a root terminal and attempted to install a simple x-window application from the port tree. The package installed normally, and my userid was able to launch the application without a fuss.

Now I was able to relax, because if I could get this far then I was probably in the clear. At this writing I have installed many of my favorite applications from my earlier TrueOS install, and haven’t had any major problems. Either I’ve gotten better at this open source thing, or FreeBSD has gotten easier to work with.

I had forgotten how much faster FreeBSD can handle heavyweight programs like Firefox and LibreOffice, especially when compared to Windows. Earlier today I had six heavyweight programs running in different workspace windows, all handling a variety of tasks, and my computer didn’t show the slightest lag. That same workload would have killed Windows. It’s almost like having a new computer.

My next step is to install and load the development and rendering tools I will be using for developing game materials. If the increased performance of the rest of the system is anything to go by, I’m cautiously optimistic.

OK you tricky little daemon, show me what you’ve got.


The image of the Beesdie daemon as a pinup girl was pulled from a wallpaper that appeared in the PC-BSD forums some time ago. Sadly I don’t remember which version, and I certainly can’t remember the name of the creator. Here is the original wallpaper for those who are interested.