Wayland for 19.10?

So Phoronix reported that we’ve not planning on trying for Wayland by default for 20.04 LTS.

I haven’t been able to find another public discussion on it. Is this the case?

If it hasn’t been decided yet, I’d like to share a few reasons why we should aim for defaulting to Wayland for 20.04 LTS:

  • There is work being done to close those last little itches keeping people off it
  • And some big things like the nVidia driver working correctly and screensharing appear imminent (within months?)
  • As the distro with the most users, I think it’s reasonable to assume that third party apps and the nvidia driver will be made Wayland-ready sooner - if we push harder for wayland (and pipewire)
  • Snaps security story isn’t complete without it
2 Likes

I’m using Wayland as default on my 19.04 workstation. Haven’t run into any bugs, so far. At least knowingly. It’s the future!

I have AMD graphics card, so not affected by nVidia issues.

1 Like

Me too, on both my desktop (Intel graphics) and laptop (AMD graphics). Works well, and super fluid. Though I hear work is going in for GNOME 3.34 for X.Org to be on par with Wayland (https://www.phoronix.com/scan.php?page=news_item&px=GNOME-3.34-Lower-X11-Out-Lag).

1 Like

Well it should be an option for people who want it.

It has been since 17.10. You choose it in log-on screen.

3 Likes

@bryanquigley There has been no recent discussion and no decision made on that topic for the next LTS
One of the major reason that made us switch back to Xorg after 17.10 was that under wayland any crash in the graphical shell would lead to a session closing (loosing open applications and unsaved work).
Upstream hasn’t do anything to address that problem so it’s likely that the outcome of the discussion is going to be the same (unless we decide it’s acceptable for the desktop to not handle those errors case better)

5 Likes

I keep thinking we need to look at the stats on types of crashes. Certainly when we did use Wayland, the main crasher of gnome-shell was Xwayland because they are codependent processes. If one goes down then both go down. Starting in GNOME 3.34, I hope that’s no longer true so Xwayland can crash without bringing down gnome-shell.

My personal reason for using Wayland (sometimes) till now was the lower latency. But in GNOME 3.34 that is fixed in Xorg so no longer a reason to use Wayland.

Nvidia’s support for Wayland is in a worse state (tracking here) and should be decided separately and later. On top of the aforementioned bug list I have this week found Nvidia’s CPU performance is very poor in that mode. I don’t expect all the issues with Nvidia to be resolved this cycle.

6 Likes

One of the reasons to go with the Gnome shell is the thinking that it’d work well with Wayland, but Unity won’t, I believe. As Wayland didn’t come as default in 18.04 LTS, and would not come with the next 20.04 LTS, maybe Ubuntu should go back to Unity again? With a DE that made Ubuntu a unique distro, rather than one of the crowd?

Nvidia creates a top class graphic environment, and would not support a system that might bring bad press for it, would it?

isn’t the same true for the majority of graphical crashes normally? I haven’t had any recent crash/hang (on nvidia hardware mind you…) that didn’t bring down or hang everything. If it’s a actual driver bug, it’s going to bring down/hang everything, right?

Most users don’t depend on X saving their work anyway:

  • Firefox recovers tabs (and sometimes content) after a crash
  • LibreOffice recovers unsaved documents after a crash
  • On a default install - Gedit is the only one that I’m not sure if it autosaves work…

I was able to cause one nVidia hangs on wayland relatively easily - and will report them as soon as Launchpad stops Oopsing. My Intel machine hasn’t had one issue thus far… Will be using it more soon.

2 Likes

We need to avoid generalizing about “the majority of graphical crashes” to understand the reasoning.

For Wayland sessions, most crashes seem to have come from the Xwayland process in the past. At present this means most gnome-shell crashes (or exits) in Wayland sessions are Xwayland’s fault. Although since that bug was “fixed” we now prevent those crashes from generating a gnome-shell core dump. So current error report stats won’t reflect the reality of how often a gnome-shell session exits due to a crashing Xwayland.

In future if gnome-shell is able to outlive any Xwayland crash then that majority of crashes which used to bring down everything, won’t anymore. So I expect in that near future, Wayland sessions will be significantly more stable and robust than Xorg sessions. How we will measure this precisely, I don’t know… Maybe collect data about the lifetime of gnome-shell processes with their parameters?

4 Likes

I’m not sure that XWayland is the actual problem in crashes though.

While it’s the one shown in the stack-traces the very same problem is also shown when mutter crashes first…
However 3.34 will hopefully have XWayland on-demand, causing this not to be a problem anymore, if ever was.

In any case, the problem is that in X11 the shell can crash but applications won’t, so there’s a very low risk of loosing the current job, which is not the case for Wayland (yet).

That said, Wayland can be choosen at startup, so I don’t see an urgency in default switch.

I’m not sure that XWayland is the actual problem in crashes though.

Remember we made gnome-shell simply exit without dumping core, and before that it did used to crash. errors.ubuntu.com is showing that 17.10’s gnome-shell crashed over 30000 times (bug 1505409 + bug 1556601 + bug 1748450) in gnome-shell due to Xwayland before that fix was applied. Thirty thousand times.

At the time, that was absolute proof that Xwayland was the biggest cause of gnome-shell crashing.

In the years since 17.10 other gnome-shell crashes have become more prevalent (30000-90000 crash reports). I am asserting however that had we not fixed gnome-shell to ignore Xwayland problems, then that would still be the top crash report. And maybe it still is the top cause of gnome-shell exiting without a crash report. We don’t have those numbers to confirm, but please don’t forget the pain of (bug 1505409 + bug 1556601 + bug 1748450), whereby Xwayland was the top cause of gnome-shell crashing by orders of magnitude.

1 Like

It’s also worth noting I am talking about pure gnome-shell without extensions. If someone wants to use extensions then they might be safest to stick to Xorg since using extensions dramatically increases risk of crashes directly inside the gnome-shell process.

2 Likes

I would expect a live session to be representative of a default install. Is wayland ready to be used in a live session?

For some hardware using nvidia GPU a wayland session continues to be near useless.
Whether “native wayland” apps work ok is debatable, somewhat hard to ascertain (for me at least.

On a newish nvidia gpu only laptop (1060m), gnome settings > details reports llvmpipe.
If I run mpv with hwdec=nvdec-copy or cuda-copy it does report using hardware decoding but any advantage is lost to gnome-shell using 99%+ cpu, also see xwayland as a process.
(- nvdec or cuda don’t work at all.

I want to report I have great performance using 19.10 Wayland session on a mid 2010 Macmini. It is a clean install with no macOS. The display adapter is a gforce 320m, high intiger speed core2 duo, and 6gb RAM. I have tried to install all of the open Mesa and Vulkan that made sense, that is-not any of the 340 driver of Nvidia. Opencl is 2.2 and opengl runs 3d games. It saved the machine as High Sierra all but choked it. The latency was so bad typing a search term in Safari would complete 3 and 4 seconds after typing. It would always use heavy swap even if there was free ram. Now with 19.10 it humms along only about 1.3 gigs of RAM consumed and no swap with Firefox and a couple of Libreoffice docs up. Everything is quick only limited by the hard drive spin and it’s an awesome set top box now. No perceptible latency at all.

That’s a known issue with the proprietary Nvidia driver, and it’s a big one: https://bugs.launchpad.net/bugs/1823516

Yes if you’re using the open source nouveau driver then Wayland should work well. It’s worth noting however today Ubuntu 19.10 is still running GNOME 3.32. By the time it is released in October 2019 it will be using GNOME 3.34 which contains more significant optimizations again.

1 Like

There are a plenitude of bugs concerning nvidia, gdm3 and wayland.
One of the more annoying things is an apparent lack of understanding that ‘devices’ matter.
What may be true for a nvidia gpu only device is not the same for hybrid/optimus devices, not at all…

Anyway the current state in 19.10 is the worst it’s been since 14.04 for optimus devices. Ironically the only usable session when using nvidia drivers is the wayland session as it fails back to Intel.
(- even 14.04 was better for a while as there was a solution for tearing till changes in ubuntu-drivers-common made it near impossible to ‘fix’

Fractional scaling is ok in Wayland but XWayland clients are unusable because of their blurriness. And there are important X11-only clients: chromium, everything electron-based and others. In pure X11 at least you have the xrandr scale-up-and-down hack which is awful but more palatable now that has been made part of the Ubuntu desktop (for the time being). With most (new) laptops being mid-dpi nowadays, this is a major shortcoming of Linux desktop in general.

Good news: Ubuntu 19.10 (when it’s finished, not right now) will fix a number of the biggest issues concerning the Nvidia driver: https://trello.com/c/6CeAcFWQ

As always, if you have any issues then please log a bug. I only recently (this month) learnt about the tearing problem with optimus and that people use nvidia-drm.modeset=1 to work around it. But I am not aware of any bug reports about it even today.

4 Likes