What is the future of FreeBSD?

What did you do for 3 hours and 50 minutes? Installation itself takes less than 10 minutes.

First, I handled the disk partitioning. Since I’ve been through many Linux and BSD installations over the years, this step was straightforward and uneventful.
Then came the graphics driver. I spent a considerable amount of time digging through documentation, but eventually I managed to get the right GPU driver loaded and working.
After that, I attempted to get a graphical session running under Wayland — and here, things got complicated. I can only call it a partial success. The only way I could reliably start a Wayland session was by manually running a specific command from the terminal, and even then, only KDE Plasma would actually start. Other compositors like Sway and GNOME all failed to work properly.
Once I had logged enough hours researching, I figured out the display manager configuration and managed to set up a login screen where I could at least choose between different graphical environments.
Next, I tried to fix the audio. Oddly enough, sound worked when I tested it through command-line tools, but KDE’s graphical sound manager simply refused to cooperate. Even when I managed to get it working temporarily, the settings never survived a reboot, and I’d find myself back in complete silence.
The Wi-Fi situation was a dead end from the start — there is no driver for my wireless card, so that failed entirely.
Finally, I attempted to set up Chinese input. That, too, ended in failure.
After struggling with all of this, I eventually gave up and switched to installing GhostBSD. The sound issue improved, but only slightly: I could now fix it by clicking around in the graphical sound manager after every reboot, which is still far from ideal. Wi-Fi remained a lost cause for the same reason — no driver. As for Chinese input, I still haven’t managed to make it work to this day. The input method framework and its components all install and start up without obvious errors, and the tray icon appears as expected, but trying to actually summon the input window produces nothing. I suspect there’s some environment variable or configuration detail I’m missing, and despite attempting a few fixes, nothing has helped.
This whole experience highlights something I keep coming back to: regular users just want sensible defaults. They want a system that, right after installation, lets them listen to music, watch videos, browse the web, and get work done — without spending hours reading documentation and ending up with only half-working results. As a programmer or server administrator, it’s natural to enjoy having full control, customizing every component, and solving low-level problems. But most people are not technicians.
That’s why I genuinely wonder about FreeBSD’s attitude toward ordinary desktop users. Will there someday be an option during installation that simply gives the user a pre-configured, ready-to-use daily-driver environment — whether it’s KDE or something else? Or will the project continue to implicitly assume that everyone is, or should be, a systems engineer?
 
That’s why I genuinely wonder about FreeBSD’s attitude toward ordinary desktop users.

This is the misunderstanding.
FreeBSD will never be built to be "easy" for "ordinary desktop users".
FreeBSD is an OS for technical people through and through. It can be an optimal desktop for them. For anyone else, it is not.

This whole experience highlights something I keep coming back to: regular users just want sensible defaults

Yes and they are already here. It's just that you have a mismatched view of who exactly is the user base.

They want a system that, right after installation, lets them listen to music, watch videos, browse the web, and get work done — without spending hours reading documentation and ending up with only half-working results.

This was never Unix. Never. It wasn't even Linux, until the distro makers started going into "Windows replacement" direction.

Will there someday be an option during installation that simply gives the user a pre-configured, ready-to-use daily-driver environment — whether it’s KDE or something else

No. Not in the way you assume.

For example the things you see as user friendly I see as hostile. Assuming a configuration is, for me, user hostility.

As a programmer or server administrator, it’s natural to enjoy having full control, customizing every component, and solving low-level problems. But most people are not technicians.

I mean, you understand the problem at hand, but you still force opinion that would straight off kill the project.
You have 99.9% of other OS out there, that will serve "most people"
And then you have BSDs and niche Linux distros that serve 0.01%, us, the technical people.

Imagine coming to Harley Davidson shop, taking a bike out on the test ride, and coming back saying you got all sorts of problems en route because the motorcycle is large, noisy, heavy, hard to park and all you want do to is A-B groceries and light commute.

One tip I can give to you : FreeBSD is exact. Exact. You don't get to reuse your Windows and Linux mindset. You need to follow procedures 100%. What people do is try to do one thing per tutorial, and they fail a step. When they fail a step they will just take another tutorial, another approach, while not understanding the source of failed step, or cleaning up after it.

I've seen people here on forum essentially fking up an vanilla installation so hard that it doesn't work properly on supported hardware. If you ask them what did you do...dindu nuffin. Ask them to paste the relevant system configuration files and there is all sort of bullshit in there that should not be.

