This keeps being stated as fact, but it is actually pure fiction.
When it comes to gpu drivers Nvidia have had very solid incredibly performant gpu drivers available for Linux/Unix for an incredibly long time, ATI never had drivers on Linux and by Extension AMDs didn't either for the longest time - they have since open sourced them and made massive improvements - Intels drivers have always been rock solid on Linux as well.
The truth when it comes to Nvidia is two-fold from 1 side you have the anti-Linux crowd (The astro-turfers paid by a certain massive company) that like to shit on Linux as a desktop platform and from the other side you have the anti-OSS crowd that shit on anything proprietary (I suspect a great many of these are the same paid astro-turfers under a different guise, although there are a few genuine nuts).
Nvidia makes a bucket load of cash from Linux and the gpu rendering most Movie studios have thousands of these gpus in massive render farms rendering scenes for movies. The CGI movie business has been Linux dominated for a good long time, before that they were SGI Unix - the company that created opengl and 3d rendering. If you look at a lot of the movie workflows when they scroll around and show the desktops you will see KDE and GNOME running on the desktops doing the rendering - most of them have their own custom software all running on Linux desktops.
Nvidia also makes absolute bucked loads on Super Computer GPU compute again Linux dominates this market - cuda driven massive calculations carried out on stacks of gpus. This is why the Nvidia gpus always get Linux support, its not really about gaming its about the major businesses that make them tonnes of cash and use Linux. The same unified driver is used to drive everything so it makes sense for them to keep them updated - also if you look at a lot of the bug reports the nvidia linux team are hot on the case improving performance for various games on Linux and improving performance for protondb.
There is a lot more I disagree with in your post, but its ok its because you are new to the platform , I get that. The only thing I will say is that you have to realise Linux is not windows. If you treat it like windows it will be really difficult, leave what you have learnt and approach it like a novice computer user. You mentioned about the FHS (The file system hierarchy) actually the way Linux does this is so much cleaner and better than Windows - do you know why windows runs like shit after 6 months ? Its the registry - the registry is the most user hostile, computer hostile thing to ever exist - even the sites you visit gets stored in the registry (it keeps a record of the images you view - sites you visited etc etc its absolutely kludgey horrible shit)
The Linux filesystem by extension is childs play.
/usr/bin:
Application binaries go into /usr/bin
/usr/sbin:
System Binaries that require elevated privileges go into /usr/sbin which is also symlinked to /sbin you will usually need sudo to access these.
/etc:
Configuration all goes into /etc/ and oh look its all plain text and user modifiable without requiring some god awful registry editor.
Lets say we want to make a change to our hosts file to redirect some website to some internal location easy edit /etc/hosts add your entry job done - what about windows, where is hosts on windows ?
`C:\Windows\System32\drivers\etc` wow so intuitive, makes complete logical sense right ?
/var:
System Processes that generate logs or spools or mail go into /var - you can even read into these mostly - remember the unix philosphy is that everything on the system is a file so it can all be manipulated
logging goes into /var/log system services generally go into /var so stuff like /var/spool holds the printer spool /var/mail holds mail etc
/usr:
The application home where applications and libraries reside
/usr/ is where all of the application data reside so /usr/lib contains the libraries etc - generally dont touch this your package manager handles this.
/usr/local - anything outside of the package manager goes here generally anything you install yourself as root goes here it even has its own binary directory /usr/loca/bin so its self contained and local to you.
/opt:
This was introduced by Sun I think - optional installation stuff goes here, Chrome installs itself here, its another /usr/local but alot of the commercial software vendors tend to stick their stuff here - it doesn't have its own bin
/home/
This is the users home directory - each user of the system gets their own directory - most services that are user customizable are completely customizable from within your home directory - in fact you should never really need to make any system changes, all of the changes you need to make should be here and they only effect you. (A true multi-user system)
/root/
This is the root users home directory - you shouldnt need to touch this unless you know what you are doing (generally even if you know what you are doing dont change things here) Ive modified a few things to do with vim / neovim text editing when making changes as root - just to make things cleaner / easier for myself - generally dont need to touch it)
/dev (I intentionally left this until last as its just the best):
/dev - this is the device store all of your devices get registered here - guess what you can directly communicate with devices as they are treated like files
want 19 random characters and to convert it into base64: head -c19 /dev/random |base64 here you go read the first 19 lines output from /dev/random and pipe that into base64
want to create an empty block device ? easy
```
time sudo dd if=/dev/zero of=/media/test bs=1048576 count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.562927 s, 1.9 GB/s
real 0m0.572s
user 0m0.007s
sys 0m0.001s```
Half a second to create a 1GB file which can be used as a block storage device.
Lets now convert this into an actual disk, easy:
```
sudo mkfs.ext4 /media/test
mke2fs 1.47.0 (5-Feb-2023)
Discarding device blocks: done
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: 139caa18-0dc4-4246-b5d0-e6c49132a834
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done```
Believe it or not /media/test now has an ext4 file system - lets mount it and see
```
mkdir /tmp/test
sudo mount -o loop /media/test /tmp/test
$ ls -al /tmp/test/
total 60
drwxr-xr-x 3 root root 4096 Jul 17 18:00 .
drwxrwxrwt 26 root root 36864 Jul 17 18:01 ..
drwx------ 2 root root 16384 Jul 17 18:00 lost+found
$ df -h /tmp/test/
Filesystem Size Used Avail Use% Mounted on
/dev/loop22 974M 280K 906M 1% /tmp/test
```
Do you see just how freaking powerful Linux is ? Try to do something like this on windows see how long it takes - in under a minute ive created a 1G block object with a valid filesystem and connected it to my machine - I can store stuff on here and unmount I can copy this block onto a usb drive - I can use the same dd to completely take over a usb drive if I wanted to.
Leave what you learnt about how to use a computer when using windows at the door and learn how to use your computer properly while using Linux - when you understand the operating system it will click and once it clicks you will not want to touch Windows again, you will begin to understand why it is just complete Garbage. I haven't run windows in so long I dont even know how half the shit works, what you said about the file system for windows and the registry made me chuckle its just a horrible kludge, also if you were wondering Linux smokes Windows in performance mainly due to the excellent Linux Filesystems (Linux even has ZFS support now - its just :chefskiss
There is no comparison here the top tier Unix vendors built this amazing tech and all of it has landed in Linux and Linux has only improved on this stuff.
You turn on your tv its running Linux, Samsung has it integrated into its Fridges, even washing Machines, Android is Linux, ChromeBooks are Linux, your NAS is running Linux, your router is probably running Linux, the websites you visit are more than likely running Linux - it absolutely dominates and once you learn to use it you will shit on everything else and for good reason.
With this said MacOs is also a Unix and I also happen to Love Mac Os, just as powerful under the hood incredibly stable Like Linux I personally prefer the flexibility of Linux but I use both. Also Massive thank you to Valve for Making gaming on Linux viable.