Does Desktop have a future on BSD?

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.
This sounds interesting. What are you using Zeroconf for?

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.
Oh the improvements to the FreeBSD desktop in the last decade went far beyond graphics cards and compilers:
  • Support for many mobile data dongles got added (sadly you still have to dial them from the command line with no network manager).
  • ZFS got added to bsdinstall, we became able to boot from ZFS, and there were various boot improvements.
  • Our ext2fs filesystem got many bugfixes and improvements, and does ext3 and ext4 filesystems too now.
  • the kernel stopped crashing when mounting write-protected filesystems.
  • multimedia/webcamd got 352+ Linux webcam drivers working on FreeBSD, and gained support for 32 bit clients on 64 bit kernels, allowing Windows apps running on Wine to capture video. Many other Linux drivers, particularly for USB devices, could also be made to work on FreeBSD this way.
  • The brilliant little sysutils/bsdisks project independently reimplemented the (Linux-only) udisks API, exposing drives, partitions, and filesystems over D-Bus, thus letting USB drives be mounted and unmounted on GNOME, KDE and XFCE, all without udisks and systemd. But it went even further, using that API to expose FreeBSD-only functionality, such as supporting ZFS volumes. Yes, you can now mount ZFS from within your Gnome Files / Konqueror / Thunar file managers, something even udisks on Linux doesn't do.
  • Our FUSE support improved, although a great deal of further work remains with its many Linuxisms, and GVFS sadly still can't expose its virtual filesystem over FUSE (which would allow transparently opening remote/virtual files in any local application, over ordinary POSIX APIs).
  • Wine improved tremendously, and its FreeBSD support is almost as good as its Linux support now. Even Cygwin, which uses undocumented NTDLL APIs and requires precise memory layout, and which used to only work on Linux, installs and runs well on FreeBSD too now. People are using Wine spinoffs like Proton on FreeBSD to game.
  • Java, .NET Core, Node.js, and probably many more runtimes, all got ported, upgraded, and improved.
  • Tons of Ports got added, including really difficult ones like Electron.js apps.
  • Several desktop-focused FreeBSD projects like FuryBSD and helloSystem came about. Sadly few survived, but some of their work went into Ports and carried on, for example we got a minimal network manager for Wi-Fi (net-mgmt/wifimgr).
  • We got hardware accelerated encryption (AES-NI) in GELI.
  • VirtualBox stopped crashing the kernel, and I've never really seen VirtualBox Guest Extensions go wrong on FreeBSD while they disastrously crippled VMs on Linux at least twice.
  • Recently kqueue got patched to allow monitoring for file changes without locking volumes and stopping them from umounting.
  • There were plenty more, I don't always follow the development closely, but every quarterly report from the FreeBSD Foundation is full of exciting news.
Don't get me wrong, there is plenty I'd still like to see. I could fill pages with bugs and wanted features. But major improvements have already been made, and it's been great watching FreeBSD grow and contributing where I can.

And I haven't even been using FreeBSD for 10 years - that list of improvements is from the last 7-8 years ☺️.

Let's hear from the rest of you. How has the FreeBSD desktop improved for you over the last decade?


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.
Explain that a bit better please. Which port messes up your screen resolution?
 
dj015
I haven't been able to use Zeroconf. I wanted to try it with a printer. I've gotten a lot of understanding on setting a printer up, but I haven't figured out the next steps of putting it on it's own IP on a LAN that's not localhost. I also haven't understood setting up Zeroconf.

ext3 and ext4 capability is definitely a benefit. I've tried them before, and I've heard it's gotten better since then.

By FreeBSD 13.1, at least we may not have to update Clang to the latest build every time we update something like Firefox, Thunderbird or something related to Xorg.

As for the improvements related to Linux, there's plenty of unnecessary duplication in ports. Why can't there just be 1 to 4 sound systems of OSS, Sndio, Portaudio, and Jack, then everything else that's Linux directly use that, instead of Alsa or PulseAudio. They say they need Linux audio systems, to get multi-mixing or being able to record sound to another application, which, there needs to be a better way that is both simple and satisfies that without needing Linux sound application junk. Why is there an additional port for something that's a duplicate of another port, which is named Linux? It's excess, let the end user Linux program work directly on top of the already existing BSD implementation. Part of the problem is that ports are centered around the Gnome desktop, which is just piled on software.

If this gets out of the way, less computer processing power goes way further. If this happens: there would be less bugs, due to less duplication of software, it would be easier to find bugs, and the poor guy who asks for hardware donations to build ports will need way less hardware while building ports faster.
Explain that a bit better please. Which port messes up your screen resolution?
I don't remember. It's anything that updates any part of Xorg. It may have been Firefox, Thunderbird, a video game, something that relied on SDL, a port that I updated due to it getting a Vulnxml warning, or one of those graphical programs that didn't need a lot of dependencies, but added them anyway.
 
the kernel stopped crashing when mounting write-protected filesystems.

That was a fairly huge fix, IMHO (I wasn't aware of the upstream bug when I raised what was probably the same issue in the TrueOS Core area {link removed}). Far deeper than a paper cut, it was the type of bug that taught me to never trust FreeBSD with a camera. A shame, at the time. Whenever my day job required me to use a camcorder or camera with a computer, I'd quietly slip away to a place where Microsoft Windows could be used.

I wonder whether this fix was ever in a release note …
 
Last edited:
… I've never really seen VirtualBox Guest Extensions go wrong on FreeBSD …

FreeBSD bug 254412 (kernel panics, at boot time, of FreeBSD guests) {link removed}:

Code:
… the breakage is somewhere in this code:

Sleeping thread (tid 100099, pid 155) owns a non-sleepable lock
KDB: stack backtrace of thread 100099:
#0 0xffffffff80c166f1 at mi_switch+0xc1
#1 0xffffffff8233cf37 at rtR0SemEventMultiBsdWait+0x297
#2 0xffffffff8231d36a at vgdrvHgcmAsyncWaitCallbackWorker+0x14a
#3 0xffffffff8231e49b at VbglR0HGCMInternalConnect+0x11b
#4 0xffffffff8231ad33 at VGDrvCommonIoCtl+0xb53
#5 0xffffffff82319af6 at VGDrvCommonProcessOptionsFromHost+0x146
#6 0xffffffff8231d9f8 at vgdrvFreeBSDAttach+0x1d8
#7 0xffffffff80c4670d at device_attach+0x3dd

Let's hear from the rest of you. How has the FreeBSD desktop improved for you over the last decade?

Many and varied improvements, particularly over the past … year or two, I guess. YMMV; CURRENT sort of gets me the best of the best much sooner than it can reach users of RELEASE.

I'm surprised that I didn't previously mention graphics i.e. DRM.

On the Plasma side of things: enhancements and fixes never fail to impress me.

Firefox is just excellent. Huge credit to the many developers on the Tier-1 side; massive credit to the much smaller group of maintainers of the Tier-3 port to FreeBSD.

Last but not least: the FreeBSD Foundation. Not just the increased investment, from which desktop/laptop users are reaping the benefits; there's smart communication, coordination and so on. Hats off.

1641198509791.png
 
Last edited:
I brought this up last year and gave an update in Off Topic a few days ago.

If you purchase things on Amazon through smile.amazon.com, you can select FreeBSD for charitable contributions. A percentage of your purchase is given by Amazon to the FreeBSD Foundation.

This last quarter's contribution was $900. It costs you nothing to do this.
 
Back
Top