Well I didn't make it to the stream, but I wanted to call out my #1 suckage in Linux: The driver situation. It's a bit complex so most people don't know about it, but the situation is, Linux doesn't have drivers the same way Windows has drivers.
On Windows, drivers are separate packages which you install, they plug into your kernel, they're loaded on boot, and they act as the go-between for your kernel's built-in expectations of a hardware device (such as a DirectX-capable GPU) and the actual hardware (such as an nvidia titan x).
On Linux, drivers are not usually separate packages. 99.9% of drivers are open-source code incorporated into the kernel.
This causes kernel bloat. The kernel git tree is > 1GB of source code, which is insane. And the compiled kernel binary is rather large too. The compile time for the kernel is rather long (10+ minutes on a Ryzen 7!) simply because there are these huge drivers included in the kernel itself. (I should also say that this serves to un-democratize Linux. If you need a Threadripper or Intel i9 to compile Linux quickly enough to not be an exercise in frustration, how is someone in a developing nation going to give us the next great kernel enhancement?)
Nvidia is the exception, of course. Their driver isn't open-source and thus can't be included into the kernel itself (thank goodness! Like we need the kernel source to grow even more!). But, they can't ship their Linux driver the same way they can ship their Windows driver. The not-so-subtle difference is, they must ship a separate Linux driver for each Linux kernel version. So when you go from kernel 5.18 to 5.19, surprise! You need a new Nvidia driver too. Windows kernel updates all the time, without needing new drivers. (Windows "just works"? Hardly. But when it comes to drivers, Windows is a lot closer to it than Linux is).
The long-term solution would be to maintain a "stable driver API/ABI", but the kernel team is strongly opposed to doing that.
I suspect that their reason is pride (or perhaps job security, after all, most kernel devs are paid employees of IBM/Meta/Amazon/Microsoft!).
You see, if they ever did announce a stable driver API/ABI, many manufacturers might close-source their drivers, and the kernel itself would shrink into irrelevancy. (Seriously, when was the last time you updated your kernel and thought "Yeah, feature X is going to be great!" where "feature X" wasn't something handled by a driver?).
To try to turn this toward optimism a bit, an alternative is nvidia could open-source their driver and then Linux would have *all the power* it needs for world-domination muahaha.
Well I didn't make it to the stream, but I wanted to call out my #1 suckage in Linux: The driver situation. It's a bit complex so most people don't know about it, but the situation is, Linux doesn't have drivers the same way Windows has drivers.
On Windows, drivers are separate packages which you install, they plug into your kernel, they're loaded on boot, and they act as the go-between for your kernel's built-in expectations of a hardware device (such as a DirectX-capable GPU) and the actual hardware (such as an nvidia titan x).
On Linux, drivers are not usually separate packages. 99.9% of drivers are open-source code incorporated into the kernel.
This causes kernel bloat. The kernel git tree is > 1GB of source code, which is insane. And the compiled kernel binary is rather large too. The compile time for the kernel is rather long (10+ minutes on a Ryzen 7!) simply because there are these huge drivers included in the kernel itself. (I should also say that this serves to un-democratize Linux. If you need a Threadripper or Intel i9 to compile Linux quickly enough to not be an exercise in frustration, how is someone in a developing nation going to give us the next great kernel enhancement?)
Nvidia is the exception, of course. Their driver isn't open-source and thus can't be included into the kernel itself (thank goodness! Like we need the kernel source to grow even more!). But, they can't ship their Linux driver the same way they can ship their Windows driver. The not-so-subtle difference is, they must ship a separate Linux driver for each Linux kernel version. So when you go from kernel 5.18 to 5.19, surprise! You need a new Nvidia driver too. Windows kernel updates all the time, without needing new drivers. (Windows "just works"? Hardly. But when it comes to drivers, Windows is a lot closer to it than Linux is).
The long-term solution would be to maintain a "stable driver API/ABI", but the kernel team is strongly opposed to doing that.
I suspect that their reason is pride (or perhaps job security, after all, most kernel devs are paid employees of IBM/Meta/Amazon/Microsoft!).
You see, if they ever did announce a stable driver API/ABI, many manufacturers might close-source their drivers, and the kernel itself would shrink into irrelevancy. (Seriously, when was the last time you updated your kernel and thought "Yeah, feature X is going to be great!" where "feature X" wasn't something handled by a driver?).
To try to turn this toward optimism a bit, an alternative is nvidia could open-source their driver and then Linux would have *all the power* it needs for world-domination muahaha.