Is there a real interest in pushing FreeBSD on the desktop space?

It becomes unbearable reading about how we have desktops in ports and not acknowledging that, on the hardware side, we lack support.

The issue is that the project is reluctant to provide a graphical release of FreeBSD. Such a release could potentially attract more developers alike (like yourself) to improve hardware support, because they can just install the thing and go. GhostBSD wouldn't even be needed in this case. GhostBSD/MATE could easily become FreeBSD 14.x-DESKTOP or something. Then you'd have the backing of the FreeBSD desktop team to curate more members and improve I/O support. But for some reason this concept is rocket science to the project.
 
Most developers use laptops nowadays, ...
Actually, a lot of professional software developers don't use a "computer" at all: the device they type on and the screen they look at are not actually connected to a user-programmable device. Here I define "computer" as something that runs programs that the human can easily modify, as opposed to "appliance", which runs canned software.

As an example, a lot of colleagues who are professional software developers (including kernel and systems developers, although not FreeBSD ones) actually use a Chromebook, and do all their work in a browser. Today, Chrome has a perfectly fine ssh implementation, so you can be using vi and emacs in a browser tab. Another lot of developers use a Mac (I'm in that camp, although right now I happen to be using a Dell laptop running Debian for a few weeks). They don't actually compile and run code on the Mac, they just use it to run ssh (typically using iTerm), a web browser, and other display applications. Matter-of-fact, my Mac doesn't even have "xcode" (the compiler/library collection installed), as I found that it just wastes disk space and forces me to upgrade something I don't actually use. For many years I used Windows as a platform (on an IBM/Lenovo Thinkpad), and that again worked excellently: Use PuTTy as an ssh window, and whatever web browser is fashionable that week.

All the actual development work (edit, compile, test, run, characterize ...) is then done on faceless and nameless machines that are somewhere in a server rack. In my work, I hardly even know where the machine I run on is located accurately: I usually know what continent, but don't need to care about any more details.

To be honest: I also know Linux kernel developers who use a Linux laptop, because of their ethical conviction that one should "eat one's own dogfood". I find that a respectable philosophy, even though it may be inconvenient.
 
… For an average user, 'Desktop support' means A dev's response is to:
  • Say that hardware drivers are hard to do, there's very limited number of devices that actually have drivers that are functional under FreeBSD.

Do end users get a message (from developers) that a majority of devices have no driver?

  • Say that 'wifi works - if you use Intel-branded hardware, and are willing to RTFM and solve a difficult puzzle of command-line flags and options to get wifi going at all'...
😩

Do end users truly get a message (from developers) that Intel only is supported?

<https://www.freebsd.org/releases/14.0R/hardware/#wlan> – wireless network interfaces.



There is a problem with documentation, however I don't associate this gap with developers of any driver:


⚙ D41644 FAQ renew - Working Group:
 
Maybe for desktops, but not laptops, and regarding Wifi support, FreeBSD has been behind for about 10 years, if not more.
Just to clarify, these are different dimensions to me, a laptop being just a portable variant of a desktop computer, and a desktop OS (or general-purpose OS configured as a desktop) is of course used on both.

Also, wifi being a weak spot in FreeBSD is well known, but IMHO yet another dimension, it's about hardware/networking support and can affect any kind of system (like e.g. some NAS), although desktop systems are affected the most. I'm personally lucky enough that all my laptops just work with FreeBSD, although unfortunately only with 802.11g speed. In my personal usage profile, this is only annoying during upgrades, anything else I do on those machines works "well enough".

Nevertheless, I've been one of those mentioning wifi support as the top priority for the project in any survey asking that question. Good to see steps taken by the foundation to tackle this! 👍

The issue is that the project is reluctant to provide a graphical release of FreeBSD. Such a release could potentially attract more developers alike (like yourself) to improve hardware support, because they can just install the thing and go.
I can only conclude you're not a developer.
 
Do end users get a message (from developers) that a majority of devices have no driver?

Do end users truly get a message (from developers) that Intel only is supported?
To answer both questions: Probably not. End users tend to have a lot on their plate that demands their attention - being underpaid at work, family issues, and a lot of other things that real life throws at them. So even if a dev tells the users something, most likely the end user will not truly understand the dev anyway.

To address the first question: Yeah, quite a few devices on the market don't have drivers. Take SANE (Scanner Access Now Easy). Yeah, it lists a lot of devices (particularly from Epson) as supported. Trouble is, the vast majority of scanner models listed as supported under SANE - they are no longer on the market. I have an Epson scanner (Can't recall the model off the top of my head) that is frankly a very good device, it still works (even though I bought it before 2010) - but it was never supported by SANE.