What these people do, not saying you're among them just chatting, is they put on a "technical user" mask and go on to changing configuration files, it's all cool, hacker and terminal-matrix thing until shit stops working. And when it stops working they don't know what the hell is going on, and the mask is off and now they're simply an user "trying to just work his load at the computer", "I shouldn't be doing this in the first place".
 
This is the misunderstanding.
FreeBSD will never be built to be "easy" for "ordinary desktop users".
FreeBSD is an OS for technical people through and through. It can be an optimal desktop for them. For anyone else, it is not.



Yes and they are already here. It's just that you have a mismatched view of who exactly is the user base.



This was never Unix. Never. It wasn't even Linux, until the distro makers started going into "Windows replacement" direction.



No. Not in the way you assume.

For example the things you see as user friendly I see as hostile. Assuming a configuration is, for me, user hostility.



I mean, you understand the problem at hand, but you still force opinion that would straight off kill the project.
You have 99.9% of other OS out there, that will serve "most people"
And then you have BSDs and niche Linux distros that serve 0.01%, us, the technical people.

Imagine coming to Harley Davidson shop, taking a bike out on the test ride, and coming back saying you got all sorts of problems en route because the motorcycle is large, noisy, heavy, hard to park and all you want do to is A-B groceries and light commute.

One tip I can give to you : FreeBSD is exact. Exact. You don't get to reuse your Windows and Linux mindset. You need to follow procedures 100%. What people do is try to do one thing per tutorial, and they fail a step. When they fail a step they will just take another tutorial, another approach, while not understanding the source of failed step, or cleaning up after it.

I've seen people here on forum essentially fking up an vanilla installation so hard that it doesn't work properly on supported hardware. If you ask them what did you do...dindu nuffin. Ask them to paste the relevant system configuration files and there is all sort of bullshit in there that should not be.

What these people do, not saying you're among them just chatting, is they put on a "technical user" mask and go on to changing configuration files, it's all cool, hacker and terminal-matrix thing until shit stops working. And when it stops working they don't know what the hell is going on, and the mask is off and now they're simply an user "trying to just work his load at the computer", "I shouldn't be doing this in the first place".
You sir have nailed it. Bravo.
applause.gif
 
First, I handled the disk partitioning. Since I’ve been through many Linux and BSD installations over the years, this step was straightforward and uneventful.
Then came the graphics driver. I spent a considerable amount of time digging through documentation, but eventually I managed to get the right GPU driver loaded and working.
After that, I attempted to get a graphical session running under Wayland — and here, things got complicated. I can only call it a partial success. The only way I could reliably start a Wayland session was by manually running a specific command from the terminal, and even then, only KDE Plasma would actually start. Other compositors like Sway and GNOME all failed to work properly.
Once I had logged enough hours researching, I figured out the display manager configuration and managed to set up a login screen where I could at least choose between different graphical environments.
Next, I tried to fix the audio. Oddly enough, sound worked when I tested it through command-line tools, but KDE’s graphical sound manager simply refused to cooperate. Even when I managed to get it working temporarily, the settings never survived a reboot, and I’d find myself back in complete silence.
The Wi-Fi situation was a dead end from the start — there is no driver for my wireless card, so that failed entirely.
Finally, I attempted to set up Chinese input. That, too, ended in failure.
After struggling with all of this, I eventually gave up and switched to installing GhostBSD. The sound issue improved, but only slightly: I could now fix it by clicking around in the graphical sound manager after every reboot, which is still far from ideal. Wi-Fi remained a lost cause for the same reason — no driver. As for Chinese input, I still haven’t managed to make it work to this day. The input method framework and its components all install and start up without obvious errors, and the tray icon appears as expected, but trying to actually summon the input window produces nothing. I suspect there’s some environment variable or configuration detail I’m missing, and despite attempting a few fixes, nothing has helped.
This whole experience highlights something I keep coming back to: regular users just want sensible defaults. They want a system that, right after installation, lets them listen to music, watch videos, browse the web, and get work done — without spending hours reading documentation and ending up with only half-working results. As a programmer or server administrator, it’s natural to enjoy having full control, customizing every component, and solving low-level problems. But most people are not technicians.
That’s why I genuinely wonder about FreeBSD’s attitude toward ordinary desktop users. Will there someday be an option during installation that simply gives the user a pre-configured, ready-to-use daily-driver environment — whether it’s KDE or something else? Or will the project continue to implicitly assume that everyone is, or should be, a systems engineer?
Hmm, I admit that the handbook, on the Xorg setup part is a sure way to get a non working X11 environment due to the way gpus and drm have evolved (i.e. modesetting is the way for most recent gpus) and Nvidia can also trip up some stuff, but it generally works. I expect this to improve now that 13 is EoL.
The wayland section will be a pain until wayland itself stops being half-baked and starts being stable. The hard requirement on drm-kmod is an issue that will prevent fallback when there are problems with drm.
At least for setting up XFCE+Lightdm I certainly don't take 4hrs, I usually do it on the post install step of the installation and takes as long as it is needed to read the relevant documention sections and know which (meta-)packages to pull (pkg install xorg drm-kmod xfce4 lightdm lightdm-gtk-greeter) and which configurations to set (sysrc kld_list+=<driver>; sysrc lightdm_enable="YES"). Then it's up to you what to do.
Wi-fi, bluetooth and some network cards (i.e. realtek-re-kmod) are a known issue that is being worked on by the FreeBSD Foundation, but in the end this is still FreeBSD and it is expected that you, as the user, know what you are doing (either by experience or reading documentation/handbook).

