FreeBSD 13.2 Troubles

I’ve used Linux for going on 20 years. It is a nice well rounded OS with a lot of support. The OS is settling in and there are a ton of features, programs, and well, policies. The latter is what is bothering me and I’m worried that it is getting too complex. This isn’t to say that it wasn’t complex but it is getting more so complex. It is hard to get an answer to a problem without a lot of research on the issue and the surrounding technologies. Then there are limits these days, such as the drive to forced use of flatpacks, appimages, and snaps. Canonical owns snaps and they are pushing to get everyone to use them. They have the biggest overall market share for distributions; albeit that is shrinking. The other distributions have limits too. And then there’s docker. If I want to install some packages to host services, such as a recipe web site, I will often be limited to using docker. I am not interested in docker. There are other viable technologies. Why make everyone use one? That would be because you want to control a portion of the market in a manner similar to how Canonical is using their market position to force snaps. For instance, when you update your OS from one release to another they’ll remove your normal Firefox install and instead force install the snap version. This doesn’t harm your settings, addons, nor bookmarks. When they first released the snap for Firefox it took forever to load. I found also that after using a bunch of snaps the system booted much slower. I used systemd-analyze blame and it told me that the snaps were slowing boot up. I decided to get rid of them all and prohibit snapd from being installed on my computer overall. I used apt-mark hold snap*. However, Canonical’s update manager overrides my choice to do this during the next release upgrade by removing the hold.

There are other issues that make using Linux more difficult. People are pushing Linux distros to use immutable file systems and on top of that snaps, appimages, and flatpacks. Of course, I’m not interested in this so the only choice I have is to move off of Linux on some computers and move to something else.

That something else is BSD. I chose it because I can use 90% of my skills and knowledge about Linux with BSD. It is also quite efficient. My opinion is that it is quite stable. It is solid like a rock. However it is at least half a decade or more behind Linux and falling further back. I understand that the community is working to add features such as proton for gaming and Linux compatibility so that you can run your Linux apps; if you can’t find the app in the BSD repositories. And they have their own version of containers called “Jails”.

BSD is very good. It lacks the maturity that you find in Linux. You often see a ton of complaints about BSD not advancing its own direction instead they claim that it is advancing toward copying Linux. Not that I believe that as a literal statement, but I do see a lot of recent Linux ideas in BSD. I like it. It makes things more consistent across platforms.

There are somethings that BSD is doing that show that it is behind Linux. Graphics drivers, the way they implement managing computers, the lack of users with a solid understanding of BSD in order to provide help, among other things.

On the first computer that I was testing FreeBSD with the install worked great. It did the job. It has a dated UX yet it did the job to bring me up to an expected prompt. To further the computer configuration along I then went online to find and followed a video guide on installing KDE5 Plasma desktop. Following the guide worked. The only issue I had at the time is that the icons and program references were all missing from the menuing system. What did exist were just two entries. One was for “all programs” that when selected showed no programs, and the other was so unremarkable I can’t remember what it said. I checked the version of Plasma finding it was an older version. No harm, no foul. I used that older version on Linux for some months and was happy with it. Finally after several reboots (or whatever) when I looked at my menu suddenly the icons and programs were present. A day or two later I noted that the version of Plasma was the most recent 5.27. BSD actually had me updated to the latest before my Linux Manjaro Arch install had it. The problem was that the UI felt like mush, and the refresh rate in the systemsettings showed 0hz. I’ve concluded that this meant that it couldn’t detect the monitor correctly. I did some research. I found that I needed to install the proper driver for it. After doing that I was pleasantly surprised. Up comes a snappy desktop. The refresh rate is fine now. glxgears shows exactly 60fps.

I then began installing as many programs as I could that were available to BSD that I used on Linux. I was surprised that there were so many. SSHFS is a biggy for me. I installed it. I’m surprised that it is available and that it installed. There is a problem. I can’t get a mount using the /etc/fstab file. If I do the mount using the command line it will mount though it requires root privileges. When I mount it my regular account can’t access the mount with a message indicating that it was denying me due to permissions.

My next attempt was to install it on a computer that had Linux on it. This went through the normal install taking me to a terminal prompt. I was unable to get an IP address from my router. I tried everything and spent some time on Reddit answering questions, meaning I had more answers than they had suggestions. If I unplug the BSD SSD and plug in the Linux SSD it boots and I get an IP address. In the end I thought this was a managed switch issue, but it appears as though it is not. Even though I was able to finally get an IP address from the DHCP server the way I did it (if all the things I tried prior to it were not a contributing factor to the resolution) I moved the Ethernet cable over a few ports.

