Earlier quoted context omitted.
There are two huge hurdles that no hobby operating system can realistically overcome, without major tradeoffs (like being 100% POSIX-compatible): accelerated graphics, which in this day and age are required even for basic 2D rendering, especially if you have a hidpi monitor, and a web browser. Everything else, compared to those two problems, is easy stuff. Graphics is just incredibly complex, opaque and obtuse kernel…
I would place "driver support" as on the same level. Porting a web browser to work on your platform (chromium, webkit) doesn't require rewriting the whole thing, and chromium etc already are designed in a way to isolate browser code from OS-specific code (as we can see by chromium code for windows/linux/macOS/android being mostly shared). On the other hand, making it so your OS works with the large number of common U…
But the overwhelming mass of devices to drive is the show-stopper. Probably the best that can be done is to implement drivers for Qemu virtual devices, and run under a hypervisor that has drivers for real things.