2024: The year of desktop FreeBSD?

I'm still kind of curious how trying to deal with wpa_supplicant on a laptop on-the-go would compare to years of conveniently selecting an AP with GUI NetworkManager on Linux :p (the little I messed with this would just have wifi ignore the specified passworded AP and connect to a random open one)

That was a concern very early on when I installed FreeBSD, and I forgot it over the weeks with trying to wrangle down other stuff for a desktop experience. I figure that'll be something I'll mess with later if the scenario arrives, and worst-case I can USB tether my phone and SYNCDHCP real quick.
I would suggest on laptop you can use networkmgr. I install this on some of my laptops.

https://www.freshports.org/net-mgmt/networkmgr
 
Installing i.e GPU drivers is accepted as a task on Windows, so I don't think newbies really have a problem with that.
Getting an AMD, NVIDIA or Intel driver working on Android is extremely complex. I don't think any platform should strive to be like Android ever. Yes, you can buy a preconfigured Android system and skip the scary stuff but honestly, you could do the same with FreeBSD too, it would just be a bit wasteful because it is *much* easier and user-friendly to compile / install than Android.
I'm sorry, but this is called willfully and deliberately misunderstanding what people are saying. This is the kind of stuff that does turn people off, and it's not in the best long-term interests of FreeBSD, either the project or the Foundation, especially when you want to attract new users. Yeah, not everybody is comfortable with tmux/SSH and server config via text files or doing the research it takes. It's not nice to look down your nose on people who don't know how to getwpa_supplicant to work properly even after RTFMing.

It's most likely not even the fault of wpa_supplicant that wifi is a pain point on FreeBSD - but come on, if I read the manual, and set things up as it directed me to, I expect my system to not connect to a random hotspot that I don't mention anywhere. Wifi needs to be reliable in that regard, instead of going off and doing its own thing that even wpa_supplicant cannot control. Android did it. Linux did it. Apple did it. Microsoft did it. So why not FreeBSD? I need same end results on FreeBSD, I don't care how.
 
I'm sorry, but this is called willfully and deliberately misunderstanding what people are saying.
Its really not. You need to not let your biases (from your existing knowledge of FreeBSD) sway you and instead project what a beginner experiences. Installing drivers is seen as the norm. No-one complains about that (weirdly) unless there is a bug or breakage.

It's not nice to look down your nose on people who don't know how to getwpa_supplicant to work properly even after RTFMing.
Absolutely agree. But they do need to RTFM first. Many don't as you know.

I expect my system to not connect to a random hotspot that I don't mention anywhere. Wifi needs to be reliable in that regard, instead of going off and doing its own thing that even wpa_supplicant cannot control. Android did it. Linux did it. Apple did it. Microsoft did it. So why not FreeBSD? I need same end results on FreeBSD, I don't care how.
Yes, I agree it is a silly default but that has nothing to do with wpa_supplicant vs GUI. In the days of free wifi at a cafe, I would even say it is the "most user-friendly" approach. Sure, it makes us cringe but you can't keep everyone happy.
 
FreeBSD is not Linux, macOS or Windows. Yes, I agree it is silly but that has nothing to do with wpa_supplicant vs GUI.
I'd be happy if I can use wpa_supplicant and expect the same end result, with same reliability, as on other OSes. Every OS has its own methods for connecting to wifi, that's OK. FreeBSD only has drivers for a limited subset of 802.11 hardware? That's OK, too. End result (a connection) needs to be reliably the same no matter the OS, no matter the method.
 
I'm also slightly questioning QA:

MariaDB 14.1 (Server): https://forums.freebsd.org/threads/mariadb-wont-start-automatically.73758/#post-674474
adb: https://forums.freebsd.org/threads/adb-android-tools.93731/

