Solved Why FreeBSD secret tricks?

My computer has HD 8000 series graphics known as Kabini. It did not work with FreeBSD after trying suggestions from the Handbook and forum HowTos so I tested with GhostBSD. The main difference is kbd_list="/boot/modules/amdgpu.ko" in rc.conf (there are 24 kabini modules). Now it works.

I don't understand why working with FreeBSD means reading manuals and helpful forums while typing commands that other people have already typed. This is very inefficient... scripting would be better. I would like for the system essential features to work with less than an hour of fiddling. Lets spend less time reverse-engineering so that more time could be invested in improvements.
There is a quality model called FURPS which reduces a hundred or more factors to the 5 most important.
Maybe USABILITY needs more attention.
 
I am not trying to be insulting but why don't you start? The very least you can do is contact the docs mailing list and offer up a suggestion of how to improve the handbook.
 
I don't think there's ever been a device (and I don't just mean electronic devices) that doesn't have some undocumented feature or many. An OS example that is not FreeBSD - on Windows there are all sorts of registry tricks to change behaviour - for Windows itself and applications.

Example of something similar from today's news: https://wccftech.com/airtag-precision-finding-houses-a-hidden-developer-mode-how-to-enable-it/

Not documented because of lack of time, lack of polish, risk of end-users causing support issues, whatever.
 
I don't understand why working with FreeBSD means reading manuals and helpful forums while typing commands that other people have already typed.
Other than Windows, would you have to do the same for any other OS? That graphics card probably followed Microsoft's instructions for auto-installation to a T but this isn't Windows.
 
I would like for the system essential features to work with less than an hour of fiddling.
Well, there you have it. Graphics drivers just aren't considered essential by (enough) developers, contributors and users of FreeBSD.
 
Graphics drivers just aren't considered essential by (enough) developers, contributors and users of FreeBSD.
Complete nonsense. FreeBSD doesn't take you by the hand or does anything "automagically", it never did and never will. Don't expect FreeBSD to magically present you with a completely configured desktop after clicking on "Next" a couple of times. It's left up to the user (that's you) to install and configure the things you want. And we like FreeBSD because it doesn't do any hand holding and "automagic" wizards that take care of everything for you.
 
Complete nonsense. FreeBSD doesn't take you by the hand or does anything "automagically", it never did and never will. Don't expect FreeBSD to magically present you with a completely configured desktop after clicking on "Next" a couple of times. It's left up to the user (that's you) to install and configure the things you want. And we like FreeBSD because it doesn't do any hand holding and "automagic" wizards that take care of everything for you.
But there is a difference in integration, ease and quality of features which are considered essential, and features which aren't.

Consider ssh, NFS, sendmail, zfs, enabling DHCP for a NIC and so on. These all take little more than one or two sysrc calls (or lines in /etc/rc.conf), and you're golden.

Compare that with the burning hoops that users need to jump through to get some modern graphics card running, or set up wifi/bluetooth.

Clearly, there's care and attention being given to some features, and not others. I'm not judging, I love FreeBSD as a server OS. What I'm saying is: "The system can do everything well, you just need to lean in and configure it right!" is not all there is to it.
 
Compare that with the burning hoops that users need to jump through to get some modern graphics card running
Seriously? pkg install drm-kmod; sysrc kld_list="i915" for Intel or sysrc kld_list="amdgpu" for AMD. NVidia drivers are just as easy. Just a few simple commands.
or set up wifi/bluetooth.
That I can agree with, Wifi support is severely lacking (I'd like to see 802.11ac and Wifi 6 too) and bluetooth support is almost non-existent.
 
Complete nonsense. FreeBSD doesn't take you by the hand or does anything "automagically", it never did and never will. Don't expect FreeBSD to magically present you with a completely configured desktop after clicking on "Next" a couple of times. It's left up to the user (that's you) to install and configure the things you want. And we like FreeBSD because it doesn't do any hand holding and "automagic" wizards that take care of everything for you.
This is where something like GhostBSD steps in and fills the void for people who want a desktop 'out of the box' and still want the zippiness [tm] of FreeBSD.
 
Hardware support for specific pieces is always tough; some is market share, some is the manfacturers (Broadcom loves their NDAs), so sticking with 1 gen back from latest and greatest generally is safest.

So, starting from what appears to be the OPs point of contention:

What is GhostBSD? This is taken from their website: "GhostBSD provides a simple desktop-oriented operating system based on FreeBSD..."
What is FreeBSD? Taken from freebsd.org: "FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms..."

Logically one would assume that the GhostBSD folks (like the PC-BSD, TrueOS, Trident, etc) have written scripts that run during/firstboot after install that do things like detect video hardware and make a guess as to drivers and system modifications are needed and then apply them. I know TrueOS/Trident/PC-BSD had
scripts like that as part of their installer.

vermaden has a pretty good series around installing/creating a desktop on a plain FreeBSD install, perhaps that needs to be called out a bit more.

I'm in the same camp as SirDice I've been using FreeBSD as a desktop for a long time, so the muscle memory is there for configuring X, installing the correct drivers, etc. I'm a minimalist so I prefer to do things myself instead of accepting others defaults (ok, I finally starting doing binary upgrades instead of source updates with 12.0-RELEASE), so I'm fine with manual stuff. Heck I even still "startx".

