The problem with Linux is that it’s made by people who implement and fix what they want to - there is no incentive to do the 10% of work which nobody in their right mind would want to without considerable compensation, work which must be done to make things work without hassle for common users. Microsoft and Apple have the incentive and money to pay people to make their OSes work; Linux does not - hence the recurring problem of no (or old/broken) drivers, and other “uh, now what?” user-stopping problems.