GNOME Shell is one step closer to Linux phones

GNOME Shell is one step closer to Linux phones
Latest Shell mockups (source)

Our first post ever on this website was about the GNOME Project "getting ready" to adapt their environment to the growing demand of responsive, mobile-friendly Linux devices. That was back in 2019, before libhandy (Gtk mobile library) was considered stable, and when Librem 5s and PinePhones were less than a clear mockup on their engineers' desk. One year later, the first concepts of a tablet-friendly GNOME Shell were released, which would then see its first realization in the major GNOME 40 update from 2021.

Six months ago, I was at the Linux App Summit (LAS) 2022 when I had the opportunity to see one of the very first experiments of a responsive, mobile-friendly GNOME Shell experience, from its developer Jonas "verdre" Dreßler.

Tobias Bernard 🦣 (@tobias_bernard)
Productive hacking at LAS today: Jonas managed to get an initial implementation of two-dimensional navigation gestures working 🎉

Although its new gesture-based system would remain somewhat buggy for the weeks to come, it felt surprisingly consistent and smooth to see, and its usability was one of its strengths. In fact, it was a matter of weeks until some distributions started packaging it (sometimes too early), and videos started appearing and comparing the overall experience to other shells like Phosh - often with excellent results.

Tobias Bernard 🦣 (@tobias_bernard)
Playing with Jonas’ latest WIP mobile shell branch. It’s honestly more fluid than my Android phone with Lineage, super impressive given the much weaker hardware✨

Fast-forwarding to September 2022, Jonas made his work on a mobile GNOME Shell finally official by releasing an in-depth blog post showcasing the new Shell, including some demo videos of it running on a PinePhone Pro. As you can see, at a first glance the experience does not differ much from that of iOS and Android devices, and all happens in a smooth flow.

GNOME Shell on mobile: An update – GNOME Shell & Mutter

With progress on the mobile shell happening so quickly, one YouTube channel has recently posted an in-depth overview of the usability of Shell on mobile devices, specifically on a "mainlined" Android (Qualcomm Snapdragon845) device in this case.

Although the OnePlus 6 is still one of the most powerful Linux-supported phones around, there has been considerable work spanning from Gtk, St, and Mutter to the high-level JS code in bringing Shell to such an optimized stage. As you can see from the video, performance never appears to be an issue, and multitasking is extremely smooth with the interface looking generally complete. Furthermore, the new Shell animations do their job in enhancing the "cool" appearance of this project.

At around 3:00 in the video, Niko mentions the battery life of the OnePlus 6 on Linux to be loosely comparable to that on Android, which would also be an impressive achievement for a mobile platform that has so far been killed by terrible battery life and lack of efficient standby consumption. Although no official ETA exists, considering the current stage of things, it would not be surprising to see this work land in the final Shell in the relatively near future.