I’m a Linux user and fan for a lot of years now. Software engineer by profession.
It’s not ready for widespread adoption to the less tech-savvy masses.
It misses some functionality that is really hard to get right but is absolutely expected to get right. For example: graceful suspend and wakeups. It happens so often even to me that I close my Linux laptop for the day, next morning open it up to a bunch of warnings and error messages about Bluetooth adapters or whatever the device of the day that wants to malfunction is that prevents a sound S2 S3 sleep.
I don’t get freaked out about it. But grandma sure would. And yet my 10 year old MacBook Pro gets it right every single fucking time; completely flawlessly. This is the bar of usability that Linux has to achieve for widespread adoption as a true, polished, personal computing experience.