From: Sebastian Brzezinka <sebastian.brzezinka@intel.com>
To: <igt-dev@lists.freedesktop.org>
Cc: Sebastian Brzezinka <sebastian.brzezinka@intel.com>,
<kamil.konieczny@linux.intel.com>, <krzysztof.karas@intel.com>,
<krzysztof.niemiec@intel.com>
Subject: [PATCH i-g-t 00/25] tools: remove unnecessary shared library
Date: Wed, 24 Jun 2026 10:47:07 +0200 [thread overview]
Message-ID: <cover.1782288071.git.sebastian.brzezinka@intel.com> (raw)
Standalone tools linked libigt.so as a side effect, pulling in cairo,
pixman and libX11 even without framebuffer use.
Following intel_gpu_top's approach, each tool now links only the static
sub-libraries it needs. Five new ones are introduced:
lib_igt_tools_stub, lib_igt_drm_stub, lib_igt_halffloat,
lib_i915_decode, lib_igt_reg_tools.
igt_load_igtrc() is moved to igt_device_scan.c so lsgpu can use
lib_igt_device_scan without pulling in libigt.so.
All 20 tools: 35 shared libs -> 3-8.
Behavioural differences vs original binaries (no-hardware runs):
intel_backlight, intel_lid, intel_gpu_time, intel_audio_dump,
intel_infoframes, intel_panel_fitter, intel_firmware_decode:
assertion failure format: IGT CRITICAL block -> single-line message;
exit code: 98 (IGT_EXIT_FAILURE) -> 1.
intel_gtt, intel_display_poller, intel_watermark:
same as above; additionally print an extra "Test requirement passed:
pci_dev" line on stderr (previously suppressed by IGT log layer).
intel_guc_logger:
same exit code change (98->1); --help drops IGT framework options
(--list-subtests, --run-subtest, --device, etc.) which had no effect
on guc_logger since it opens debugfs directly, not via IGT device
selection; --version, --debug, --hook also removed.
Unknown option exit code: 79 (IGT_EXIT_INVALID) -> 1.
intel_gvtg_test:
skip message: IGT skip block -> single-line; exit code unchanged (77).
Tested on Intel Meteor Lake-P (device 0x7d45) with the series applied:
lsgpu enumerates card0/renderD128
intel_gpu_frequency reads cur/min/max/RP1 frequencies
intel_stepping reports device 0x7d45 rev 0x04
intel_error_decode parses empty error state
igt_stats computes median from stdin
intel_backlight reads current backlight value: 0%
intel_gtt dumps GTT linear mappings
intel_gpu_time user: 0.000322s, GPU: 0.0%
intel_infoframes runs, reports hardware not yet supported
intel_panel_fitter shows usage with -l/-p/-x/-y options
intel_audio_dump dumps meteorlake audio registers
intel_watermark dumps WM_LINETIME and plane watermarks
intel_display_poller shows usage (requires --test option)
intel_lid polls lid state: open (loops by design)
intel_forcewaked locks forcewake, restarts daemon on gpu reset
intel_gvtg_test exits 77, no GVT-g hardware
intel_guc_logger --help prints usage correctly
intel_vbt_decode --help prints usage correctly
intel_firmware_decode runs, fails on missing CSR file as expected
intel_dump_decode runs, rejects unknown options as expected
Sebastian Brzezinka (25):
tools: igt_stats: drop libigt.so, link against minimal sub-libraries
tools: intel_firmware_decode: drop libigt.so, link against minimal
sub-libraries
lib: extend igt_tools_stub with additional stubs needed by tools
lib: introduce lib_igt_drm_stub for tools needing driver detection
lib: introduce lib_igt_halffloat static sub-library for tools
lib: introduce lib_i915_decode static sub-library for tools
lib: introduce lib_igt_reg_tools static sub-library for tools
tools: intel_gpu_frequency: drop libigt.so, link against minimal
sub-libraries
lib/i915: intel_decode: replace igt.h with minimal headers
tools: intel_stepping: drop libigt.so, link against minimal
sub-libraries
tools: intel_gtt: drop libigt.so, link against minimal sub-libraries
tools: intel_error_decode: drop libigt.so, link against minimal
sub-libraries
tools: intel_vbt_decode: drop libigt.so, link against minimal
sub-libraries
tools: intel_backlight: drop libigt.so, link against minimal
sub-libraries
tools: intel_lid: drop libigt.so, link against minimal sub-libraries
tools: intel_gpu_time: drop libigt.so, link against minimal
sub-libraries
tools: intel_audio_dump: drop libigt.so, link against minimal
sub-libraries
tools: intel_forcewaked: drop libigt.so, link against minimal
sub-libraries
tools: intel_guc_logger: drop libigt.so, link against minimal
sub-libraries
tools: intel_infoframes: drop libigt.so, link against minimal
sub-libraries
tools: intel_panel_fitter: drop libigt.so, link against minimal
sub-libraries
tools: intel_watermark: drop libigt.so, link against minimal
sub-libraries
tools: intel_display_poller: drop libigt.so, link against minimal
sub-libraries
tools: intel_gvtg_test: drop libigt.so, link against minimal
sub-libraries
tools: lsgpu: drop libigt.so, link against minimal sub-libraries
lib/i915/intel_decode.c | 4 +-
lib/igt_core.c | 47 --------------
lib/igt_device_scan.c | 48 +++++++++++++++
lib/igt_drm_stub.c | 129 +++++++++++++++++++++++++++++++++++++++
lib/igt_tools_stub.c | 67 ++++++++++++++++++++
lib/meson.build | 65 +++++++++++++++++++-
tools/intel_guc_logger.c | 21 ++++++-
tools/intel_gvtg_test.c | 2 +-
tools/lsgpu.c | 2 +-
tools/meson.build | 126 +++++++++++++++++++++++++++++++-------
10 files changed, 434 insertions(+), 77 deletions(-)
create mode 100644 lib/igt_drm_stub.c
--
2.53.0
next reply other threads:[~2026-06-24 8:47 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-24 8:47 Sebastian Brzezinka [this message]
2026-06-24 8:47 ` [PATCH i-g-t 01/25] tools: igt_stats: drop libigt.so, link against minimal sub-libraries Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 02/25] tools: intel_firmware_decode: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 03/25] lib: extend igt_tools_stub with additional stubs needed by tools Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 04/25] lib: introduce lib_igt_drm_stub for tools needing driver detection Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 05/25] lib: introduce lib_igt_halffloat static sub-library for tools Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 06/25] lib: introduce lib_i915_decode " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 07/25] lib: introduce lib_igt_reg_tools " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 08/25] tools: intel_gpu_frequency: drop libigt.so, link against minimal sub-libraries Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 09/25] lib/i915: intel_decode: replace igt.h with minimal headers Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 10/25] tools: intel_stepping: drop libigt.so, link against minimal sub-libraries Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 11/25] tools: intel_gtt: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 12/25] tools: intel_error_decode: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 13/25] tools: intel_vbt_decode: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 14/25] tools: intel_backlight: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 15/25] tools: intel_lid: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 16/25] tools: intel_gpu_time: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 17/25] tools: intel_audio_dump: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 18/25] tools: intel_forcewaked: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 19/25] tools: intel_guc_logger: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 20/25] tools: intel_infoframes: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 21/25] tools: intel_panel_fitter: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 22/25] tools: intel_watermark: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 23/25] tools: intel_display_poller: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 24/25] tools: intel_gvtg_test: " Sebastian Brzezinka
2026-06-24 8:47 ` [PATCH i-g-t 25/25] tools: lsgpu: " Sebastian Brzezinka
2026-06-24 10:35 ` ✓ i915.CI.BAT: success for tools: remove unnecessary shared library Patchwork
2026-06-24 10:39 ` ✓ Xe.CI.BAT: " Patchwork
2026-06-24 12:10 ` ✗ Xe.CI.FULL: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1782288071.git.sebastian.brzezinka@intel.com \
--to=sebastian.brzezinka@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=kamil.konieczny@linux.intel.com \
--cc=krzysztof.karas@intel.com \
--cc=krzysztof.niemiec@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.