… seriously? They told us Wayland would learn from the past and avoid the shitty hacks that made X11 “unmaintainable.” Yet it’s 2017, and GNOME under Wayland performs worse than under X, has more stuttering and tearing, sometimes randomly crashes when I connect an external monitor, and we are celebrating a new hack. This is insane.
Interesting, what video card and driver? I dread every time I have to use X.org  because Wayland is so much smoother and has visibly less stuttering. I agree that there are/were too many random crashes, the initial versions of mutter/gnome-shell 2.26 would often fail assertions, etc. on monitor-related events. They patched many of the issues and it works fine now for me in the latest mutter in Arch ( 3.26.2+31+gbf91e2b4c-1).
Looking for the day I can switch to Sway though ;). Currently it scales up XWayland apps on HiDPI which makes them very blurry (GNOME doesn’t).
 E.g. the Parallels VM doesn’t emulate a GPU with KMS support and only has an X.org driver.
Oh yeah, blurry Xwayland apps is also an issue in Weston. I’ve discussed this with Weston devs, and it’s a hard problem. Dealing with the X11 clients on HiDPI is a massive pain. Especially in a multi-monitor world.
Thankfully, more and more apps can run natively, including complex ones like Inkscape, LibreOffice and Darktable.
Firefox though… Wayland support is being developed here and it’s finally getting upstreamed. It’s almost usable… almost. GL does not work yet (only software rendering) and on HiDPI it’s pretty screwed up (screen does not refresh correctly when you type/click).
From what I’ve heard, GNOME’s mutter is uhhh not a very good compositor. But even mutter should NOT have any tearing or stuttering. Something is going very wrong on your machine.
I use Weston git master on FreeBSD 12-CURRENT (so much supposed “unstable” stuff, huh). It does not randomly crash and it’s incredibly fast and smooth. Heck, GTK3 and Qt5 applications have perfectly smooth resizing (which is something I’ve only seen with Cocoa apps on macOS before).
Less off-topic: this is NOT a “shitty hack”. This is a rather elegant fix to a non-trivial mistake in the reference protocol implementation library libwayland. Asynchronous protocols are hard (but worth it)