Help me understand this better.
From what I have read online, since arm just licenses their ISA and each vendor’s CPU design can differ vastly from one another unlike x86 which is standard and only between amd and Intel. So the Linux support is hit or miss for arm CPUs and is dependent on vendor.
How is RISC-V better at this?. Now since it is open source, there may not be even some standard ISA like arm-v8. Isn’t it even fragmented and harder to support all different type CPUs?
Actually, I think RISC-V is even worse than ARM. With ARM, at least you have a quite reliable instruction set on the CPU. With RISC-V, most vendors have their own extensions of the instruction set, which opens a big can of worms: Either you compile all your stuff for your own CPU, or you have a set of executables for each and every vendors flavor of RISC-V commands, or you exclusively use the RISC-V core commands. The first would be only for hardcore geeks, the second would be a nightmare to maintain, and the third would be not really efficient. Either way, it sucks.
The same was true for x86, Intel had SSE and AMD had 3DNow, programs just provided different codepaths per available feature (this is where Intel pulled some dirty tricks with their ICC). It’s not that big of a problem.
Yes, but those were only two distict flavors, and both had a lot of pull. And those special instructions were only needed in special applications and drivers. With RISC-V we are talking about a dozen different flavors, all by small and mostly insignificant players and the commands that extend the basic command set are commands for quite common operations. Which is a totally different scenarion than the SSE/3DNow issue back then.
Some extensions won’t matter in the slightest, especially concerning controllers that use the instruction set. For the vendors selling general purpose CPUs, we’ll see how it shakes out. It’s in their interest to retain compatibility, so I suppose it’ll be similar to how it’s handled for Vulkan: vendors having their own extensions that at one point get merged into a common de facto standard for general purpose computing or something.