But... I also want things like hibernate to just work, screen tearing to not happen on X11, etc etc.
The polish is absolutely not there, and I agree w/ the article that's a result of the fragmented ecosystem. If the Linux community could agree to invest in the underlying APIs for desktop stuff, it seems we'd be in a much better place and still have lots of customization options on top.
Of course, I understand that's a huge coordination challenge.
Most things on Linux are actually like this, where everything is in the kernel or some other small project and the DE just adds a wrapper GUI (or sometimes a management deamon) and really has absolutely nothing to do with how the thing works.
And thank goodness for that because all of the popular DEs use terrible window managers. I wouldn't bother with X11 if those were the only functional choices.
Also some people (like me) really don't mind tearing but can't stand an extra frame of latency when we're typing. It's nice to have options since no one agrees on everything.
My point is suspend states aren't important to big commercial users who are running linux servers. They have no reason to contribute to making it work well. Hence, it likely doesn't get much attention compared to many other parts of the kernel.
It doesn't have to do with "Desktop environments", but it very much is part of the "linux desktop" experience.
If you have AMD hardware that uses the 'amdgpu' driver, then -IME- enabling the TearFree option seems to completely eliminate tearing. (Though, I am using KDE, which _also_ has a "Make the compositor use vsync" option... which didn't actually eliminate tearing, when used by itself. But, there _may_ be confounders.)
Anyway. Drop this into a file named "$WHATEVER.conf" in '/etc/X11/xorg.conf.d' (or into your xorg.conf), and you should be good to go:
Section "Device"
Identifier "AMD"
Driver "amdgpu"
Option "TearFree" "on"
EndSection
Alternatively, you could enable the setting with the 'xrandr' tool: xrandr --output $OUTPUT_NAME --set TearFree on
but that only sticks for as long as the affected X server stays up. Option "TearFree" "boolean"
Set the default value of the per-output 'TearFree' property,
which controls tearing prevention using the hardware page flip‐
ping mechanism. TearFree is on for any CRTC associated with one
or more outputs with TearFree on. Two separate scanout buffers
need to be allocated for each CRTC with TearFree on. If this op‐
tion is set, the default value of the property is 'on' or 'off'
accordingly. If this option isn't set, the default value of the
property is auto, which means that TearFree is on for rotated
outputs, outputs with RandR transforms applied and for RandR 1.4
secondary outputs, otherwise off.
Edit: Also, distro packagers are quite able to set this on-by-default. It is configurable, after all. If you don't like the default that your distro has chosen, go chat at em. :)It's probably simply because others all call them “Linux”, but they rarely even call themselves that. One cannot easily find the word “Linux” on the websites of “Fedora” or “Ubuntu” for instance and they simply call themselves that.