Webcams are another troublesome area - there's a LOT of devices and brands on the market, both built-in and USB-based. Not all of them work properly under Linux or FreeBSD, even with webcamd and linux-compat. End users are not always inclined to spend the time troubleshooting what went wrong, and figuring out if fixes even exist. And that's not exactly a sin - their expertise is elsewhere. Most users are computer-literate just enough to be able to do their jobs.

To address the second question: I'm sorry grahamperrin , but your reply does kind of miss the point I'm trying to make... My point is that even with working Intel drivers, getting wifi to connect properly, consistently, and easily is like trying to solve a complicated logic puzzle. Yes, it is possible to connect the wifi card properly - but end users are unlikely to be inclined to learn the proper syntax and values that /etc/wpa_supplicant.conf requires. And troubleshooting what went wrong THERE - what comes first, second, third, how, and why - I'm often willing to do that, and learn how to do it, and spend time and effort doing that - because I'm an enthusiast, and the Forums are a place for people with similar inclinations. But most end users are not like that - they'd rather spend their time doing something else, especially when they may or may not get positive results.
 
Thanks, now I get it:

… even with working Intel drivers, getting wifi to connect properly, consistently, and easily is like trying to solve a complicated logic puzzle. Yes, it is possible to connect the wifi card properly - but end users are unlikely to be inclined to learn the proper syntax and values that /etc/wpa_supplicant.conf requires. …

Years passed before I began understanding the logic of underscores in some situations, and so on.

Another documentation review that omitted docs reviewers:


Another gap in documentation:

 
Yes, it is possible to connect the wifi card properly - but end users are unlikely to be inclined to learn the proper syntax and values that /etc/wpa_supplicant.conf requires.
NomadBSD.org:
Together with automatic hardware detection and setup, it is configured to be used as a desktop system that works out of the box, but can also be used for data recovery, for educational purposes, or to test FreeBSD®'s hardware compatibility.
If NomadBSD was able to adapt automatic hardware detection and setup, then maybe the problem is solved, isn't it?
 
The issue is that the project is reluctant to provide a graphical release of FreeBSD.

I profoundly disagree with that analysis, and I think your view deficient of what 'the project' is, and how it might possibly choose amongst all of the ports-supported desktop environments and window managers to favour one (1) over all others for 'official' support.

Such a release could potentially attract more developers alike (like yourself) to improve hardware support, because they can just install the thing and go.

Could potentially?

What signal might that send to the developers and users alike of all other favoured desktop / laptop graphic systems?

What about, for example, the KDE on FreeBSD crew, or XFCE or ... ? Do they just suck it up because Core has anointed one particular set of ports?

GhostBSD wouldn't even be needed in this case. GhostBSD/MATE could easily become FreeBSD 14.x-DESKTOP or something.

I'll be surprised if its developer fancies that. Personally I think it's great that various such software selections are on offer, but to choose one as 'official' would likely kill the others, on FreeBSD anyway.

Then you'd have the backing of the FreeBSD desktop team to curate more members and improve I/O support. But for some reason this concept is rocket science to the project.

I suggest reading the two articles I've posted links to, recently above, and links Graham posted re FreeBSD governance to gain a much clearer picture of how that has worked and now works, before assuming Core collectively to be less cluey than your good self.
 
The "separate project" you want is a desktop. Integrating an existing desktop (like KDE or Gnome) well into an operating system, tuning and customizing it, and supporting and shipping it, is probably a project that requires perhaps 100 people. Creating a new desktop from scratch takes probably 1000 people. The typical annual cost for a software engineer in Silicon Valley is about $250K per year (averaging over various levels of seniority, and including overhead costs).

