hooray, finally a wayland criticism article that actually put in some effort instead of "muh unix philosophy". most of these issues are real issues for wayland today, and the author might be right to switch back to X for now. however, I'll try to explain some of the issues:
> I had consistent font rendering issues. There was this painful issue in sway relating to display scaling that caused fonts (among other things) to be missing, fuzzy, or just terrible in general.
yup, still a problem. hidpi doesn't work great on X in the first place, and adding Xwayland definitely makes it worse for X applications. but, once the majority of applications are ported to wayland, hidpi should become much, much better.
> NetworkManager GUI tools were strangely buggy with wayland. It wouldn't always crash, but sometimes the only way I could get it to connect to a wifi network was to quit sway, launch i3, connect with nm-applet in i3, then switch back to sway. Bizarre.
personally, I recommend using either raw wpa_supplicant or iwd with a separate network management daemon (dhcpcd or systemd-networkd). the wpa_supplicant GUI is very ugly and uses weird terminology (what's a "PSK" -- yes, I know what it is, but if you didn't, you'd have to google it), but if you can get over that hump as well as the initial configuration, it's been 100% reliable for me, unlike NM, which usually works but then sometimes silently fails somewhere. I recently switched to iwd, which has been mostly fine, but, like wayland, still lacking features important for some people.
> Sometimes, on my desktop, everything would lock up for 10 seconds or so, the screen would blank, and then come back on and everything would be fine. It appeared to be some issue with the graphics drivers - I don't have that issue on i3, so something deep in Wayland is interacting strangely with it.
I would assume you are using intel drivers and are experiencing a GPU reset. check dmesg, but it's quite possible that a poorly behaved application is causing the trouble.
> Screen recording or sharing apps just don't work. Zoom with XWayland appeared to work, but in reality only shared a blank screen. This was kind of a deal breaker, because sooner or later I will need to use screen sharing in Zoom for work.
yeah, this is definitely a problem. as other commenters have said, ordinary applications aren't allowed to just record the screen, they have to ask the compositor. unfortunately, this has not yet been standardized between different wayland implementations. iirc, gnome has a screen recording api, kde has one, and wlroots has another, and they're all incompatible. my current solution for sway is to use wf-recorder + v4l2loopback, which works fairly well but is a little bit hard to set up. install wf-recorder-git and v4l2loopback-dkms-git, then modprobe v4l2loopback exclusive_caps=1 video_nr=7 && wf-recorder -m v4l2 -f /dev/video7 -c rawvideo --pixel-format=yuv420p. then you'll have a fake camera device which you can select in your streaming application. that works for me on Firefox 70 and Chromium 78, so it should work for Zoom too. the workflow is not as smooth as built-in screen sharing (for one, you can't display two "cameras" at once), but it works well enough for most purposes.
> Sometimes, Sway would crash while the screen was locked, leaving my previously secured computer at a logged-in tty. Not great for security!
this is actually very easy to solve.
solution 1: instead of running sway, run exec sway.
solution 2: instead of running swaylock, run physlock. if security is a high priority for you, this is probably better anyways.
You might find 'nmtui' (Network Manager Text User Interface) more helpful if you prefer an ncurses based interface similar to the GUI nm-applet (but it doesn't work for GUI-only configuration extensions for some VPNs, etc.)
'nmcli' is good for basics, eg:
nmcli == connection summary inc. addresses, routes, DNS
nmcli dev wifi == wifi networks found (inc. specs)
nmcli dev wifi rescan
nmcli con == list configured connections
nmcli con up Connection-Name
nmcli con down Connection-Name
most of the above support intelligent tab-completion including of (space containing) connection names.
> I had consistent font rendering issues. There was this painful issue in sway relating to display scaling that caused fonts (among other things) to be missing, fuzzy, or just terrible in general.
yup, still a problem. hidpi doesn't work great on X in the first place, and adding Xwayland definitely makes it worse for X applications. but, once the majority of applications are ported to wayland, hidpi should become much, much better.
> NetworkManager GUI tools were strangely buggy with wayland. It wouldn't always crash, but sometimes the only way I could get it to connect to a wifi network was to quit sway, launch i3, connect with nm-applet in i3, then switch back to sway. Bizarre.
personally, I recommend using either raw wpa_supplicant or iwd with a separate network management daemon (dhcpcd or systemd-networkd). the wpa_supplicant GUI is very ugly and uses weird terminology (what's a "PSK" -- yes, I know what it is, but if you didn't, you'd have to google it), but if you can get over that hump as well as the initial configuration, it's been 100% reliable for me, unlike NM, which usually works but then sometimes silently fails somewhere. I recently switched to iwd, which has been mostly fine, but, like wayland, still lacking features important for some people.
> Sometimes, on my desktop, everything would lock up for 10 seconds or so, the screen would blank, and then come back on and everything would be fine. It appeared to be some issue with the graphics drivers - I don't have that issue on i3, so something deep in Wayland is interacting strangely with it.
I would assume you are using intel drivers and are experiencing a GPU reset. check dmesg, but it's quite possible that a poorly behaved application is causing the trouble.
> Screen recording or sharing apps just don't work. Zoom with XWayland appeared to work, but in reality only shared a blank screen. This was kind of a deal breaker, because sooner or later I will need to use screen sharing in Zoom for work.
yeah, this is definitely a problem. as other commenters have said, ordinary applications aren't allowed to just record the screen, they have to ask the compositor. unfortunately, this has not yet been standardized between different wayland implementations. iirc, gnome has a screen recording api, kde has one, and wlroots has another, and they're all incompatible. my current solution for sway is to use wf-recorder + v4l2loopback, which works fairly well but is a little bit hard to set up. install wf-recorder-git and v4l2loopback-dkms-git, then modprobe v4l2loopback exclusive_caps=1 video_nr=7 && wf-recorder -m v4l2 -f /dev/video7 -c rawvideo --pixel-format=yuv420p. then you'll have a fake camera device which you can select in your streaming application. that works for me on Firefox 70 and Chromium 78, so it should work for Zoom too. the workflow is not as smooth as built-in screen sharing (for one, you can't display two "cameras" at once), but it works well enough for most purposes.
> Sometimes, Sway would crash while the screen was locked, leaving my previously secured computer at a logged-in tty. Not great for security!
this is actually very easy to solve.
solution 1: instead of running sway, run exec sway.
solution 2: instead of running swaylock, run physlock. if security is a high priority for you, this is probably better anyways.