* No screen tearing.
* Better hidpi support including different scale factors on different monitors.
* Improved security, because clients do not have access to all state on the server and servers do not run as root.
Separately, I like how with Wayland the compositor is also the server, so from a TTY you can enter a desktop environment by running a single executable with a single configuration file.
The actual good thing about Wayland is that it simplifies things. While the bad thing is that it needs some kind of extensions for even the basic things a desktop needs, and that (AFAIK) freeGNOMEdesktop is in charge now.
* No more screen tearing
* Multiple Displays with multiple different refresh rates, on some compositors (sway can do it!)
* HWVideo Acceleration for firefox (on some setups)
* it can be faster in some situations
* In the future: More likely support for HDR, VRR etc.
Does this mean we can get VRR on our primary display without having to completely disable other monitors when playing games?
It is an evolutionary step for end users, there is no revolution really. What is the benefit to a layman of a program to change bogies in all trains? He doesn't care about regenerative breaking, so smoother ride? But until almost all of his rides are on this newer platform he would not see a real benefit. Then when it is finally there he will only see its absence. Same with Wayland.
- Apps cannot arbitrarily modeset (change screen resolution and "mess my desktop up") anymore.
- Under sway, apps are the size I want. I can somewhat resize them over/under their limits
- No more windows that grab the focus and force their way to the foreground
- Apps cannot move my mouse cursor anymore. I hate it when they do, I know some Cadence DKs that do so (position the mouse cursor on the OK button: nice touch, I hate it).
- Some apps/games might have crashed when changing workspaces, but I have never once been unable to "alt-tab" or change workspace, change the screen the app was on, etc.
Granted, under sway those are just different APIs and are not hardened, but they could be in the future. And I mean the above, I've had to restart the X server (or switch to a TTY and kill the app) due to a misbehaving app numerous times, but this is mostly a thing of the past now.
Also, bonus:
- easy multiseat under sway: in under 1 minute, given an extra mouse/keyboard, I can theoretically work with someone else on the same computer: I have a window focused, that I can type in, they too.
- Easily create headless displays, or nested sessions (sway can run as a wayland, X or DRI client). You can use that to leverage another computer as an external display: https://news.ycombinator.com/item?id=25891464
- Under sway, the compositor handles configuring input and display. No more xorg.conf (cue https://xkcd.com/963/ though it's less true these days).
And on the technical side:
- From my understanding, apps should be able to pass GPU buffers around much more efficiently, even drawing directly on the final buffer thanks to dma-buf. This leads to lower-latency and higher performance, especially for high resolutions. In turn, it helps quite a bit with pipewire for screensharing and passing video around, as well as zero-copy hardware video acceleration.
Since a few months I noticed weird (complete) freezes/crashes on my pc, while gaming... it's not the youngest so I thought it may come to end of life.
Out of curiosity I reinstalled i3 a couple of days ago and used it (only) for gaming. No crash since.
I assume it's either a bug in Mesa (AMDGpu) or somewhere in the wayland stack... sway hasn't had an update since November, so... I dunno, I haven't taken the time to investigate.
While working I still use sway, because I've customized it to my needs, but for Gaming/Streaming I now switch to i3 again.
Nice sideeffect: I can finally play some games again that wouldn't even launch on Sway or were unplayable, like e.g. Natural Selection 2 which turned to a black screen when I switched workspaces (e.g. from one monitor to another) to e.g. tune down the music or scroll down a page while being dead.
Feels funny, but more annoying :/
- I wrote before the edit -
I do have lockups on Risk of Rain 2, Deep Rock Galactic and a few others: https://gitlab.freedesktop.org/mesa/mesa/-/issues/864
I thought of using another installation, with and without flatpak, but hadn't thought of launching outside of sway, since the crash issue after a while. I'll try lxqt, which I'm currently falling back to for VR (waiting for https://gitlab.freedesktop.org/wayland/wayland-protocols/-/m... ).
Symptoms are: a black screen, and nothing responds. No SysRq, no network. Nothings gets written to the logs. I tried leveraging pstore without success. My GPU is an AMD R9 Fury, which I thought was defective (bought refurbished).
If you read this kind stranger: Thank you so much for this fix!
One thing that doesn't work to this date for me is custom browser docks, which means if you stream and want to interact with your viewers, you need to have a browser open as well :/
I tried to build sway-git twice during the last 2 weeks. Just from the AUR, because I was feeling lazy after work. It failed twice and I just reverted back to sway 1.5.x because I couldn't bother to learn yet another build-tool and dive into C again. (Yes, I am one of those developers)
For example, getting Wayland to work with Plasma on Nvidia graphics cards is still a nightmare, despite it being officially supported. Out of the box, starting a Wayland session just knocks the user into a frozen TTY. Once you get it to work, you quickly learn that hardware acceleration for X11 apps is nonexistent, rendering most video games unplayable.
On what distro?
For i3 -> sway it's not as easy but also not very complicated, nor time-consuming
For the open source Radeon drivers you have to specifically enable early kms, but I imagine that's done for you with most distributions.
Really, this stuff just works if your hardware is well supported (i.e. - not nvidia).
So is GNOME as far as I know.
Also, IMPO, GNOME is crap and GNOME != sway.
> Alacritty, a modern terminal that "just works"
I find alacritty’s slogan funny, because it’s literally the only terminal emulator I’ve used which has been so full of bugs that I found it didn't work for me and I stopped using it.
I'm super happy with sway. It's adding all i3 patches into one coherent setup. The community is friendly and helpful and the desktop super snappy and pleasure to use from old laptops to extremely fast workstations.
Thank you for the developers and community.
Edit: dotfiles here https://github.com/pimeys/nixos
Be aware that to get there, you should make sure you run all your apps in wayland too, not in xwayland. Firefox requires an env var, same goes with GTK and QT apps. Emacs you get from the NixOS overlay; there's a branch that follows the pure gtk build, that doesn't need xwayland. Electron is still xwayland only for most apps. I'm eagerly waiting at least for slack and element to upgrade to Electron 12, which will bring native wayland support.
And there's a nice ecosystem building around wlroots and sway, great tools to choose from for your desktop needs, such as waybar, wofi, wf-recorder and greetd.
Of course you don't NEED any of this. But if I would think like this, I'd probably just used a macOS machine with default settings anyhoo.
I've been using sway daily for about two years now. Here are my current gripes:
- Sometimes, client applications do not receive input anymore (mouse/keyboard). This has been a known issue for a while, but I still experience it.
- `dpms off` started to crash my AMD-powered PC some time ago, annoying when I configured it to happen with `swayidle`
- Sharing screen in browsers worked extremely well... last month or so, when it finally got turned on in Firefox. I didn't change my config, but it isn't working anymore. The handshakes happen, but Firefox or OBS display nothing with xdg-desktop-portal
Minor gripes:
- Some Wine (proton) games have trouble getting focused (Sins of a solar empire launcher, Evochron mercenary, IIRC). Other play funny, with screen resolution and mouse coordinates (ashes of the singularity, I think).
- I launch it with `sway`. After Sysrq+R, I often terminate sway by mistake by pressing Ctrl+C
- Very occasional (once every 200 hours or so) crashes. Probably because C.
Mostly to learn new things I didn't do any xwayland at all. It's definitely been interesting but certainly not what most would want at the moment IMO.
At least everyone agrees on the notification dbus interface and the tooling is super mature.
All the gory details: https://www.reddit.com/r/linux_gaming/comments/1upn39/sdl2_a...
Now, I'm using the early days of the Manjaro Sway Community edition, and it's basically everything that is described in this post packaged and pre-configured out of the box.
Besides the tiling Sway there's also the stacking Wayfire[0] that is from the same family, but modeled after Compiz (blur, desktop cube and good old wobbly windows are all there) and highly configurable.
I use it with Waybar[1], wf-dock[2], Sirula[3] as a launcher and a bunch of other small tools like Gammastep[4] (fork of Redshift) for white balance adjustment, grim & slurp [5] for screenshots and mako[6] for notifications. [7]
It's a very DIY-y experience, but it's meant to be (if you want something pre-configured you can barely change try Gnome). The combination of getting it just right and the Ikea effect makes for a pretty rewarding result (I also maintain a list of the available desktop tools you can use when on a wlroots based compositor for your DIY needs [8]). The vision for the future is pre-configured DEs being offered on this base and it possibly even offering a lot of Sway's tiling features. [9]
It still feels like the early days (for non-Gnome), but with Nvidia driver 470 & accelerated XWayland coming up, the Vulkan efforts, Electron (finally) and Wine making the switch I feel fairly confident saying that 2021 is shaping up to be the year of the Wayland desktop.
Free of screen tearing and X-related worries since 2020 :-)
[0]: https://wayfire.org/
[1]: https://github.com/Alexays/Waybar
[2]: https://github.com/WayfireWM/wf-shell
[3]: https://github.com/DorianRudolph/sirula
[4]: https://gitlab.com/chinstrap/gammastep
[5]: https://github.com/emersion/grim
[6]: https://github.com/emersion/mako
[7]: My not-completely-but-fairly Wayfire config https://gist.github.com/solarkraft/f46421295b8c211b2eb56b3ac...