Does Desktop have a future on BSD?

I am not sure for this at least with browser comparison. If I remove Windows, install BSD/Linux and run the web browser - it is obviously slower than on Windows. Probably the reason is in Xorg (GUI). I have not tested Wayland yet, maybe it will make browser faster.
I hate adding to a controversial thread but this is not my experience at all. In my experience, Linux is the fastest, then FreeBSD, then Windows. The exception is my home Gaming box, which is on par with both Linux and FreeBSD. My work laptop, which is Windows 10 Enterprise and on an enormous AD domain, is beyond slow, I mean molasses slow. 4 core i7, 16GB ram and it takes a full 15 minutes after boot for the drive light to stop and not be pegged at 100% drive utilization. After that it's the normal O365 crashes and slowness, then the OS is at least useable but it is in no way comparable to either Linux or FreeBSD in terms of speed.

Again, that's my experience.
 
Booting linux is certainly faster than booting FreeBSD. As for the desktop I don't feel a speed-difference in both.
FreeBSD is used alot in servers and servers don't get booted very often. The simplicity and reliability of rc init comes at the price of booting-time.
 
Booting linux is certainly faster than booting FreeBSD. As for the desktop I don't feel a speed-difference in both.
FreeBSD is used alot in servers and servers don't get booted very often. The simplicity and reliability of rc init comes at the price of booting-time.
I normally am only concerned about desktops and not about boot time. My Windows 10 gaming box boots in about 10 seconds, but it's running on an nvme drive so very fast. Linux and FreeBSD both booted reasonably fast on SSD on the same box. My work laptop is spinning rust so I understand it boots slowly, but boot is not the slowness on it - even after booting, the drive activity stays at 100% for at least 10 minutes. There is some enterprise/AD/McAfee madness going on there that just drags it down to being nearly unusable for a few minutes. I guess not entirely Windows fault. Wait, did I just say that out loud? ?
 
Booting linux is certainly faster than booting FreeBSD. As for the desktop I don't feel a speed-difference in both.
FreeBSD is used alot in servers and servers don't get booted very often. The simplicity and reliability of rc init comes at the price of booting-time.
Actually having not to deal with systemd, its baroque "grab and reinvent everything" approach land security implications is one major selling point for some companies to switch from Linux to FreeBSD.

As can be read here, this was featured a while on the FreeBSD home page ago: https://www.synergysky.com/blog/whydidwebuildoursolutionontopof_freebsd
 
Each of us has their own opinion. If you feel that boot speed is a reason to choose one system over another, then you should probably use Linux. I'd go further and say VoidLinux, in text mode, is really fast. I don't have Windows on bare metal, so can't judge it well. I prefer minimal window managers, so my system will run more quickly than say, someone's who is running Gnome. However, they will have a lot of things set up for them and easier to use. The question of this whole thread has lots of different answers, because each of us has different needs. I think my doctor, lawyer, if I needed one, and accountant, probably all need Windows. I suspect some of the specialized software they use doesn't even run on Mac. So for them, the apparently silly question of is MacOS good for desktop would have a No answer.

For me, FreeBSD is fine as a desktop, but on occasion I need Linux for things like, for example, using masterpdfeditor, which fills out pdfs. I wish that were my most difficult problem in my life.
 
Boot speed? I measure my desktop uptimes in months (record is close to a year, on an UPS a power outage in the area killed it) so boot speed is irrelevant to me. Correct booting is more important than boot speed.

There are variables (loader.conf) that can be set to minimize/limit probing and waiting for USB devices. If you are not booting from an external USB device you can safely set these.
 
For /boot/loader.conf there is
Code:
hw.usb.no_boot_wait="1"  # DO NOT WAIT FOR USB DEVICES FOR ROOT (/) FILESYSTEM
In /etc/sysctl.conf i have,
Code:
hw.usb.no_shutdown_wait=1                #No USB device waiting at system shutdown
 
I agree with you on Void Linux being fast. Both the boot process and the package manager are the fastest I've ever seen. The first time I tried it I wondered how my HDD had been magically turned into a SSD.
 
Desktop is simple, if and only if FreeBSD adopts a GUI/Widget/WM stack as the first class citizen. Just bundle Qt GUI and Widgets in the base system with a bare bone window manager with a set of configuration tools.
And immediately tick off over half the user base who doesn't like whatever is selected. Better idea: let the user decide and let the user install what he wants. This ain't no platform for kids.
 
And immediately tick off over half the user base who doesn't like whatever is selected. Better idea: let the user decide and let the user install what he wants. This ain't no platform for kids.
A lot of people thinks that a server should reflect their own desktop, and that's why you see a lot of servers with a full fledged desktop installed without a particular reason. So they usually think that instead of having a simple and clean install for <put any scenario here> and install only what you need, you should ditch a huge bloat there just because "you have storage space, who cares? It works pretty well on my (bloated) desktop!".
 
Windows boot time is fast, because "fast startup" is enabled by default. Turn it off, or powercfg /h off and we're going to have the good old day Windows, i.e. without SSD you have to wait for 5-10 minutes (depending on age of installation) to see Windows stop crunching the HDD!

