The major performance improvements included in the recent Ubuntu 19.10 release weren’t the result of mere happenstance, but rather some serious technical sleuthing.

Now, in a new forum post, Canonical Software Engineer Daniel Van Vugt provides us with a dash more detail on the detective work involved in tracking down and fixing GNOME Shell’s problem spots.

Ubuntu’s engineering effort of late has focused on ameliorating performance issues across key areas, including GNOME Shell’s performance

We’re talking a high-level over-view on effort undertaken to ‘boost’ the real time functioning of GNOME Shell, benefitting not just Ubuntu 19.10 users, but other Linux distros too.

For those unaware, a fair chunk of Ubuntu’s engineering effort of late has focused on ameliorating performance issues across key areas, from video accelerated playback to compositing fixes (i.e. nixing the terror of screen tearing) to improving GNOME Shell performance.

And it’s this latter endeavour, issues affecting GNOME Shell and related components, that Daniel’s discourse digest get in too.

I don’t want spoil the whole thing (it’s an interesting read) but there were a few ‘facts’ from his post that may run counter to what some folks have hitherto assumed:

  • Most of what people think of as “GNOME Shell” is actually Mutter, the compositor/window manager
  • Only ~10% of GNOME Shell source code is written in JavaScript, the rest (when you consider Mutter) is written in C
  • …and most of that JavaScript is NOT running all the time

JavaScript, much belied, not being the sole reason for GNOME Shell’s performance goofs?! Well, that’s revealing!

GNOME Shell performance is majorly improved in Ubuntu 19.10, but the work doesn’t end here

Van Vugt goes on to list some of the specific issues to benefit from work in the Eoan cycle, such as Xorg sessions being one frame slower than Wayland session, as well as the tasks due to be tackled in the next cycle, such as Mutter failing to schedule the next frame on time — and beyond.

Because the big takeaway here is not simply that ‘GNOME Shell is faster in Ubuntu 19.10, but that the work continues.

By next October Ubuntu wants to run just as smoothly on old/slow hardware as it will on newer/fast hardware in Ubuntu 20.04. A major undertaking that I hope it can pull off.

But to learn how Daniel and other Mutter mechanics intend to do that you’ll need to read on…

“Boosting the Real Time Performance of GNOME Shell”

Note: you may want to fetch a coffee, prep a few biscuits (make them chocolate), and get comfy as Daniel’s post is fairly substantial and probably better read on your coach than your commute.

Canonical gnome 3.34 Ubuntu 19.10