As for desktops:
Besides the "who will step up to do it?" question, would it not be feasible to create a "desktop" port that during make configure pops up a list of DEs (MATE, GNOME, KDE, LXDE, XFCE, etc) or window managers, tells you to "pick one" and then does a video detection, downloading/installing correct drivers, modifying rc.conf as needed, then installing either a meta-port (I think most of the DEs have one) or a specific set of ports/packages, configure a graphical login (if desired) and whatever else is deemed necessary for a "user desktop"?

At the 10,000 ft level (3048m), that's basically what all the desktop oriented distributions did/do. Extend the port to install selective other desktop useful programs (web browser, mail client) and then the handbook can simply say "pkg install do-a-desktop-for-me".

Nope I'm not signing up to do that, but I think one could pull bits and pieces from things like GhostBSD, old PC-BSD/TrueOS/Trident and be starting halfway up the mountain.

Sorry for using too many words. Coffee hitting, brain waking up.
 
Besides the "who will step up to do it?" question, would it not be feasible to create a "desktop" port that during make configure pops up a list of DEs (MATE, GNOME, KDE, LXDE, XFCE, etc) or window managers, tells you to "pick one" and then does a video detection, downloading/installing correct drivers, modifying rc.conf as needed, then installing either a meta-port (I think most of the DEs have one) or a specific set of ports/packages, configure a graphical login (if desired) and whatever else is deemed necessary for a "user desktop"?
Somebody already did: sysutils/desktop-installer
 
SirDice thanks; been a while since I've trolled the ports tree, especially the parts I've not used. I took a quick look at the webpage in pkg-descr for that: exactly what I was thinking.
 
Yeah, I keep forgetting about things like that too. I'm so accustomed to doing everything myself, but I get some nice hints and pointers from others here on the forums :)
 
> An OS example that is not FreeBSD - on Windows there are all sorts of registry tricks to change behaviour - for Windows itself and applications.

That's incorrect. MS "borrowed" X-Windows from Apple who had license to use it from MIT.

the message "WM_MOUSE" is the same on all platforms is plain to see, that they all use messaging is plain to see.

Xerox Windows uses a database registry.

PROBLEM: WHENEVER ANYTHING IN WIN10 INSTALLS, you are forced to pony up your admin password, and aren't 100% sure that (an asian hw driver, a game) insn't poking holes in your security. PROBLEM: microsoft is known to have put security entries in the registry. Although I will add: installation via default install wizard does not allow installing programs to certain parts of the registry.

PROBLEM: binary blobs aren't safe. although, it's kinda paranoia. yet having full source and ability to cross compile are things any reasonable person would be safe having if they need them. what if things are so messed up no body has it or can do it? that should be a worry.

WHAT? WHY ARE PRE-INSTALLED AD BOOKMARKS (ie, google twitter) having permissions I cannot change which in the registryI cannot change and are linked to hardware capabilities including microphone privelages? These are things interested Win10 users want to know and aren't getting answers to. How do those network privelage bits work its so complicated.
 
Maybe USABILITY needs more attention.

Usability like this (to enable running scripts in powershell)?


I can't say that I find FreeBSD worse. Also have you considered the amount of faffing with KEXTs you would need to do in order to get your GPU working with macOS. And these are the market leaders when it comes to usability. You should almost certainly visit their forums and experience the response you would get if you brought up these concerns.

Something along the lines of: "Sure, we will get right on it... *snigger*".
 
That's incorrect. MS "borrowed" X-Windows from Apple who had license to use it from MIT.
X-Windows didn't come from Apple. The GUI was invented by Xerox. X-Windows was developed by MIT. Apple's mouse desk (basically a precursor to MacOS) was developed by Version Soft, not Apple. Apple bought the rights for it. NeXT wasn't an Apple company just because Steve Jobs worked there.

the message "WM_MOUSE" is the same on all platforms is plain to see, that they all use messaging is plain to see.
Maybe this is because all mice "talk" the same protocol? And it makes sense to implement something in a similar fashion because, you know, it's the most optimal way of doing things? It's similar to convergent evolution, but for code.

PROBLEM: WHENEVER ANYTHING IN WIN10 INSTALLS, you are forced to pony up your admin password, and aren't 100% sure that (an asian hw driver, a game) insn't poking holes in your security.
Whenever you install something on FreeBSD or Linux you have to have root access. How is that any different?

PROBLEM: microsoft is known to have put security entries in the registry.
Yes, because it's their primary way of storing configuration information. Is storing security information in /etc/shadow or /etc/spwd.db any different? And I don't see why this is a problem or what this has to do with anything in this thread.

Although I will add: installation via default install wizard does not allow installing programs to certain parts of the registry.
Windows has a much more fine-grained MAC (Mandatory Access Control) then you realize. Most people don't understand there is much more than an "all-or-nothing" administrator privilege. If you know any relevant technical details about Windows you would understand this. But now you're just parroting the common anti-Windows tropes.

