I switched to Linux about 1.5 years ago now when replacing my old Macbook Pro with a Tuxedo Infinity Book. I am super happy with the transition, and for the most part my digital life has severely improved as a result of it. There's one thing in particular though that I haven't fully grasped or understood despite all the talk about it, and that really has mostly caused confusion on my part, and that is Xorg/X11 (I don't know the difference...) vs. Wayland.
I started out with Tuxedo OS 1 and 2 running KDE Plasma 5.x.x, and thus have been on X11 for the most part since switching to Linux. I never dared switching to Wayland myself. However, they somewhat recently started offering optional upgrades to Tuxedo OS 3 running KDE Plasma 6 where Wayland is the default, and I took the plunge. The only real difference I noticed was small annoyances that I had to fix. Glitching windows running on XWayland and having to configure some .desktop
-files to force apps to launch natively in Wayland. Apps not showing the correct desktop icons but the generic Wayland logo instead, making Alt+Tabbing a bit more difficult because it is harder to tell applications apart. Annoying smooth scrolling (I don't want scrolling to have as much friction as polished ice) activated in all kinds of applications that I seem to have to turn off individually. Nothing breaking (though I haven't dared booting with my Nvidia dGPU yet in fear of breaking something irreversibly...), but I haven't noticed any improvements either, and I find it a bit frustrating not knowing where to make the necessary changes and always having to search for it seemingly on a case by case basis.
Now for instance I was updating FreeTube to a new version, and the flags I previously added to the ́.desktop'-file suddenly doesn't work anymore (--enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto
). The application won't launch unless I remove them, but then it launches under XWayland instead. Not that I have any issues so far running it like that, but I guess I would prefer to run everything natively in Wayland if I can.
Don't forget Wayland and security into the mix as well. That seems to have caused some of the biggest issues with apps. Don't get me wrong though, security was desperately needed. X11 had no concept of security.
Do you mean that Wayland has had its own security issues, or that enhanced security has caused additional issues for apps to run correctly?
The addition of security has caused issues.
E.g. apps not being able to see other apps by default has caused issues for some screen recorders or screen-sharing software. Or screen readers from seeing inside apps.
Or apps not being able to see keystrokes when the app isn't active, impacting global shortcuts (say, for example, you're a streamer who uses a hotkey to change cameras in OBS)
A lot of Linux stuff was written with the expectation of there being zero security safeguards. With Wayland, that has changed and it's causing issues.
The second one. Some apps were taking advantage of the fact that X allowed any program access to EVERYTHING on your screen, shortcuts, etc. Wayland ensures more control, which is excellent news, but definitely the change requires programs to adapt, and some have not (AnyDesk, for example).
My understanding is that due to X11's design, all running GUI apps can "see" all the other apps. If you're running a malicious program in X11, it can easily snoop what else you are doing, log your keystrokes, etc.
Wayland solves this through better design.
It was created in a time when physical restrictions on access to the machine was enough. If you weren't meant to be in the lab, somebody found out real quick.
Wasn't just that, it was everything. DOS, early Windows, etc all didn't give a rat's ass about security. In 1986 you could just go over to your friends house and turn on their machine and just go through all their shit laid bare. I don't even think we had BIOS passwords at the time. At least the machines I used didn't. It was a wild time.