Funny thing: I was on sway full time for over a year, nearly 2 actually. I went so far as to uninstall i3 (not XWayland, nor X for obvious reasons)<p>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.<p>Out of curiosity I reinstalled i3 a couple of days ago and used it (only) for gaming. No crash since.<p>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.<p>While working I still use sway, because I've customized it to my needs, but for Gaming/Streaming I now switch to i3 again.<p>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.<p>Feels funny, but more annoying :/
This is an opinionated guide, hopefully nobody gets the wrong idea like it's actually hard to start using Wayland - for me, switching to Wayland was one drop-down menu option that automatically appeared on my login screen.
I've been using sway a few years already: first in the office workstation with AMD card with Arch, then on my home ThinkPad T25 on NixOS and again on my hobby/travel ThinkPad X230 on FreeBSD that works so smooth and fast now. What's left on xorg/i3 is the workstation with an nvidia GPU, that'll be replaced to an AMD card when the prices come down a bit.<p>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.<p>Thank you for the developers and community.<p>Edit: dotfiles here <a href="https://github.com/pimeys/nixos" rel="nofollow">https://github.com/pimeys/nixos</a>
Wrt SDL2: You can actually replace SDL2 with your own, even if it is statically linked with the game. First, do `export SDL_DYNAMIC_API=/my/actual/libSDL-2.0.so.0` and then launch your game.<p>All the gory details: <a href="https://www.reddit.com/r/linux_gaming/comments/1upn39/sdl2_adds_dynamic_api_magic_to_allow_updating_it/" rel="nofollow">https://www.reddit.com/r/linux_gaming/comments/1upn39/sdl2_a...</a>
I went full wayland a few months ago, at first on Ubuntu.<p>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.<p><a href="https://github.com/Manjaro-Sway/manjaro-sway/" rel="nofollow">https://github.com/Manjaro-Sway/manjaro-sway/</a>
Off topic, but still...<p>> Alacritty, a modern terminal that "just works"<p>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 <i>didn't</i> work for me and I stopped using it.
Very thoughtful guide. Don't forget to launch dbus and policykit is all I can add.<p>I've been using sway daily for about two years now. Here are my current gripes:<p>- Sometimes, client applications do not receive input anymore (mouse/keyboard). This has been a known issue for a while, but I still experience it.<p>- `dpms off` started to crash my AMD-powered PC some time ago, annoying when I configured it to happen with `swayidle`<p>- 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<p>Minor gripes:<p>- 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).<p>- I launch it with `sway`. After Sysrq+R, I often terminate sway by mistake by pressing Ctrl+C<p>- Very occasional (once every 200 hours or so) crashes. Probably because C.
If you go this "build it piecewise" route instead of a full package DE you'll probably also want notifications, screenshot, a GUI tool for external monitor management (I go as far as using nmtui instead of a widget for networking but absolute detest dealing with sway commands to present on an external screen), battery monitor, and a screen lock/screensaver. Plenty of good options for all the above but sway is not a batteries included DE to choose so you have to find them yourself.<p>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.
Yay for wlroots based Wayland compositors!<p>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.<p>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]<p>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]<p>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.<p>Free of screen tearing and X-related worries since 2020 :-)<p>[0]: <a href="https://wayfire.org/" rel="nofollow">https://wayfire.org/</a><p>[1]: <a href="https://github.com/Alexays/Waybar" rel="nofollow">https://github.com/Alexays/Waybar</a><p>[2]: <a href="https://github.com/WayfireWM/wf-shell" rel="nofollow">https://github.com/WayfireWM/wf-shell</a><p>[3]: <a href="https://github.com/DorianRudolph/sirula" rel="nofollow">https://github.com/DorianRudolph/sirula</a><p>[4]: <a href="https://gitlab.com/chinstrap/gammastep" rel="nofollow">https://gitlab.com/chinstrap/gammastep</a><p>[5]: <a href="https://github.com/emersion/grim" rel="nofollow">https://github.com/emersion/grim</a><p>[6]: <a href="https://github.com/emersion/mako" rel="nofollow">https://github.com/emersion/mako</a><p>[7]: My not-completely-but-fairly Wayfire config <a href="https://gist.github.com/solarkraft/f46421295b8c211b2eb56b3acc118cc4" rel="nofollow">https://gist.github.com/solarkraft/f46421295b8c211b2eb56b3ac...</a><p>[8]: <a href="https://github.com/solarkraft/awesome-wlroots" rel="nofollow">https://github.com/solarkraft/awesome-wlroots</a><p>[9]: <a href="https://github.com/Javyre/swayfire" rel="nofollow">https://github.com/Javyre/swayfire</a>