adb absolutely needs to work on Desktop (it works everywhere else). MariaDB server straight-up didn't start from rc service, couldn't find a log, and a quick look at the rc service file had me run from it (I did Linux systemd scripts by-hand and ain't used to that hacky mess in a service file :p). Does something like systemctl status mariadb-server exist on FreeBSD?

MariaDB server itself starts fine when its daemon is launched from command-line implying it's something with the rc script; but for that to be pushed to what's supposed to be a non-beta production environment not working is what I'm questioning (did anyone test it?)

Vultr VPS knew about it enough back in July to have the vague mention that if the service doesn't start, downgrade the package (step 6). And sure enough mariadb1011 started up from rc fine no problem!
 
Did you try the solution aragats mentions? That works for me.

We can argue whether or not that section should be added to wpa_supplicant.conf(5) by default. It's hardly useless. It's the only way I know of to connect to things like free airport WiFi.
ummm... I don't think the link points anywhere valid: http://the solution

Second, the issue is unpredictable behavior that gives undesired results (no connection) . As an example, it would be infuriating if /bin/ls did not give a listing, but occasionally acted like /bin/cd... In case anyone forgot, one of the basic tenets of UNIX is keeping things simple. And right now, connecting to wi-fi is anything but simple, there's lots of details that need to be correct. Should be still available to play with, but for the public, it needs to be as simple and reliable as /bin/ls, without extra options to complicate things.
 
It's the only way I know of to connect to things like free airport WiFi.
Indeed, and I specifically have a script for free airport wifi. After a specific period, it waits for a gap in the packets and then randomizes the MAC and reconnects.

If the web browser enshitification process wasn't so far progressed, I would have loved to make a plugin which automatically re-validates using the airport web gateway login too. As it stands, the script just pkills firefox and wipes cookies, restarts firefox, giving enough confusion to the web login to assume a new "guest".
 
ummm... I don't think the link points anywhere valid: http://the solution
Yep, I bungled that. Fixed, but here it is in any case:
As far as I remember the installer adds to /etc/wpa_supplicant.conf a section with:
Code:
       network={
....
key_mgmt=NONE
}
That's why even if you configure WiFi with "WPA", it still will try to connect to open networks. Just remove/comment out this section as I do.

Second, the issue is unpredictable behavior that gives undesired results (no connection) .
Would you trade the current behavior for "can't connect to free WiFi"? Those are the choices.
 
ummm... I don't think the link points anywhere valid: http://the solution

Second, the issue is unpredictable behavior that gives undesired results (no connection) . As an example, it would be infuriating if /bin/ls did not give a listing, but occasionally acted like /bin/cd... In case anyone forgot, one of the basic tenets of UNIX is keeping things simple. And right now, connecting to wi-fi is anything but simple, there's lots of details that need to be correct. Should be still available to play with, but for the public, it needs to be as simple and reliable as /bin/ls, without extra options to complicate things.
Okay, there are problems. Even with a config that i think is someway corrent, the connection does not build up reliably.

But then, how could one do it correctly? Lets look into the challenges:
  1. the wifi chip is started as an iface, it gets some configuration and scans for networks.
  2. in coordination with wpa_supplicant it decides for a network.
  3. dhcp takes over and tries to obtain, well, whatever ip, routing, resolver.
  4. now a graphic display must be started
  5. and a browser is required, but not any browser, only the absolute newest with the most elaborate ES6 support, otherwise it will not work
  6. in the browser the user needs to open a specific url (as reported from dhcp), and this is on an entirely different network - which then presents a webpage bloated with javascript which will not work with anything but the newest chrome browser.
  7. on that page the user has to click "yes" at "Access free wifi" (afterwards the browser is not needed anymore).
  8. Now the wifi should become functional, and we can connect to our VPN server at home.
  9. we have to change the routing, and the resolver accordingly, to some static and reliable configuration..
The fun here is, wifi is instable by nature (for instance train goes into a tunnel), and any of these steps can fail at any time, so for every step we must be able to correctly recover and retry.
For example, when VPN starts, the original default route from dhcp becomes a hostroute to the VPN server only, while a new default route is provided from VPN. Now whenever dhcp does refetch whatever that lease (and it does so frequently), the routes are usually gone, and consequentially the resolver also.

Now if you have any idea how to put all that into a neat application, preferraby commandline (but including the ES6), then please feel free to do so.

Bottomline: the whole matter is so horribly botched, it just cannot integrate into a properly structured networking implementation. In fact, we should never have allowed the Internet to get outside of the scientific community.
 
The fun here is, wifi is instable by nature (for instance train goes into a tunnel)
Funny, there are major cities around the world where wifi is perfectly functional in the subway, at least 300 m below sea level.


Would you trade the current behavior for "can't connect to free WiFi"? Those are the choices.
Yep, I would. Instead of connecting to a strange hotspot that I don't mention anywhere on my system, for which I have no authentication credentials, I'd rather have the option of being unable to connect to free wifi and being given the option to 'forget' it on my device. If I tell my device to NOT connect to a strange hotspot that I don't know about, the metal/plastic contraption needs to obey. If the strange hotspot is not mentioned in my /etc/wpa_supplicant.conf, my device should not connect to it! ?
 
Funny, there are major cities around the world where wifi is perfectly functional in the subway, at least 300 m below sea level.



Yep, I would. Instead of connecting to a strange hotspot that I don't mention anywhere on my system, for which I have no authentication credentials, I'd rather have the option of being unable to connect to free wifi and being given the option to 'forget' it on my device. If I tell my device to NOT connect to a strange hotspot that I don't know about, the metal/plastic contraption needs to obey. If the strange hotspot is not mentioned in my /etc/wpa_supplicant.conf, my device should not connect to it! ?
Looks like this topic has been mentioned in the past as well.

https://forums.freebsd.org/threads/...to-connecting-to-any-open-access-point.59992/
 
A couple months ago, my Windows machine got taken out by a nearby lightning strike (even though it is on a UPS), and I had to wait a month for a replacement to be shipped from the US. To tide me over in the interim, I set up FreeBSD with xfce on a little fanless computer I had. Having received the new Windows machine, I find that I leave it turned off most of the time. I still need it for heavy-duty graphics, and CUDA experimentation, but 95% of my day-to-day stuff, I can do on FreeBSD.

It hasn't been a bed of roses: I don't want to install pulseaudio, and it is amazing how many packages require it. I have not been able to get the yubioath-desktop authenticator to work (though I am pretty happy with ykman, the CLI version). I currently have no sound from Firefox, even though I did before. These things are kind of annoying.

But whenever I bring up the Windows machine, and it asks me if I want to put everything on OneDrive, or decides I need to install a big Windows Update before I shut down, or it prompts me to set up some option that will let it collect more data from me, or it tries to force more AI stuff on me, I realize how refreshing it is to use FreeBSD and have it just leave me along and let me do my work.

It's not for everybody. I'm a long-time computer guy, and I don't mind using the CLI, and I don't mind chasing down problems from time to time. For me it is good.

I wish it had better CUDA support, and a few other things, but I am pretty happy with it.
 
It hasn't been a bed of roses: I don't want to install pulseaudio, and it is amazing how many packages require it. I
In my system pulseaudio is only required by the browser I use (ungoogled-chromium)... which uses sndio so pulseaudio is simply turned off and never starts.
 
But whenever I bring up the Windows machine, and it asks me if I want to put everything on OneDrive, or decides I need to install a big Windows Update before I shut down, or it prompts me to set up some option that will let it collect more data from me, or it tries to force more AI stuff on me, I realize how refreshing it is to use FreeBSD and have it just leave me along and let me do my work.
All of those problems could have been solved years ago with LTSB and LTSC; there's even 11 LTSC as of recently :p
 
… pulseaudio, and it is amazing how many packages require it. …

It's useful.

In my system pulseaudio is only required by the browser I use (ungoogled-chromium) …

From ports b4d0a174c529e8061d838aafba1721cc317af01f (May 2024):

… automatically selects which audio backend to use in the following order:

pulse (if running) -> sndio -> alsa -> fake


www/ungoogled-chromium library dependencies include accessibility/speech-dispatcher.

speech-dispatcher library dependencies include audio/pulseaudio.

Speech Dispatcher is a device independent layer for speech synthesis, developed with the goal of making the usage of speech synthesis easier for application programmers. It takes care of most of the tasks necessary to solve in speech enabled applications. What is a very high level GUI library to graphics, Speech Dispatcher is to speech synthesis.
 
pulseaudio is optional but in speech-dispatcher rather than ungoogled-chromium, so takes less than a minute to rebuild to disable.
 
pulseaudio is optional but in speech-dispatcher rather than ungoogled-chromium, so takes less than a minute to rebuild to disable.
I know that, thank you, I'm talking about pre-built packages in the repos. I don't like mixing things like having some packages prebuilt and some packages built by myself. I build myself only the
www/linux-widevine-cdm package because it's not included in the repos for licensing reasons.
 
I was seeing lots of complaints about how pulseaudio dependency messes things up in prebuilt packages - all because of conservative selection of Makefile knobs when packages are pre-built for repos.

My solution to that was to stick to ports and build everything from ground up, with every possible Makefile knob enabled. And I discovered that PulseAudio, when installed, does not interfere with anything else, it's just another part of the FreeBSD sound stack that is available as needed by any given port. I like that kind of flexibility, and I never understood why some people would twist themselves into a pretzel, and spend hours researching alternatives, just to avoid a situation where PulseAudio is a requirement for their favorite package. Yeah, the research could be part of the fun, but at some point, one will be faced with deciding if the time tradeoffs are worth the effort to feed a personal, but political decision to not depend on PulseAudio.

Yeah, the downside is that you do need quite a bit of time to build some of the bigger ports (like Firefox, GCC, LLVM, KDE), and beefy hardware to handle the task of compiling everything from ground up.
 
No-one knows when the DRM server will be turned off. Could be today, could be tomorrow... ;)

I'd like to think MS benefits from more people willingly using Windows without a hard-paid license, vs enforcing the payment and having people resort to insecure methods (and butchering Defender) or drop Windows entirely :p

There's various methods, but one of them is a concept of a locally-hosted KMS server that's support can't necessarily be quickly discontinued because of businesses relying on it legitimately.
 
Back
Top