I still remember the old times before xorg.confs were modular. The truly hard times.
This comic was posted in 2011 but still holds up today perfectly lol.
That is BSD. You can go there. Cool people. Hardware support is a bit spottier though.
So I only just got into linux this year. I gave some X11 distro’s a go, but the screen tearing was awwwwfulll. So I’ve been running Wayalnd/Plasma for months now.
What exactly am I missing out on? Seems lots of users here still favor X11 over wayland but as I’ve never had any problems. It’s still unclear to me why people are still sticking with X11.
I also switched to use different Wayland compositors many years ago for my main systems, but there are also still reasons to use X11. These are mine:
- X11 forwarding, with that you can connect to another system via SSH (e.g. via
ssh -Y
) and just start a GUI app, and the window appears on your screen. - Sharing individual windows via WebRTC, with Wayland compositors you can normally only share full screens. Xserver allows applications to directly capture the window content of others.
- Easily mirroring screens for presentations, with some Wayland compositors you have to capture one screen and then play it back on another screen, with X11 that is integrated into the xserver.
- Automation and keyboard macros, with X11 it is much easier to automate keyboard macros and customize keyboard mapping than on Wayland. See Xmodmap, etc. Same for mouse input. That is also a reason why implementing remote control software is more difficult with Wayland, see for instance RustDesk support for Wayland (works now, but still a bit experimental).
There might be some Wayland compositors that worked around that, but on X11 this was standard. But generally X11 provides these features for all WMs, and in Wayland they have to be implemented individually.
And some just are not supposed to work, for security reasons.
But all of this depends on your use-case. I sometimes even (can or have to) go without a Wayland compositor or X11 and render GUI directly via KMS/DRM.
Automation and keyboard macros,
Isn’t there
xdotool
for this?Yes, that is for X11. Now find one that works on all Wayland compositors, that doesn’t require root permissions.
- X11 forwarding, with that you can connect to another system via SSH (e.g. via
If you’re fine with Wayland, go with Wayland. There are lots of reasons still that people might prefer X11 but the list has been getting shorter.
- The security model of Wayland is more restrictive than necessary for many users and means things like screen sharing and desktop toys are harder and not universally implemented or doable.
- Wayland effectively requires many things to be handled by the same process, preventing traditional modular environments (e.g. separating window manager from compositor no longer possible)
- Explicit compositor support required for more features, meaning having a feature complete environment in small projects is much harder, and the design of Wayland tends to promote a few large desktop environments rather than many small window managers.
- NVidia’s support for Wayland is still improving
- Wayland can’t rotate your screen to be on an angle to maximise the length of a line
- Several programs I rely on don’t support Wayland well yet
- Steam doesn’t stream from Wayland
- Transparent bits of FreeCAD show the background instead of what’s behind them
- Code-OSS required a very silly workaround for decent font rendering, although I think this might have been fixed in electron
I’m new to Linux too and testing both X11 and Wayland at home. so far I like Wayland in theory (it’s the future!) but prefer X11 in practice (no weird graphical issues).
For what it’s worth, I regularly switch depending on what I’m doing (AwesomeWM for X11 and Hyprland for Wayland)
honestly my biggest complaint with Wayland is the lack of programs being able to move their windows causing browsers to not be able to properly display certain web experiences.
Y’all have Desktop Environments?
Y’all are still using xorg?
professional tip for those who decided to rock Debian on a laptop with two GPU’s.
Envycontrol will take the headache away from manually configuring your xorg & xrandr, trust me, compared to the Debian documentation this will save you hours of your life.
Can it force apps to use iGPU when dGPU is on? It’s one of the things I miss from windows and couldn’t figure out on linux
It has this hybrid option, that’s about it from what I know.
Set graphics mode to hybrid and enable fine-grained power control:
sudo envycontrol -s hybrid --rtd3
Edit: the
—rtd3
flag seems to have different levels of power management.--rtd3 [VALUE] Setup PCI-Express Runtime D3 (RTD3) Power Management on Hybrid mode. Available choices: 0, 1, 2, 3. Default if specified: 2