As for monitors not being attached after sleep, I was mostly talking about macOS but I do get my comment isn't clear on that. It's an incredibly common issue.
As for drivers being in the kernel or outside the kernel, in the end if the vendor writes trash drivers they'll be trash drivers regardless of where they are. Clearly good touchpad drivers could have been written, but Synaptics just never gave a shit. But those same shitty touchpads were still often shitty even in Linux with open-source drivers. And what do you know, a vendor actually cares to make a good driver and things are better. We didn't even need to change the entire driver model for it to happen.
Back when I used nvidia graphics adapters a driver crash in Windows just meant maybe your app crashed, maybe it handled it gracefully and all that happened was the screen went black for a second. A driver issue on that same nvidia GPU in Linux means a kernel panic and the whole machine crashes, even things not running GPU workloads.
There are pros and cons each way about whether you bundle in the drivers into the kernel or have them live outside. Having it live in the kernel means if the vendor never bothers maintaining or opensourcing the driver you're just stuck on the old kernel. I've got a drawer full of computers which will never see a modern kernel and still keep all their functionality. A pile of e-waste because of the requirement to use that specific kernel the device shipped with, nothing else.
https://discussions.apple.com/thread/250999629
As for drivers being in the kernel or outside the kernel, in the end if the vendor writes trash drivers they'll be trash drivers regardless of where they are. Clearly good touchpad drivers could have been written, but Synaptics just never gave a shit. But those same shitty touchpads were still often shitty even in Linux with open-source drivers. And what do you know, a vendor actually cares to make a good driver and things are better. We didn't even need to change the entire driver model for it to happen.
Back when I used nvidia graphics adapters a driver crash in Windows just meant maybe your app crashed, maybe it handled it gracefully and all that happened was the screen went black for a second. A driver issue on that same nvidia GPU in Linux means a kernel panic and the whole machine crashes, even things not running GPU workloads.
There are pros and cons each way about whether you bundle in the drivers into the kernel or have them live outside. Having it live in the kernel means if the vendor never bothers maintaining or opensourcing the driver you're just stuck on the old kernel. I've got a drawer full of computers which will never see a modern kernel and still keep all their functionality. A pile of e-waste because of the requirement to use that specific kernel the device shipped with, nothing else.