Google Summer of Code

GPU Reset Recovery in Mutter: A Progress Update

Five weeks into GSoC 2026, here's where things stand in implementing GPU reset recovery in Mutter. When a reset invalidates the GPU context and memory, Mutter currently has no way to recover: the desktop just freezes or crashes. This post walks through the recovery cycle, restoring the graphics pipeline, propagating the reset through the compositor, and the trickier bits like recovering the glyph cache.

Continue ReadingGPU Reset Recovery in Mutter: A Progress Update

Profiling Crosswords’ Rendering Pipeline

GNOME Crosswords renders its puzzles with an elegant grid-and-overlay system—until it needs to do it at scale. In this post, I dive deep into profiling its rendering pipeline, using tools like Sysprof, Callgrind, and QCachegrind to uncover bottlenecks in the SVG stages. What started as a slow thumbnail issue turned into a fascinating journey through performance profiling, call graphs, and the surprising overheads inside librsvg. With guidance from mentors and insights from real-world data, we’re reimagining how puzzles get rendered. It’s a story of curiosity, exploration, and optimization.

Continue ReadingProfiling Crosswords’ Rendering Pipeline