Another year has passed, another reason to celebrate the achievements of dozens
of contributors. Let's talk about what was achieved in GNOME Shell, Mutter, and
related components since last talk, and cover the highlights and latest
development plans.
(c) GUADEC 2024
The GNOME Conference
Denver,...
Another year has passed, another reason to celebrate the achievements of dozens
of contributors. Let's talk about what was achieved in GNOME Shell, Mutter, and
related components since last talk, and cover the highlights and latest
development plans.
(c) GUADEC 2024
The GNOME Conference
Denver, US
July 19-24, 2024
https://events.gnome.org/event/209/
https://www.youtube.com/watch?v=T-sxkx6Oqi8
Size: 795.82 KB
Language: en
Added: Aug 21, 2024
Slides: 33 pages
Slide Content
StateoftheShell
Carlos Garnacho
Florian Müllner
Georges Stavracas
Jonas Ådahl
Robert Mader
Welcome!
Mtter
Website
PreWaylandBilds
∙ Many refactors
∙ Ifdefs for the last mile
∙ Intent: legacy-free bilds
ExplicitSync
∙ Synchronization primitives for rendering pipelines
∙ Wayland clients passing bffers before they are finished (46)
∙ Compositor passing PipeWire bffers before they are finished (47)
∙ Implicitly handled in free drivers, bt needed by NVIDI
∙ Will make writing Vlkan drivers easier
Snapshotting
∙ Rendering approach inspired (copied) from GTK4
∙ new object - CltterSnapshot - bilds the rendering tree
∙ Completely retained render ops tree
∙ Still an experiment / research effort
Snapshotting
Root
Color Clip
Trans
form
Tex
Layer
Color Tex
…
HDR
∙ More complex on a desktop compared to e.g. a TV and gaming console
∙ Mix SDR and HDR to avoid SDR being too bright (47)
∙ llow Wayland clients to tag their srfaces (47? 48?)
HDR
∙ HDR can case increased power sage so sholdn't be on all the time
∙ Still needs enabling via looking glass, bt this will change
HDR
∙ Mtter ses 10 bits per component scanot format by defalt when
spported by drivers
Shold improve color accracy / redce banding (46)
VariableRefreshRate
∙ Some things want to se the maximize refresh rate
Scrolling, animations
∙ Some things do not
Video, games
∙ Deciding when and mixing is difficlt
∙ Kernel PI a bit awkward
∙ Ths, still behind an experimental featre flag
VideoOffloading
∙ YUV/YCrCb “video pixel format” spport (45)
YUV formats are sally reqire less space (“sbsampling”).
Needs to get converted to RGB eventally.
“Offloading” means that this step happens in the compositor or even in
the display hardware, both sally being more efficient than doing it in the
app.
Toolkits like GTK4 and apps increasingly make se of this.
Related to HDR/color protocol work for optimal reslts.
VideoOffloading
∙ Scaling and cropping sing display hardware (46)
More efficient than doing an extra copy in GL/Vlkan
Usefl for videos and games when the content dimensions don’t match
the screens.
Single-pixel-bffer protocol optimization allows black backgrond when
sing a single handware plane (“primary” plane), enabling zero-copy
playback for most videos on most common hardware.
∙ Ftre (48?): Mltiple hardware planes (“overlay”/”nderlay”).
SpecialMentions
∙ Cogl cleanps and GObjectification
∙ Removal of json-glib sage from cltter
∙ Redction of deprecated PIs from split Cogl / Cltter times
∙ Moving away from Cairo
GNOMEShell
Notifications
∙ Headers (46)
∙ Expand in calendar / on toch (46/47)
∙ pp groping (47?)
∙ Spport for protocol enhancements (v2)
Notifications
BreakTimers
∙ Settings for ser well-being
Typing breaks
Eye rest breaks
ccentColors
• New appearance setting
• Standardized via desktop portal
• Spport in libadwaita and the Shell