Edit: I’m glad so many of you have had no issues with multiple monitors. My set up is a little unusual (3rd display is an infrequently used large tv hooked through the receiver) and is definitely solveable but will take some effort (and honestly, I’d rather spend my spare time outside or with friends, so who knows when I’ll fix it.)


Same for me. In Linux, I plug in USB-C and both monitors in the chain light up every time without thinking.
For some reason, dual boot into Windows and it always disables one of the two by default until I manually go in and tweak it alive, and then it will do it again next time I plug in.
Now back in the day, futzing with XFree86 config files and CRT monitors and absolutely lots of ‘voodoo’ to match what Windows pretty simply did with display configuration. But nowadays at least with kwin wayland compositor on nVidia proprietary drivers, it always does exactly what I expect without asking, and Windows is the one that assumes that I don’t want to use all the displays that are connected.
Windows seems pretty clunky by comparison nowadays when it comes to display configuration.
Now juggling my bluetooth audio… I think Windows still has the advantage. I have no idea why sometimes my bluetooth microphone just doesn’t work under Linux. I do appreciate the ability to manually select the bluetooth codec in Linux where in Windows it ‘guesses’ and often guesses wrong, throwing it into ancient headset codec territory when I’m trying to listen to music, because who knows what has made Windows think the microphone device is open…
Networking… Linux wins hands down with VPN connectivity, much much easier to manage all my VPNs in one place in the ‘casual’ user scenario instead of a litany of competing ‘endpoint managers’ in Windows. When VPNs step on each others routing tables, well no OS makes that easy but at least Linux network namespaces makes it possible for me to have multiple network ‘worlds’ in one place to reconcile the conflicts…
Probably the other area where Windows has a bit of an advantage is a consistent binary driver model. In Linux if you are an out-of-tree driver, it’s going to suck to keep up with changing in-kernel APIs to keep your source compatible, let alone have a module running without a recompile after a minor kernel update. I guess the silver lining is almost everyone decided to have their drivers ‘in-tree’ to make sure they are maintained and don’t need a lot of ugly #ifdefs to contend with multiple kernel behaviors… Then there’s nVidia and some commercial filesystems that either cannot or will not go in-tree…