ARM processors you will need to adapt a lot of software.
Not really. The compiler takes care of most of it. Only low level code like intrinsics & ASM or some code segments that can take advantage of
the architectural differences need to be rewritten.
Porting something like Virtualbox is a big challenge because it's all architecture specific. but for something like spreadsheets, vectorizing is the
same regardless of architecture. Doing cpuminer-opt requires around 500 lines of code, less because there are many blank lines and all the
optimization is targetted code.
Full featured Linux distributions exist so those apps are already done. I don't know why MS is dragging their heels with their's, they're sellling ARM
laptops with Windows. It's a bad look they didn't do the job properly, but I rant.