Our hardware has its own problems.
We rely way too much on x86 and ia64 architecture, both of which have only two big manufacturers in the world. That's not good because it's almost monopolies.
It would be better to have simpler chipsets that can be produced by more manufacturers worldwide, and especially ones that can be produced by smaller regional manufacturers.
On top of that we shouldn't distribute compiled binaries for the x86 and ia64 chipsets; instead program code should be distributed like .wasm, in a hardware-independent way, and compiled on the target device. That would enable that hardware can use any chipset it wants and there are no software incompatibilities because of it.