First of all - let me be clear that this thread is not supposed to me complaining about desktop Linux. I’m a full-time Linux and FreeBSD user, and relatively happy with the actual experience.
However, it’s undeniable that once you step out of text-mode and load a desktop environment, you end up with a lot of packages and additional software, stacked up in this somewhat precarious tower of dependencies. You also have to navigate the whole x vs wayland thing, deal with Qt vs GTK styling, choose a desktop environment or window manager, etc. Again, it all works, most of the time, but it at least appears to create this explosion of software complexity.
What I’m wondering is whether this is actually any different from Windows or Mac OS, i.e. if the “Jenga tower” is just more visible because it’s all open source and most distros package graphics components individually? I haven’t been following Mac OS at all, and haven’t really dug into anything graphics related on windows since around 2014.
Well, I can’t speak to the actual graphics pipeline in windows/macos, but style issues are definitely a thing in windows. When you go through settings in windows you can start out in the new windows 11 settings application and end up in an XP era or earlier window that hasn’t been updated to the new theme and the options in said window aren’t in the windows 11 settings application.
Macos has some style issues but it’s probably the most cohesive of linux/windows/macos. I think the style situation is better on macos because apple is more ok with deprecating and removing things/breaking old functionality than microsoft is, and well with linux it’s just a matter of fragmentation which is both a feature and a curse.
As for having a huge number of applications added for a gui, that’s mostly down to people expecting an OS to provide a core set of applications. Windows and macos both come with a fairly large number of pre-installed graphical programs.
The necessary programs for a gui pipeline really isn’t a ton on linux either. Basically it’s a compositor, a gui login manager, and a gui shell. With wayland the compositor is more or less part of the shell, so that drops you down to really just two things. As mentioned earlier there is fragmentation though which of course means more choice but also more things to know/learn/deal with.