All of lore.kernel.org
 help / color / mirror / Atom feed
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


             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.