Okay, there are many fatal design flaws, such as the inability to actually cluster like OpenVMS has been able to do since the early 1980s, but one is going to bring it to a screeching halt industry wide. What is that? Requiring a video driver be compiled into/with the kernel.
I haven’t looked at the code, nor do I want to. If it is like most Linux/OpenSource code I get to look at it will be ugly. Hacked out by some wet behind the ear script-kiddie then forgotten. What I have been is continually burned by how distros pushing upgrades handle this when it comes to NVIDIA drivers. You may have heard of NVIDIA, they kind of rule the processor world now.
There are quite a few articles and papers out there about the Linux kernel getting GPU support. It just isn’t handled correctly. The video driver should be access via a few API calls documented for the kernel. It should sit at a known address and the kernel shouldn’t give a rat’s behind what driver it is or what capabilities it provides.
You see, we used to have something like this during the days of DOS. It was called the VGA standard. No matter what card you had or what monitor, the OS could could write certain data certain places per the standard and things displayed.
NVIDIA Cuda cores rule the land of desktops, laptops and probably event tablets. Many/Most BOINC projects have been ported to support CUDA because it is both cheap and fast. I have multiple NVIDA cards I spent less than $50 each on and they provide 384 Cuda core plus some amount of video RAM. My current I-7 quad-core desktop has only 4 CPU but, with the proper OS and driver, can employ all 384 Cuda cores to do things.
Having to compile the video driver into the kernel is ludicrous. You should be able to replace either the kernel or the video driver at will without the two being joined like Siamese Twins.
Mint 18 has recently stumbled badly with this. Kernel updates require a user to manually unwind the video driver installation, reboot, apply kernel updates, reboot, re-install video driver, reboot and cross fingers while praying really really hard you won’t see a black screen of death _and_ that the driver actually installed.
If OpenSUSE Tumbleweed is any indication, some distros have thrown in the towel when it comes to NVIDIA. Sadly this means the distro will go away. Cuda cores aren’t going away but operating systems which do not play nice with them are.
The powers that be in Linux kernel world need to redesign the kernel so it is just that, a kernel, with no knowledge of what the video is. Failure to do so will bring about the end of Linux and the rise of some other OS.
Linux is overdue for a punt & run on its core design. It really needs to adopt AND ENFORCE pass by descriptor for all calls and services. This is the only way to begin to secure the operating system.
For what it is worth, OpenVMS is currently being ported to x86. True, it is not currently a graphical desktop operating system, but adding support for graphics desktops when you already have _everything_ else isn’t insurmountable, especially since it already has DecWindows. The only real debate going on right now is if the Hobbyist program will continue or the x86 port will enter into some kind of OpenSource state. Server versions will most likely continue to be commercial and rock solid as they have for over 25 years.