As you mentioned, if you don't want to know what you are doing and want a "(Free)BSD" that just works (tm), your best bet is GhostBSD. And here also, you will be subject to what Eric (et all) decide on what they want to work on and provide (i.e. Xlibre, Gershin, etc). In my opinion, and my personal choice, I prefer to know and myself choose what I have installed. Hence, I'm using FreeBSD and not GhostBSD (or any other Linux, like a destkop Alpine edge as I was using before FreeBSD became viable on my hardware, or *BSD), though I highly advise anyone that wants to use Linux to at least once go over Linux From Scratch (or Gentoo :P).

While the destkop install section will install a KDE and, maybe, setup a login manager, it will be the most basic setup, and will be up to you to figure out all the other issues (i.e. wifi, sound, bluetooth, etc). The script will only automate what I said above about XFCE (and switch KDE/XFCE for any other DE).

As for sound, your answer is in https://docs.freebsd.org/en/books/handbook/multimedia/#graphics-card-sound, specifically the part about setting the correct unit on sysctl. Other than that you can always use the DE picker to select a diferent card, assuming a pulseaudio compatible setup.
 
The Wi-Fi situation was a dead end from the start — there is no driver for my wireless card
Support for wireless network cards has certainly been lacking, that's true. Drivers for hardware don't appear out of thin air though, those drivers need to be coded. And the manufactures of those chipsets often don't help at all. No datasheets, no technical details, no access to firmware, nothing. How could you create a driver if you don't know how the hardware needs to be accessed and controlled? Another issue is that you can't simply take a driver written for Linux (or Windows, or MacOS) and simply load it on FreeBSD. That's not going to work, you can't install a Windows driver on MacOS, or a Linux driver on Windows. Those operating systems all work quite differently "under-the-hood". You can't put gasoline in a diesel engine, or diesel in a gasoline engine. They're both combustion engines, but operate quite differently. Nowadays there's even a third option, fully electric. You can have three cars all looking exactly the same on the outside, yet have completely different types of engine.

Will there someday be an option during installation that simply gives the user a pre-configured, ready-to-use daily-driver environment — whether it’s KDE or something else?
Maybe, there's certainly some work being done to make that happen.

But you need to realize there's a split between the FreeBSD OS itself (generally known as the "base OS") and third-party applications. FreeBSD developers work on the base OS and the base OS alone. Third-party applications, ports and packages, like KDE, Wayland, Xorg, are not developed, or maintained, by FreeBSD developers, it's primarily community driven. And most of these third-party applications (certainly most of the "desktop" oriented software) is developed on and for Linux. Which creates its own set of issues trying to port them to FreeBSD.

That’s why I genuinely wonder about FreeBSD’s attitude toward ordinary desktop users.
They're making great strides towards that goal.
Or will the project continue to implicitly assume that everyone is, or should be, a systems engineer?
Will it ever satisfy everyone, including your 90 year old aunt? Probably not.
 
This is terrible. The problem is not assuming a configuration or 100% following procedures, it's having to know everything before you can do anything. Did you know you have to be a member of the video group before you can use X? Most computer users probably do not believe it is possible to not be in that state.

Even experts run into this problem: Obtain a laptop of unknown specification and wonder "does it run FreeBSD." Well, hope there's a spec sheet online! If not, maybe you have to open it up and look at some chip markings. Hope you know something about which one is the ethernet!

FreeBSD is configurable enough to let experts go their 100% procedure way and let other users be like "Can I browse the web yet?" These should not be mutually exclusive.
 