Before discovering that, in my attempt to resolve this, I grabbed the computer with BSD on it from the back and brought it out and plugged it in. It did get an IP address on that original port however it was the wrong IP address, meaning it was an IP address from a different subnet for one of my VLANs. I haven’t fully investigated this though I did look at the switch configuration and noted nothing of significance. That’s when I moved the Ethernet cable over a couple of ports and found after rebooting that the machine got the correct IP in the correct subnet as assigned by pfSense’s DHCP server.

When this computer finally got an IP address (due to the move of the Ethernet cable to a new port on the switch) I decided to install xorg, x11 and the graphics driver again only to receive a message that the x11/kde5 has no programs matching, meaning I could not install KDE5. I searched some and found a reference to there being a quarterly and a latest repository. This was set to the latest, so I switched to the quarterly and I was able to install the files for KDE5. However it would not boot to the graphical desktop. I installed SDDM, xorg, and kde5 and the graphics driver but no desktop. I erased and did it again. No luck.

Over the weekend I decided to install FreeBSD on a computer at another office and when I did this I had the same issue. The computer wouldn’t get an IP address. I worked very little to resolve it instead I unplugged the SSD and brought it with me back to my shop. I plugged it into the computer in the front area and rebooted. It came up but would not give me an IP address. To this end I felt that I’d not properly configured the port for the different card that is in this computer. This computer’s Ethernet card is referenced as alc0. The one at the other office was also alc0 but was different. I believe though because of this that it should have worked when I booted with the SSD with BSD from the other office. Anyway, I could not get an IP address. This seems to be a pattern.

I then took that SSD to the back room and plugged it into the other computer that has a known working BSD install. I unplugged the working hard drive and plugged in the SSD and decided to try a boot. No IP address. Duh, this one has reference to em0 and not alc0. My fault. I didn’t think about this much and decided to just wipe the drive and reinstall. I completed this and followed the video guide that I’d used earlier. This allowed me to install xorg, kde5, sddm. I was able to reboot the computer and log into a desktop, although it was not a graphics card accelerated desktop. It didn’t matter to me because my intent was to move the drive back to the computer in the front and try to boot with it. I was able to boot and I was taken to the desktop. However, there was no IP address. For this I believed that I knew the cause. I ran a program that someone mentioned in the reddit forum called bsdconfig. I brought it up and figured out how to setup the networking component to match my onboard NIC for this computer. This worked. I got an IP address and I had the desktop. I did get the IP address that I expected but I couldn’t get out. I couldn’t ping google nor any internal IP. I then configured the gateway and the DNS using that same tool.

The graphics looked a bit large and it was sluggish so I decided to install the graphics driver for this. On this computer the card is a Navi 14 AMD Radeon card. I installed it thinking it was the radeonkms driver. When I used that driver the computer rebooted. I stopped it and booted into single user mode and went to modify the /etc/rc.conf file. I found that the file system was readonly. I had to find some way to tell it to allow me to write to the zfs file system. The search didn’t take long and I was up and running again by commenting out the line in the /etc/rc.conf file that pointed to the graphics drive. At this time I also adjusted it so that it used the “admgupkms” driver. This time it booted properly and took me to the desktop and gave an accelerated version. I ran glxgears. It was showing upwards of 107 FPS. However the size of everything was off. I looked at the systemsettings for display and it showed me that the refresh rate on this computer for this monitor was again 0hz. When I tried to change the resolution the tooltip told me that I couldn’t do that because that is the maximum resolution of the monitor. It isn’t. The monitor is capable of running a 1920×1080. Nothing I could do there. My attention was drawn away to a conversation and I noted that the screen had gone blank. When I looked again I also noted that the computer was off. I decided this was a kde5 setting and intended on turning off the power management to the computer and the monitor. When I moved the mouse nothing happened. When I pressed keys on the keyboard, nothing happened. I pressed the power button. The computer came on but it showed only a black screen. I couldn’t get anything to happen, so I forced the computer off. When it came up again I had the desktop. I then went into plasma settings and turned off sleep for the computer and the screen.

I did a few more things and installed a few more programs and then decided to write this up.

It is a bit of a story. It shows how good BSD is and that it has some issues that will make people very unhappy. Had I not all this knowledge of Linux my BSD experience would have been worse. As it stands I will continue to try to replace a computer with BSD and also try other configurations and installs. I’m worried though because BSD 14 is due out soon and with it will come a slew of new problems.