So the FreeBSD foundation can employ about 4 to 6 full-time software engineers, assuming it stops all of its other activities. The idea that this could or should be used for creating a desktop is just laughable. (In reality, the FreeBSD foundation gets much more work done than the 4-6 full-time software engineer number suggests, because it is very frugal in deploying money where it does the most good).

The big Linux players are capable of taking the existing desktops and maintaining and enhancing them. There are a few computer companies that have big enough budgets to create and maintain their own custom desktops. Apple, Google (Android + Chrome) and Microsoft come to mind. The idea that the FreeBSD foundation can play in that league is much worse than laughable, it is asinine.
I think the problem is not in creation of custom desktop. The main problem with "desktop" is in incomplete support of device drivers. Gnome/KDE are enough for FreeBSD desktop, there is Firefox browser. But when potential user discovers that existing laptop cannot fully work because Wifi or other peripheral device is not recognized, he/she quickly moves to Ubuntu or other OS. And in the same time device manufacturers read that FreeBSD has small market share as desktop and delay development of driver. Maybe a good strategy of FreeBSD Foundation can be if they pay reward/bounty for specific drivers (developed recently) every 6 months. This may encourage independent developers to work on drivers and will cost much less than full time employment.
 
Choosing a desktop experience for the user doesn't sound like a good idea. Why not have a Debian-esque dialog with XFCE, MATE, GNOME, KDE or nothing at the end of the installer, if this is the way that people think they want to go?

I think FreeBSD desktop experience is fine. It has better interoperability and capability than my 2023 Macbook. It does take some getting used to, and configuring, but in reality, so does Windows 11.
 
ericbsd below, should your About text broaden, to include NomadBSD?


… NomadBSD was able to adapt automatic hardware detection and setup, …


net-mgmt/networkmgr

ericbsd also maybe <https://github.com/freebsd/freebsd-...6ee636d25ca94/net-mgmt/networkmgr/Makefile#L6>.
 
… What about, for example, the KDE on FreeBSD crew, or XFCE or ... ? Do they just suck it up because Core has anointed one particular set of ports? …

Choosing a desktop experience for the user doesn't sound like a good idea. …

For two desktop environments: things are simplified, but not automatically installed.

Re: <https://www.freebsd.org/where/#choose-image>, FreeBSD-provided ⋯dvd1⋯ files include packages for x11/gnome and x11/kde5. Context:


The simple change from version 4 to 5 of KDE was:
  • authored and committed by Glen Barber
  • approved by a member of the Release Engineering Team (re).
More complex, January 2014 (a few weeks before Glen became Team Lead):

 
For two desktop environments: things are simplified, but not automatically installed.

Re: <https://www.freebsd.org/where/#choose-image>, FreeBSD-provided ⋯dvd1⋯ files include packages for x11/gnome and x11/kde5. Context:


The simple change from version 4 to 5 of KDE was:
  • authored and committed by Glen Barber
  • approved by a member of the Release Engineering Team (re).
More complex, January 2014 (a few weeks before Glen became Team Lead):

Yeah, maybe that needs to be done for other desktop environments as well, as the first hurdle. if you do pkg install xfce for example, it doesn't actually give you a working environment. No lightdm or xorg! You actually need pkg install xfce lightdm dbus lightdm-gtk-greeter xorg to get close. Some automated GPU driver/firmware detection and installation would be nice too. Emphasis on "would be nice", because personally I'm not that bothered. It is a headache for new users though.

After this initial fiddling faff, I don't think FreeBSD is far behind Xubuntu in terms of a working desktop environment, although definitions may vary. Bhyve is actually a big win over Linux, for example. Being able to run Windows or whatever with GPU passthrough is a lot better, at least in principle, than Virtualbox or QEMU, whom I personally find hateful. macOS Sonoma only really has QEMU as an option, unless you want to pay a subscription for Parallels on top of the licence fee for Windows 11, and even then its the ARM edition which doesn't work with all x64 Windows apps.. Sonoma also refuses to run 32-bit applications. Digest that for a minute or two, and reflect on "desktop experience".
 
I disagree with the idea that freebsd.org is not promoting desktop use.

They spend a fortune on hardware, internet connectivity and electrical power to run the servers than maintain the our packages and provide a measure of QA for ports.

