Desktop team report from GUADEC 2018
Tags: 18.04 , Bionic Beaver , GNOME , GTK , GUADEC , Thunderbolt
This year’s GUADEC [https://2018.guadec.org/] (GNOME Users And Developers Conference) took place in Almeria, Spain. The main conference was from 6th to 11th July, and for a few days prior to that where the GNOME Advisory Board met for an in-person catch up, and a few days afterwards for BOF days where developers met to discuss and work on specific topics which were interesting to them.
Canonical are proud to have sponsored the conference and to send seven members of the Ubuntu Desktop team. We had a great conference and are already looking forward to next year.
Here’s a few highlights from the team:
Ubuntu’s journey from Unity to GNOME Shell
Ken, Didier and Marco gave a summary of the Ubuntu journey going from our Unity desktop to a GNOME one. The session was well attended and followed by questions.
You can view the slides here: https://goo.gl/XuXVPo
GNOME Foundation, looking forward
The anonymous donation of $1 million was announced, and what that means for GNOME. GNOME will hire 5 people to handle infrastructure going forward. Particularly sysadmin positions, but also a Development Coordinator who will continue to grow the foundation & raise money. There will also be a Programme Coordinator to help with events, internships and related things and a GTK developer to work on GTK itself.
GTK4 Lightning talks
Benjamin Otte gave a summary on what has changed in GTK. The code is still going through some refactoring and it might be a bit early to start porting big applications. They had some feedback about the current state of the APIs and would welcome people trying to port their code.
Making a Phone Call with GNOME
Purism talked about how they were getting a dialer working in GNOME and discussed the various stacks available to use for GSM.
Thunderbolt, GNU/Linux and GNOME
Christian Kellner gave an overview of how Thunderbolt 3 works and what it allows you to do, followed by a summary of the work done on the bolt service and its integration into GNOME. The stack is mostly feature complete and working at this point so there aren’t many further changes expected.
Snap Package support in GNOME
Robert gave a presentation on snaps, explaining what they are and how they are integrated in GNOME via the GNOME Software snap plugin, snapd-glib and portals.
GNOME Foundation AGM
The board and different GNOME teams gave a summary of the things they are working on. The presentation was followed by a Q&A. The questions were mostly around the anonymous donation and the job positions created.
Wim Taymans gave an overview of the architecture of Pipewire, what it allows to do and of the future plans. The presentation included some demos using a webcam through gstreamer and exporting the screen content under Wayland. Eventually Pipewire will replace PulseAudio.
Have you ever developed for a GPU?
A talk about how GTK+ has had performance boosts using both Cairo and OpenGL/Vulkan due to the tools to analyse this. OpenGL/Vulkan renderers for GTK are fast – try gtk4’s “fishbowl” demo to see this (set GSK_RENDERER). The GTK developers don’t feel like they have a lot of OpenGL experience so they would welcome contributions from someone who does.
What’s happening in Builder?
Lots of new funky stuff, including profiling up to the compositor so you can see where your application is stalling (this was partly a result of the performance hackfest [https://wiki.gnome.org/Hackfests/Performance2018]).
GLib: What’s new and what’s next?
A review of changes from recent cycles, including: the switch to meson as build system, GitLab, CI code coverage, documentation fixes, new APIs and other features/fixes.
Potential items for working on next includes: GError improvements, improved I/O streams API, improved platform support, complete port to meson, dropping unicode tables, what to do with GSlice (drop it?), libglib-testing as a library to test code.
Discussion about how to get application developers to test out GTK 4. There was some discussion of making some new GTK 4 features available in GTK 3, but there are enough differences to make porting non-trivial applications non-trivial. It probably isn’t feasible for an application author to target both, for instance.
James sat in for part of the BoF to discuss our requirements for xdg-desktop-portal, namely giving the portal code more detailed information about snap confined applications in order to make better decisions (e.g. should the network connectivity portal reveal the network state to the confined app?).
We want to do this without adding a new dependency (so that support isn’t disabled in other distros), and there is agreement to have xdg-desktop-portal shell out to a new “snap” subcommand that returns information about the snap.
Various discussions about how to get better multi-monitor interaction, how to redefine this with multiple-workspace and presentation monde. Plus smarter ideas to in order to define the monitor we expect the user to use. Fractional scaling discussions continued.
Theming Ecosystem BoF
The most interesting part of the discussion for us was around trying to help solve the problem that the GTK theming surface is so large, and it’s not feasible to test every application, that testing for application breakage when using a custom theme is very hard. Most third party developers (Ubuntu / Elementary / Pop!_OS) were also hitting this problem, and we went away with a suggestion to research which parts of the default theme downstreams want to tweak to try to reduce the size of the surface.
We had a very productive week, speaking to lots of our fellow GNOME developers in sessions, in the hallway and of course on the beach.
Robert has also written up his trip here: http://bobthegnome.blogspot.com/2018/07/guadec-2018-almeria.html
See you at GUADEC next year!