As an end user, will I notice any difference? Will all apps continue to work fine on Gnome+Wayland?
Big caveat I’ve noticed is that Nvidia drivers + Wayland are completely incompatible
That’s definitely useful to know before I go down the hole and realize it after the fact. On my current machine I have only intel.
Is there any real noticeable difference for an end user, especially one new to Linux or new to Wayland (assuming they are running compatible hardware/drivers)? Or is it just a “better implementation” under the hood and they should maybe stick with X11, for now, so they don’t have to worry about any issues?
I have been using GNOME on Wayland. First on Fedora, then on NixOS. One of the large benefits is security (under X11, all applications can read keystrokes, mouse events, do screengrabs, etc).
The only large problem I have found so far is that Skype screen sharing does not work (yet). Jitsi screen sharing works fine though.
If your using just intel graphics you shouldn’t run into hardware specific wayland issues, though there has been work in nixos-unstable to support NVidia EGLStreams.
As far as how Gnome’s development is going, the X11 session is existing like a legacy session, and wayland is where all the dev is. Performance in certain cases is even better. 2020 and I can say wayland works pretty great. I strongly encourage your adoption of it.
So the bottom line is (so far), if I have compatible hardware, I can feel better that my apps are more sandboxed from each other. I assume performance (or any other benefits) most likely won’t be noticeable on any more-than-capable hardware (I’m on a fairly recent laptop).
I there anything groundbreaking that an end-user may experience in the future (assuming that even in X11 installing trusted software from a well-known distribution is most likely not a security issue)? Or is it mostly just a better experience for developers making Linux apps?
In my opinion Gnome should just make it so you don’t have to really care or notice you’re using wayland unless applications have issues with it. I don’t really see much risk either, you can always just go back when it doesn’t satisfy.
@danieldk mentioned screen sharing in Skype doesn’t work. I’m not using Skype these days though.
I suppose my general gut feeling is maybe I should try it some day when I’m feeling experimental, but that right now X11 will probably do fine. Or if at some point some major apps that I depend on switch exclusively to Wayland then I may be forced to switch.
At the moment I’m installing only stuff from official Nix channels, like web browsers, and VS Code for editing. In my home folder I plan to install various NPM dependencies for projects, and different versions of Node.js. I don’t think there is much a cross-application security concern here (I hope).
Perhaps. But an application could also just have a vulnerability (rather than being malicious). Of course, if the application is not sandboxed, it could be used to exploit the system in different ways than reading keystrokes ;).
Another advantage on Wayland (at least with intel) is tearfree video playback
Pretty much tear-free anything. Also: good support for multiple screens with different pixel densities.
Alright, I’m gonna give it a try.
But I see the option
services.xserver.displayManager.gdm.wayland, where “wayland” is inside of “xserver” options. Why is this?
How do I configure Wayland? Or does it read the old Xorg settings?
true, and I noticed some differences!
- Chromium scrolling is now smooth with touchpad (still no inertial scrolling though) where with Xorg it moved small discrete amounts (with no inertial deceleration). Woot woot!
- Fractional scaling enabled. Yaaaay!
- Chromium and Firefox rendering is not sharp with fractional scaling. Things are bigger at 125% scale, but fuzzy. Darn! (Gnome/GTK apps are crisp and sharp though).
- browsers still report
- A workaround is to increase font scale instead of display scale, which does increase
devicePixelRatioto the same value and browser views look crisp. But in this case, the GTK/GnomeShell UIs are not scaled, only the font is. EDIT: after playing with it, I think I like the font-based scaling, because the UI is more compact (but not totally unproportional) so less space is wasted with the UI, while everything is crisp and readable (both GTK and browsers), and
devicePixelRatioworks as expected. Too bad Fraction Scaling doesn’t work well though.
- browsers still report
- For some reason the Accessibility Menu is permanently visible in the top bar (even though the option is turned off in Settings).
The GDM module was created at the time Wayland was not supported, probably still in the drawing board. As such it (and all the other display/desktop/window managers) were lumped under the
services.xserver prefix. And when we added support for Wayland, it was conservative change, not messing around with the existing options.
I guess it would make sense to move
services.xserver.displayManager to something like
Edit: forgot we have an issue about that: Move wayland compositors in a separate module · Issue #53394 · NixOS/nixpkgs · GitHub
Wayland is mostly just set of protocols so there is not much to configure. You configure the individual applications and services (even though the NixOS options sometimes start with