I get that x.org and a window manager (or a full DE) are not part of base but we have so many choices - including the choice to use a curated derivative that provides exactly what some of you ask.

I don't see us missing out on anything. If you want something to suggest to newcomers, point them to one of the curated desktop releases. We also have wiki pages on how to get X.org up and running using tools like desktop-installer.

If someone came to me after having installed 14.0-RELEASE, asking "what next"? I'd point them here:


(or desktop-installer or any number of wiki articles).

If someone is upset because some piece of software is broken or otherwise unavailable, or some bits of hardware are unsupported or broken - that's a different problem that would exist even if freebsd.org made desktop releases.
 
I disagree with the idea that freebsd.org is not promoting desktop use.
Exactly. It is also completely ignoring the very impressive work with the iwlwifi(4) driver. This is the most common hardware on recent laptops. No server needs this.

Some things to note:
  • FreeBSD has better desktop hardware support than macOS - It officially supports more than one hardware vendor
  • FreeBSD has better desktop hardware support than Linux for older hardware - Most distros have dropped i686
  • FreeBSD has better desktop hardware support than Linux did in 2012 - People were still happy with the Linux desktop back then
Yes, Linux has wider desktop hardware support than FreeBSD. And yet Windows has wider desktop hardware support than Linux. Life is all about compromise...
 
Exactly. It is also completely ignoring the very impressive work with the iwlwifi(4) driver. This is the most common hardware on recent laptops.
Y'know, I actually had to look long and hard for a laptop with specifically an Intel card. Most laptops on the market these days come with cards other than Intel. So, to this end:
  • I had to accept that the OEM wifi card does not have a FreeBSD driver. That leads me to see if the card is replaceable. If it is, I can figure out which card is known to work under FreeBSD, buy that, swap it in, and then be prepared to spend a few hours learning the options of ifconfig and bsdconfig wireless.
  • Most end users will just stop at seeing that the OEM card doesn't function under FreeBSD. And faced with the prospect of spending hours on research and learning how to rectify that - they're just gonna say that they have better things to spend their time on - real life is not just about computing, after all.
  • FWIW, bsdconfig wireless is very wonky for me - I probably should post some screenshots and file a PR to explain the issues I'm having with it. Even if a driver works reliably, it's not the same thing as usability issues. The data flows fine, I can use Firefox and KTorrent and ports. But making iwlwifi(4) reliably connect to new spots - every time it's like solving a complicated logic puzzle with command line flags, options, and /etc/wpa_supplicant.conf...
I do agree with the rest of kpedersen 's post....

Life is all about compromise...
 

Y'know, I actually had to look long and hard for a laptop with specifically an Intel card. Most laptops on the market these days come with cards other than Intel. So, to this end:
  • I had to accept that the OEM wifi card does not have a FreeBSD driver. That leads me to see if the card is replaceable. If it is, I can figure out which card is known to work under FreeBSD, buy that, swap it in, and then be prepared to spend a few hours learning the options of ifconfig and bsdconfig wireless.
  • Most end users will just stop at seeing that the OEM card doesn't function under FreeBSD. And faced with the prospect of spending hours on research and learning how to rectify that - they're just gonna say that they have better things to spend their time on - real life is not just about computing, after all.
  • FWIW, bsdconfig wireless is very wonky for me - I probably should post some screenshots and file a PR to explain the issues I'm having with it. Even if a driver works reliably, it's not the same thing as usability issues. The data flows fine, I can use Firefox and KTorrent and ports. But making iwlwifi(4) reliably connect to new spots - every time it's like solving a complicated logic puzzle with command line flags, options, and /etc/wpa_supplicant.conf...
I do agree with the rest of kpedersen 's post....
There's a certain degree of pragmatism that could come from this, though. You can buy a perfectly working TP-Link USB Nano wireless card from Amazon for £5 and that's including VAT. I learnt this the hard way after trying to get some absolute mess of a network card to work on it, to discover it didn't work on Linux either anyway. I got really bored of all of the faff and decided the problem isn't worth the time, bought the USB wireless card and moved on with my life. If you install FreeBSD with the nano USB thing installed, it will do all of the setting up for you.

Setting the card up was easier than trying to remove that empty quote at the top of this message, in which I've not been successful.