Twenty years ago, FreeBSD had the best documentation there was. Hardware was easy to work with back then, sound and Chinese input were straightforward to set up, and a lightweight window manager like IceWM or TWM was more than enough. I was young, so naturally I started with FreeBSD.
But things changed. Hardware support became more and more difficult. New technologies aimed at desktop users kept appearing, and FreeBSD often lagged behind in catching up.
Maybe I’ve just gotten older. I no longer have the time or energy to go through entire handbooks — I’m not a technician, after all.
I only decided to give FreeBSD another try after seeing their official announcement about a one‑click KDE installation option (it doesn’t have to be KDE, really) and news about efforts specifically targeting laptops — meaning regular desktop users.

Don’t get me wrong — I’m just curious.
 
This is terrible. The problem is not assuming a configuration or 100% following procedures, it's having to know everything before you can do anything. Did you know you have to be a member of the video group before you can use X? Most computer users probably do not believe it is possible to not be in that state.

Even experts run into this problem: Obtain a laptop of unknown specification and wonder "does it run FreeBSD." Well, hope there's a spec sheet online! If not, maybe you have to open it up and look at some chip markings. Hope you know something about which one is the ethernet!

FreeBSD is configurable enough to let experts go their 100% procedure way and let other users be like "Can I browse the web yet?" These should not be mutually exclusive.
I think there's a disconnect between what people want "now" and what they are expected to "do" to have what they "want".

1778072575797.png

So, "New to FreeBSD" and "Download FreeBSD", instead of just "Download" whatever, why not take the few moments to click the link above?

1778072629046.png


First paragraph contains:
  1. What you "want" is "here"
  2. Please, read the "installation instructions here"
Let's compare this with Ubuntu:
1778072766538.png

First, there is no "Newbie" section, you have know what you are doing (and they assume you know what you are doing, just like FreeBSD), but let's go with "I know that I want to download Ubuntu", you have to click on a link (the "here") and follow the instructions (the "how") on the "How to install" tab.

The main differences are a Graphical Install/Live Environment (like what GhostBSD offers, try Ubuntu server for a text based install just like FreeBSD) and you have an "automate" install. If your hardware is not supported you will have as much success with this as with FreeBSD.

So, if users take the time to read the instructions, it doesn't matter what OS they are trying to install, they will have an higher likelihood of succeeding than just click on install and "hope" it will do what they expect it to do.

Again, this is not to say that FreeBSD, and the install process and documentation is the best ever, it is not and this is known. So much that the FreeBSD Foundation is funding development to address this. It is also not to say that FreeBSD users are elitist technician grey-beards, which they mostly aren't (well, according to the latest survey, the probably are grey-beards or bald but whatever), or that it is expected from users to go with a fine tooth comb over the entire documentation, again this is not what is expected, In my opinion (and speaking as FreeBSD user since 15.0 alpha) what is expected is that users are capable of looking for answers (man pages, documentation), in case of needing help know where to ask them (forum, mailing lists), open bugs and contribute (bugzilla, PRs on github, etc) to improve FreeBSD.
 
Did you know you have to be a member of the video group before you can use X?
This is explicitly stated in the pkg-message during installation of the DRM modules. I don't think it can be missed.

The FreeBSD project really needs to ask itself if it can ever cater to users who don't want to read and follow instructions like this and just want "click and play".

Both types of users are a valid use-case but I suspect FreeBSD will never have the capacity to satisfy that latter group. Not in our lifetime. Day to day software engineering is all about managing user expectations (and even saying "no"). I find it increasingly weird that this does not often translate into software engineering within open-source. This will lead to burn-out, poor software, feature-creep and general mess.

That said, I suspect most of the OPs struggles here are due to their personal choice of using Wayland. There is an easy solution here that I am sure they know of...

Hardware support became more and more difficult. New technologies aimed at desktop users kept appearing, and FreeBSD often lagged behind in catching up.
Luckily for FreeBSD, Microsoft dropped so much hardware support for Windows 11, se we are highly competitive again, without needing to do anything :)

Will it ever satisfy everyone, including your 90 year old aunt? Probably not.
At some point, with the current trajectory, so many compromises will need to be made that it will start to satisfy no-one. Linux is increasingly becoming a good example of this. All the funding but still virtually zero uptake by casual users.
 
Hey did you know pkg-messages can just scroll off the screen? Also, like I said, this state of affairs is crazy for normal people. Why would they not want to be in that group?

The problem I have with pkg-message is that the package needs you to do something and it apparently doesn't have a way to help you do it. Seems like that would be an improvement: Post install TUI vs post install messages. ie: "Who do you want to be able to use the GUI?"
 