Some background on how windows speed things up:

Prefetcher [Folder] (since XP)
It watches boot processes, program launch and NTFS MFT, and saves/record them as Hashed log/trace files in the %WINDIR%\Prefetch. Next time it caches them into RAM for faster boot time and next programs' launch.
Fun fact: US Patented by Microsoft

Sysmain (since XP)
Prefetch (XP) aka Superfetch (Vista) aka Sysmain (Windows 10)
It's an extension to the Prefetcher (Since Vista), and Preloads frequently used programs into RAM

ReadyBoost aka EMD (since Vista)
It relies on Sysmain to turn NAND into a cache between HDD and RAM.

Fast Startup (since Windows 8)
Fast Startup aka Hiberboot
It closes all programs, log off the user, and save the state (kernel and drivers) from RAM to the hiberfil.sys.
The result is a half-ass hibernation. It requires BIOS/UEFI firmware support. It can cause problems too:
* No multi-boot
* No BIOS access
* WoL anomalies
* Creating/working with RAM-disk

There's two types of hibernation:
* Full hibernation: It creates a large hiberfil.sys -- at least 40% of physical memory (HiberFileSizePercent >= 40)
powercfg /h /type full
* Reduced hibernation (minimum requirement for Fast Startup to work): Smaller hiberfil.sys -- at least 20% of physical memory (HiberFileSizePercent < 40)
powercfg /h /type reduced
 
A lot of people thinks that a server should reflect their own desktop, and that's why you see a lot of servers with a full fledged desktop installed without a particular reason. So they usually think that instead of having a simple and clean install for <put any scenario here> and install only what you need, you should ditch a huge bloat there just because "you have storage space, who cares? It works pretty well on my (bloated) desktop!".
Performance issues, and time wasted compiling which they fail to realize. More efficient port dependencies means much easier maintenance.
 
… servers with a full fledged desktop …

For me, those were Mac OS X Server 10.0 (with Mac OS X largely the reason for my presence here {link removed}, although I never introduced myself) and before that, AppleShare IP {link removed} 5.0.
 
Last edited:
Having a GUI on a server does aid in learning the system and it's way of administration. There's a reason why SUN hired Debian founder to layout a decent Gnome2 port on OpenSolaris.
 
Having a GUI on a server does aid in learning the system and it's way of administration.
A server shouldn't be used as a learning system. A spare machine should be used for that, and in that way, in fact you should install everything you want for learning purposes.
Specially today when there's a lot of ways to do that (virtual machines, chroot, jails, etc).
 
  • Like
Reactions: mer
A spare machine should be used for that

And what is that spare machine? A server.

Non-argument. Whether it's production or not isn't the point.

If you were to tell a new coming sysadmin to setup a three node HAST/CARP cluster, and to authenticate those servers via SSH keys; it'll be a lot easier for one to just open up a few terminal windows and go to town instead of having to fiddle with tmux in a tty session. If a graphical server was so idiotic, Red Hat would've removed the option altogether a long time ago. It's certaintly not favorable to veterans, but it helps mere mortals.
 
A lot of server functions that FreeBSD has is covered by TrueNAS.

Without a desktop and desktop applications on FreeBSD, the ports tree is very efficient. For desktop applications, it can't get much improved as it is.

The user base for FreeBSD desktop is small, which it seems that a fraction of it uses the forums.

There's also a lot of reluctance in favor of using old ways. For instance, there's the common saying of << just get a Postscript printer and use lpr >>. CUPS can be slimmed down and used like lpr, while supporting way more printers. There's also a lot of wanting to keep full compatibility with a full Gnome desktop for minor features.

Also, I realized that BSD and Apache implementations aren't going far, unless companies provide the bulk of that effort. BSD operating systems working together for implementations can make that go a long way.

We'll get Linux implementations for programs in ports. This benefit from GNU/Linux implementations will be limited to use on top of BSD, which is fine in lots of cases. BSD and Apache implementations can be absorbed by GNU implementations, while BSD and Apache implementations can't get additional benefits from GPL implementations. We're stuck with Avahi for Zeroconf, and we're stuck with Doxygen for documentation. If I understood how to make Zeroconf work, I would attempt to fix it. I read about it, and understand a lot about it, but using it, and being able to configure it is another story. I also don't understand whether Sphinx is working. I also wish to build more ports with BSDmake, but I don't have the understanding to do that all the time when errors pop up.

FreeBSD is more efficient than Linux, but Linux/GNU has slightly more capabilities. The desktop is really multiple duplicate implementations on top of BSD. The current desktop on FreeBSD is still pretty good. Also, what other opensource OS offers so many choices for user-end ports/packages, without being Debian/Ubuntu?

At least when LLVM/Clang become more developed, there will be a lot of resources to go into improving the next thing on FreeBSD. There were a few major improvements in the last decade, like getting improved graphic card support and getting another implementation of a compiler/toolchain.

On my system, when I upgrade a port, I'll get my whole screen resolution rearranged. It still works, and is fully usable, it's just that with two monitors, my background sizing is altered from what I had. It shows that programs/ports/packages need to have separations, so they aren't tangled up.
 
Back
Top