Maybe I'll write a "how to" on getting wireless working quickly and easily with this particular device.

Disclaimer: I don't work for TP-Link, I just like stuff that works, and dislike spinning wheels needlessly.

As an aside, I have an Intel Wi-Fi 6E AX211 on a Windows 11 machine, and it has been really unreliable. The fix was to uninstall all of the Intel Killer "management" software. So grass isn't greener...
 
I'm not sure the problem is well-defined, but I'll throw in two cents.

If all that's needed is a computer to sit in front of and run programs on in a gui environment, I would think this could be done using a short script after an initial installation which will install popular or desired programs from ports and modify or append to base config files. This could be a low-cost way to save the effort of configuring it, although that may not be a good thing.

From there it would be a question of determining the ports to install. I would think this could be a checklist which could be built up and run after installing the OS.
e.g.
# Start installation, Ask if the user wants a basic desktop installed.
# if yes, select software, then install/configure selected software for the user to use (Referencing the handbook chapter for common tasks):
pkg install xorg #(5.2)
pkg install graphics_driver #(5.3, detecting amd or nvidia)
pkg install kde5 #(8.2) I don't use it, but think this port brings in a small suite of programs.
#append a ttyv9 to /etc/ttys with whatever is going to be used for the x session, label it as an initial selection.
pkg install firefox #(8.3) Web browser(s)
pkg install vscode #(8.4) Development Tools
pkg install libreoffice #(8.5) Desktop Office Productivity
pkg install okular #(8.6) Document Viewers
pkg install kmymoney #(8.7) Finance
pkg install elisa #(9.3) Audio players
pkg install mplayer #(9.4) video players
etc

At the end of this, the user logs in using a graphical login screen, and there are typical programs for desktop use available.
 
If all that's needed is a computer to sit in front of and run programs on in a gui environment, I would think this could be done using a short script after an initial installation which will install popular or desired programs from ports and modify or append to base config files. This could be a low-cost way to save the effort of configuring it, although that may not be a good thing.
Something like this:

 
As an aside, I have an Intel Wi-Fi 6E AX211 on a Windows 11 machine, and it has been really unreliable. The fix was to uninstall all of the Intel Killer "management" software. So grass isn't greener...
I despise the way Windows has always done this.

Back in the day I would install a "trash" version of Windows. Install the drivers along with their horrid spam. Then use pnputil to extract the raw .ini and linked dlls. I would archive that and then wipe Windows again to start fresh.

Why do vendors rarely do the sane thing and just bundle the clean drivers in a .zip. Only recently has HP started doing "Driver Packs".

So I agree, the grass isn't entirely greener. It is basically a front lawn covered in turd. However this is annoyingly seen as "user-friendly".
 
Something like this:

I think so, yes.
I was not aware of that port. I don't think anything in the documentation or installation process points to it.

If I were to list issues I've had:
1. Bluetooth chip not having a driver (fixed via a usb dongle)
2. Widevine (Fixed by using a different system, saw the recent foreign-cdm port)
3. Wifi chip on an old macbook not having a driver (Fixed via a usb dongle and usb tethering as a permanent temporary measure)
4. One or two ports not doing what I expected.
5. Purchasing a gpu which was too new (user error, it works in 14.0)

Since for the most part hardware works, and programs work, I think the "problem" being indicated to is mostly perception.
 
The issue is that the project is reluctant to provide a graphical release of FreeBSD. Such a release could potentially attract more developers alike (like yourself) to improve hardware support, because they can just install the thing and go. GhostBSD wouldn't even be needed in this case. GhostBSD/MATE could easily become FreeBSD 14.x-DESKTOP or something. Then you'd have the backing of the FreeBSD desktop team to curate more members and improve I/O support. But for some reason this concept is rocket science to the project.

I do not think I would like to see graphical FreeBSD because FreeBSD is more than just a desktop OS, and it takes less than 30 minutes to set up one, including the installation time of FreeBSD. Also, I do not like the idea of GhostBSD to become FreeBSD Desktop. One thing I am sure of is that FreeBSD will not attract more developers with a DE version. GhostBSD has existed since 2009, and I do not have more devs than FreeBSD. The project is me and some people who help here and there. If I die, the project will most likely die with me.
 
Back
Top