Re: [PATCH v8 0/3] perf tools: port UI from GTK2 to GTK4

From: Arnaldo Carvalho de Melo

Date: Wed Sep 09 2026 - 07:43:48 EST


On Wed, Sep 09, 2026 at 08:13:07AM -0300, Arnaldo Carvalho de Melo wrote:
> On Tue, Sep 08, 2026 at 10:50:33PM -0400, Matt Turner wrote:
> > GTK2 is long dead upstream and increasingly hard to keep building on
> > current distros. This series ports perf's GTK-based report browser to
> > GTK4 and fixes it up so it's actually loadable at runtime after the
> > port.
> >
> > Patch 1 does the mechanical port (build system, widget API changes),
> > including the leftover-GTK2-call and signal-handling fixes that were a
> > separate patch 3 in v4. Patch 2 fixes a runtime issue found after the
> > port that prevented the browser from loading. Patch 3 fixes two stack
> > buffer overflows in the hierarchy view that predate the port.
>
> I'm tentatively merging this, will test build on my distro container set
> and perform some testing, thanks for working on this!

Some fuzz applying the first patch in the series:

⬢ [acme@toolbx perf-tools-next]$ patch -p1 < ./v8_20260908_mattst88_perf_tools_port_ui_from_gtk2_to_gtk4.mbx
patching file tools/build/Makefile.feature
patching file tools/build/feature/Makefile
patching file tools/build/feature/test-gtk2-infobar.c
patching file tools/build/feature/test-gtk4.c (renamed from tools/build/feature/test-gtk2.c)
patching file tools/perf/Documentation/perf-report.txt
Hunk #1 succeeded at 354 with fuzz 2 (offset 3 lines).
patching file tools/perf/Makefile
patching file tools/perf/Makefile.config
patching file tools/perf/Makefile.perf
patching file tools/perf/builtin-annotate.c
Hunk #1 succeeded at 61 (offset 9 lines).
Hunk #2 succeeded at 721 (offset 9 lines).
Hunk #3 succeeded at 840 (offset 12 lines).
Hunk #4 succeeded at 910 (offset 12 lines).
patching file tools/perf/builtin-report.c
Hunk #1 succeeded at 83 (offset 1 line).
Hunk #2 succeeded at 1360 (offset 1 line).
Hunk #3 succeeded at 1714 (offset 4 lines).
patching file tools/perf/scripts/install-build-deps.sh
patching file tools/perf/tests/make
patching file tools/perf/ui/gtk/annotate.c
patching file tools/perf/ui/gtk/browser.c
patching file tools/perf/ui/gtk/gtk.h
patching file tools/perf/ui/gtk/hists.c
patching file tools/perf/ui/gtk/progress.c
patching file tools/perf/ui/gtk/setup.c
patching file tools/perf/ui/gtk/util.c
patching file tools/perf/ui/setup.c
⬢ [acme@toolbx perf-tools-next]$

I fixed it up quickly, now lets see the rest...

- Arnaldo