yet having full source and ability to cross compile are things any reasonable person would be safe having if they need them
This is going to shatter your world view, written by Ken Thompson in 1984: Reflections on trusting trust
 
In addition to all the other excellent posts above mine there's still one tiny aspect which I think got overlooked so far...

My computer has HD 8000 series graphics known as Kabini. It did not work with FreeBSD after trying suggestions from the Handbook and forum HowTos so I tested with GhostBSD. The main difference is kbd_list="/boot/modules/amdgpu.ko" in rc.conf (there are 24 kabini modules). Now it works.

I don't understand why working with FreeBSD means reading manuals and helpful forums while typing commands that other people have already typed.
So, I figured I'd look up kbd_list and not surprising to me it wasn't mentioned in rc.conf(5) nor listed in /etc/defaults/rc.conf.

Are you sure you didn't mean to type kld_list there? From /etc/defaults/rc.conf :

Code:
#kld_list=""            # Kernel modules to load after local disks are mounted

So... why would FreeBSD bother with any of this considering that the Xorg graphics environment isn't even part of the base system to begin with? Nor is that kernel module I might add:

Code:
peter@vps:/etc/defaults $ ls /boot/kernel.gen/am*
/boot/kernel.gen/amd_ecc_inject.ko*     /boot/kernel.gen/amdsmn.ko*
/boot/kernel.gen/amdgpio.ko*            /boot/kernel.gen/amdtemp.ko*
/boot/kernel.gen/amdpm.ko*              /boot/kernel.gen/amr.ko*
/boot/kernel.gen/amdsbwd.ko*            /boot/kernel.gen/amr_cam.ko*
/boot/kernel.gen/amdsmb.ko*             /boot/kernel.gen/amr_linux.ko*
In case you're wondering: I'm using a heavily customized kernel on my servers and just in case something goes wrong I always keep a GENERIC kernel installed at this location (/boot/kernel.gen). This is FreeBSD 12.2 by the way.

To me this is like asking why Microsoft doesn't automatically install Office with every Windows version because why would you need to bother installing Office if so many people already did this before you? Well, maybe because there's also a large amount of people who don't want to use Office?

This is very inefficient...
Hardly... if you install some external software onto FreeBSD it's up to you to configure it.
 
I don't understand why working with FreeBSD means reading manuals and helpful forums while typing commands that other people have already typed. This is very inefficient... scripting would be better.
People are very inefficient... Searching for the answer to their question instead of posting it again would be better.

It's left up to the user (that's you) to install and configure the things you want. And we like FreeBSD because it doesn't do any hand holding and "automagic" wizards that take care of everything for you.
By expecting someone to have done their homework and tired to fix whatever problem they had before asking we're helping you to become more Proficient through experience. Not hold you down or dumb you up with scripted "wizards" to prevent you from becoming one.

We like it that way, and dog-gone-it, we like you, too. I don't want change forced on me by you taking my free_as _in_FreeBSD_free_will Freedom of Choice in the matter. Because then I won't like FreeBSD or you and generally be harder to get along with for everyone involved.

But there is a difference in integration, ease and quality of features which are considered essential, and features which aren't.

Consider ssh, NFS, sendmail, zfs, enabling DHCP for a NIC and so on.
There is a difference in what you and I consider essential features.

I've never used ssh or NFS in my life of 64 years. Only use Sendmail to get my System mail and only used ZFS once when I tried out DandyOS, or what used to be PC-BSD. DCHP something I configure every time I install the Base System. Both wi-fi and bluetoooth are disabled on all devices.
 
In the actual consumption world where we are living the numerous graphic cards that keep getting out every year is I think part of the problem too even if yours is 8 years old.
I believe it does not help to have a documentation up to date for every references especially if devs do not have those piece of hardware for themselves, which is I think not the most important part for an OS mostly designed for servers, unlike CPUs.
One can say that it's unfortunate for the desktop users in a way, but by choosing FreeBSD as a desktop I tend to be agree with this deal and accept the term of its contract.
The nice thing to do as @mark_j said is to bring your personal experience to others by expose it in a HowTo into the forum section, or the Handbook, or like you kind of did by this present thread.
 
...I don't understand why working with FreeBSD means reading manuals and helpful forums while typing commands that other people have already typed...
You've probably heard the old saw about give a man a fish... Learn the Freebsd way, and you'll have true power over computers. You'll actually understand how things work, and will be able to troubleshoot in many contexts. Well, maybe not Windows.
 
Well, maybe not Windows.
"ok, which GUI where is the IP configuration" or when the wife says "it crashed, fix it".

I learned a long time ago that I knew nothing at one time and asking what felt like stupid questions or ranting, would actually get one or two responses that pointed me in the right direction. I know I've felt similar frustration as the OP, but the only answer is really don't give up, don't get too frustrated. Asking questions on forums like this, make sure you don't just say "car won't start, why?" but "car won't start, it has fuel, spark, motor spins".

Old timers that have been rolling their own, forget about usability for others may be different.

Hardest thing about computers is accepting them for what they are, not what you think they are or think what they should be.

Above is all my own opinion.
 
  • Thanks
Reactions: mtu
Back
Top