Hey did you know pkg-messages can just scroll off the screen?
Sure. In the same way that a web-page can scroll off the screen, a book can have the pages turned or a user-friendly installer can have settings on different screens. Terminals can be scrolled up, pagers exist, pkg-messages can be read at leisure.

Also, like I said, this state of affairs is crazy for normal people. Why would they not want to be in that group?
Same with Windows no longer assigning users to the Administrator or "Remote Users" group. Even Microsoft had to tell them "no" occasionally.

The problem I have with pkg-message is that the package needs you to do something and it apparently doesn't have a way to help you do it.
Yes if the user *needed* to be added to the video group. They don't. Some users might have just installed the DRM package for a high resolution glass terminal, power management or working suspend/resume. Seeing as many FreeBSD users are sysadmins or terminal users, this is too likely to dictate automatically adding it to every user account. Same with the dialer group. Who wouldn't want to use a serial device to debug their Arduinos?

Seems like that would be an improvement: Post install TUI vs post install messages. ie: "Who do you want to be able to use the GUI?"
I agree with this to an extent, however:
  • Some people prefer not to be bombarded with questions. "Just use good defaults"
  • What is happening behind the questions? What config file is it munging? How do I reproduce deterministically?
As you can probably tell, the non-technical user and the technical user have completely different requirements. Both users can never be satisfied with a shared solution. Really the non-technical user is better served by tools more fit for purpose rather than trying to turn a hammer into a chisel. They tried with Linux and it is the worst chisel (and hammer) ever.
 
Hey did you know pkg-messages can just scroll off the screen? Also, like I said, this state of affairs is crazy for normal people. Why would they not want to be in that group?

The problem I have with pkg-message is that the package needs you to do something and it apparently doesn't have a way to help you do it. Seems like that would be an improvement: Post install TUI vs post install messages. ie: "Who do you want to be able to use the GUI?"
Once encounterered this demand of users being in the video group. I think it's only a user-level suggestion. I have nothing in the group and still looking at a browser. Just deleted the video group. What should happen now? Afaik, groups are always optional and must be manually configured to make permission rules more narrow than the default settings.
 
pkg message usually goes off the screen and has to be reread with pkg info -D. I don't know where else you could put though. Maybe with some packages have a line like, PLEASE READ PKG MESSAGE before using. You can do this by running pkg info -D <package-name>. Got it? (y/n).

That's obviously too much, but yeah, it is too bad that we usually only learn we missed a package message once something doesn't work.
 
Display managers and login managers are plenty relevant. Or would you prefer to start KDE from command-line every time? And to play with that long line of text? How about choosing the encryption method for the password? How about choosing the API to call to get anything graphical going on your machine at all?

If you can get lost in the details of the freaking login process, it's easy to give up on the desktop just beyond it, because it's not worth the effort. Right?
:rolleyes:

I'm just hoping that FreeBSD will not engage in petty geopolitics the way Linux did, because that does more harm than good.
That's how I've always done it and how I likely always will do it. The only situation I can think of where I wouldn't, is if I don't want to leave myself in a position where I have to completely close X and log out when I'm AFK. I just don't like the headaches that come from when the GUI starts repeatedly crashing or causes a panic that I have to manually intervene in when it restarts. It's not a common problem, I just get annoyed enough when I have the system go down that I don't want the annoyances that come from it happening multiple times because I was AFK when it happened.
 
Once encounterered this demand of users being in the video group. I think it's only a user-level suggestion. I have nothing in the group and still looking at a browser. Just deleted the video group. What should happen now? Afaik, groups are always optional and must be manually configured to make permission rules more narrow than the default settings.
AFAIK is used to be able to use hardware acceleration.
 
Indeed. Luckily this is a FreeBSD forum so assuming using the FreeBSD's console to scroll is fairly safe.

... and certainly not an excuse to ignore messages / warnings that come up when installing 3rd party software from ports.
Having keyboards without hardware scroll lock isn't unheard of, as that thread attests. Read the messages, of course, but "you should have another device to look up your unique key combination so you can read a message to get your desktop set up" isn't the world's most user-friendly response.

As a newcomer, I do very much like FreeBSD's documentation and find it a much more usable (and learnable) OS than Linux as a result. It feels like it's giving me the tools to understand my system. I don't think that is at odds with providing something like sysutils/desktop-installer in the installer, and find the argument that doing so takes anything away from anyone very silly. Thankfully it seems like the Foundation agrees, and folks are working on making that a reality. I think this is good and healthy; "just use GhostBSD" isn't a great response when the history of desktop-focused systems based on FreeBSD is littered with projects that were a great option until they weren't.
 
Back
Top