Accepting request 1123405 from home:munix9:branches:X11:XOrg
- Update to version 1.28: * New meson options testplan, sphinx and xe_driver. * Add amdgpu GFX1036, GFX1037 chips. * Add xe_pciids.h with Lunar Lake (LNL) support. * Use the new procps library libproc2. * Add helper for srandom seed initialization. * Support for vmwgfx driver. * i915_pciids.h updated to include Pontevecchio (PVC) platform. * Add OAM formats and support for media engines in perf tests. * Support for Xe driver. * igt_runner can now dump GPU state on timeout. * igt_runner will now use proper 'abort' as result instead of pseudoresult. * New vendor agnostic gputop tool. * New tool to dump Intel GuC/HuC CSS header. * Improve tools intel_watermark, intel_vbt_decode, intel_reg. * New way for documenting tests will allow to generate documentation and testlists during build, see README.md and test_documentation.md. This is mandatory for Intel (both i915 and xe) and kms tests. * Move intel specific tests to new directory. * Ported and refactored drmlib security tests in amdgpu. * Switch DRM selftests to KUnit. * Enabled MeteorLake aux ccs tests. * Exercise oversized object detection for Xe. * Enable validation for VDSC output formats. * Add support for Bigjoiner / 8K mode. * Use intel_cmds_info library. * Use Intel kernel gpu command definitions. * Add a basic perf_pmu test. * Add test for V3D's Wait BO IOCTL. * Add i915_power test for power measurement. * Remove sysfs_clients. - Remove intel-gpu-tools-libproc2_libproc2_library.patch (fixed upstream) - Remove u_intel-gpu-tools-1.7-fix-bashisms.patch (obsolete) - Build against libproc2 instead of libprocps * intel-gpu-tools-libproc2_libproc2_library.patch - Update to version 1.27.1: * Support for Intel discrete graphics and other new platforms (Andrzej Turko, Matt Roper, Clint Taylor, Tejas Upadhyay, et al) * Support for MSM driver. (Mark Yacoub, Rob Clark) * Support for SRIOV device selection. (Łukasz Łaguna) * Tiled display emulation support with chamelium. (Kunal Joshi) * Support for Chamelium v3. (Mark Yacoub) * Initial FreeBSD support. (Jake Freeland) * Structured communication from tests to igt_runner. (Petri Latvala) * Removed last remaining uses of libdrm_intel in tests and tools. (Zbigniew Kempczyński) * Automatic kernel code coverage collection during testing. (Mauro Carvalho Chehab) - Remove intel-gpu-tools_fix-meson.patch - Disable SUSE_ZNOW to fix failing tests on x86_64 + https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/102 - Build with meson 0.60 (intel-gpu-tools_fix-meson.patch) + https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/107 - Update to version 1.26: * Autotools support has been entirely dropped in favor of only meson. (Arkadiusz Hiler) * Tests can now signal that the whole test round should be aborted. (Arkadiusz Hiler) * Various robustness improvements for Chamelium use. (Arkadiusz Hiler, Kunal Joshi, Imre Deak, et al) * Device filtering improvements for multi-device use. (Arkadiusz Hiler) * Device filtering for various Intel tools like intel_gpu_top. (Ayaz A Siddiqui) * Overhauled kernel parameter handling. (Jani Nikula) * Introduced an i915 batchbuffer facility. (Zbigniew Kempczyński) * Improvements for testing nouveau. (Lyude Paul) * More readable and useful output for lsgpu and other tools that list devices. (Tvrtko Ursulin) * intel_gpu_top can now show per-client busyness stats. (Tvrtko Ursulin) * igt_runner can now limit the disk space used by a single test. (Petri Latvala) - Switch to meson build system, Remove u_respect_cflags.diff (no longer needed) - Update to version 1.25: * Meson build options have been renamed. Please check the news options in meson_options.txt and make sure you don't get any warnings when configuring the project. (Simon Ser) * Compile-testing CI for MIPS. (Guillaume Tucker) * Various igt_runner reliability improvements (Petri Latvala & Arkadiusz Hiler) * Switched GEM tests to engine discovery. (Tvrtko Ursulin et al) * Subtests can now be documented and their descriptions are available in generated HTML docs and on the command line via *-describe. Documenting new tests is mandatory. (Arkadiusz Hiler) * Unified library for EDID creation (Simon Ser) * Chamelium port auto-discovery (Simon Ser) * Tigerlake support (Lucas De Marchi) * Cometlake support (Anusha Srivatsa) * Add kernel selftest wrapper for dmabuf (Chris Wilson) * Bumped required meson version to 0.47.2 (Arkadiusz Hiler) * Rewritten README to be more friendly (Arkadiusz Hiler) * Introduced dynamic subsubtests for getting partial result for runtime*dependant features (Petri Latvala) * IGT can now run on the selected GPU via --device and lsgpu tool (Zbigniew Kempczyński) * Reduced runtime of many many tests (Chris Wilson et al) - Update to version 1.24: * Bumped required meson version to 0.47. (Arkadiusz Hiler) * All the meson build options that used auto, true and false are now first class 'feature' options taking auto, enabled and disabled. (Arkadiusz Hiler) * Piglit as the primary test executor replaced by mostly drop-in compatible igt_runner. (Petri Latvala) * Stack traces now contain source file names and line numbers, using libdw. (Maarten Lankhorst) * Pixman dependency is now mandatory. (Maxime Ripard) * The project has moved to gitlab, and uses gitlab's CI to build test and sanity test each commit on various distributions and architectures. (Arkadiusz Hiler et al) * Shader debugger removed due to lack of use and accumulation of bitrot. (Arkadiusz Hiler) * Added support for testing DP/HDMI audio with the Chamelium device, dropping the audio tests that required exotic custom hardware to execute. (Simon Ser) * Autotools support dropped for various parts of IGT (assembler, documentation, etc). (Daniel Vetter) * intel-gpu-top can now output data to stdout or a log file for noninteractive use. (Tvrtko Ursulin) - Remove n_disable-build-of-pm_rpm.patch is no longer needed - n_disable-build-of-gem_userptr_blits.patch * disabled build of gem_userptr_blits test in order to fix build on SUSE <= sle15/Leap15 - Release 1.23 (2018-08-08) * General changes: - Bumped used C standard to gnu11. (Lucas De Marchi) - Bumped required meson version to 0.44. (Petri Latvala) - Introduced meson options for explicit control over optional dependencies. (Petri Latvala) - Added a meson option to set runpath for the installed executables. (Petri Latvala) - GLib is now a mandatory dependency. (Petri Latvala) - Added testlists for the vc4 driver. (Maxime Ripard) - The project has now finalized its name change and is now IGT GPU Tools, docs and install paths are now "igt-gpu-tools". (Arkadiusz Hiler) - Added a blacklist for the Intel CI. (Petri Latvala) * Library changes: - i915_pciids.h updated to include KBL, ICL, WHL and AML. (José Roberto de Souza, Paulo Zanoni) - Overhaul of gpu_cmds, gpgpu_fill, media_fill and rendercopy. (Katarzyna Dec, Lukasz Kalamarz) - Added igt_matrix and igt_color_encoding helper libraries. (Ville Syrjälä) - IGT now shows the kernel stack trace when reporting a GPU hang. (Chris Wilson) - Added Icelake platform support. (Arkadiusz Hiler, Paulo Zanoni) * Tools changes: - intel-gpu-top was rewritten to be safe to use. (Tvrtko Ursulin) * Documentation changes: - Documented commit rights in CONTRIBUTING. (Daniel Vetter) * Test changes: - kms_prs_sink_crc was renamed to kms_psr. (Dhinakaran Pandiyan) - kms_frontbuffer_tracking no longer tests sink crc. (Dhinakaran Pandiyan) - drm_vma_limiter is no more. (Chris Wilson) * And many other bug fixes, improvements, cleanups and new tests. - Release 1.22 (2018-03-09) * General changes: - Libudev has been made a mandatory dependency. (Antonio Argenziano) - Documentation changed to refer to the new igt-dev mailing list. (Rhys Kidd) * Library changes: - Refactored timer usage for smaller code size. (Chris Wilson) - Various fixes to support planar framebuffers. (Maarten Lankhorst) - Added support for fetching the most recent CRC without waiting for a vblank, along with flushing the queue of already collected CRCs. (Maarten Lankhorst) - Added a helper to mark BOs purgeable on vc4. (Boris Brezillon) - Moved handling of a "cork" BO into lib from various tests. (Daniele Ceraolo Spurio) - Added support for looping over physical i915 engines, as opposed to uABI engines that can alias. (Chris Wilson) - Added an accelerated method for reading from WC buffers. (Chris Wilson) * Tools changes: - Improved intel_vbt_decode output, updated the data from current kernel. (Jani Nikula) - intel_reg can now read/write registers using a given engine. (Mika Kuoppala) - Aubdump can now simulate enhanced execlist submission, for gen11+. (Scott D Phillips) * And many other bug fixes, improvements, cleanups and new tests. - Release 1.21 (2018-01-16) * Library changes: - Added helpers for using DRM syncobj. (Jason Ekstrand) - Refactored several i915 helpers into library functions. (Michał Winiarski) - Improved the GPU quiescing code to more thoroughly flush old data and pending work. (Chris Wilson) - Reworked DRM property handling to be more suitable for atomic commits. (Maarten Lankhorst) - Removed support for legacy CRC API. The generic API has been available since kernel 4.10. (Maarten Lankhorst) - Opening a DRM device now automatically loads its module. (Chris Wilson) - Imported the drm-uapi headers as copies instead of using what's installed in the system. (Eric Anholt) - Moved the perf code to its own library from intel-gpu-overlay. (Tvrtko Ursulin) - Removed Android support due to lack of use and maintenance. (Arkadiusz Hiler) - Upgraded meson to official production status, automake is still kept around for now. * Tools changes: - Improved the output of intel_vbt_decode. (Jani Nikula) - intel_error_decode now prints user buffers if they contain debug logs. (Chris Wilson) - Improved the output of intel_watermark. (Ville Syrjälä, Dhinakaran Pandiyan) - Aubdump can now simulate execlist submission, converting from ring buffer submission method. (Scott D Phillips) - intel-gpu-overlay can now show data from perf PMU. (Tvrtko Ursulin, Chris Wilson) - intel-gpu-overlay now parses tracepoint locations from sysfs. (Lionel Landwerlin) * Documentation changes: - Documentation can now be built with Meson. (Daniel Vetter) * And many other bug fixes, improvements, cleanups and new tests. - adjusted u_respect_cflags.diff - fix deps for libdrm - fix build * add ./autogen.sh * add --enable-gtk-doc - Release 1.20 (2017-10-04) * Library changes: - Added helpers for launching external processes and capturing their outputs. (Abdiel Janulgue) - Increased max pipe count to 6 to support AMD GPUs. (Leo (Sunpeng) Li) - Various improvements for Chamelium support. (Paul Kocialkowski) - Added Coffeelake platform support. (Rodrigo Vivi, Anusha Srivatsa) - Added Cannonlake platform support. (Rodrigo Vivi) - Added support for audio testing. (Paul Kocialkowski) - Added preliminary meson build system support. (Daniel Vetter, et al) -- Autotools remains the supported build system for now. * Tools changes: - Refactored video bios data to use definitions copied from the kernel. (Jani Nikula) * Documentation changes: - Added user and developer documentation about Chamelium support to aid deploying the platform. (Paul Kocialkowski) - Added documentation about the required hardware setup for audio testing. (Paul Kocialkowski) * Tests changes: - Converted remaining shell-script tests to C code (Abdiel Janulgue) - Multiple new tests. * And many other bug fixes and improvements. - adjusted u_respect_cflags.diff - add Source signature file - Release 1.19 (2017-06-09) * Library changes: - Changed debugfs handlers to open files for the DRM device in use, for setups with more than one DRM device. (Tomeu Vizoso) - Added support for 4K and audio HDMI EDID injection. (Abdiel Janulgue, Marius Vlad) - Added support for AMDGPU devices. (Chris Wilson) * Tools changes: - intel_error_decode now automatically opens a pager. (Chris Wilson) - intel_error_decode now dumps the GuC firmware logs if available. (Chris Wilson) * Benchmark changes: - gem_wsim: New benchmark that simulates command submission workloads. (Tvrtko Ursulin) * Scripts changes: - trace.pl: New tool to parse i915 tracepoints for performance analysis. (Tvrtko Ursulin) - media-bench.pl: New tool to programmatically analyze simulated media workloads using gem_wsim to find the optimal load balancing strategy. (Tvrtko Ursulin) * Test changes: - Imported amdgpu tests from libdrm. (Chris Wilson) - Multiple other new tests. * And many other bug fixes and improvements. - SLE merge * update to latest version, Stack release 2016Q1 (fate #315643-315645, 319159-319161, 319618) - Release 1.18 (2017-03-13) * Library changes: - Various changes to library functions so that they don't assume Intel hardware. (Lyude) - Added helper functions for managing synchronization primitives. (Robert Foss) - Added support for the new generic CRC capture kernel ABI. (Tomeu Vizoso) - Added Geminilake platform support. (Ander Conselvan de Oliveira) - Added helpers for sysfs hotplug events. (Lyude) - Added support for hotplug testing with the Chamelium device (Lyude) * Tools changes: - intel_dp_compliance: New tool for running automated DisplayPort compliance tests. (Manasi Navare) - Renamed intel_bios_reader to intel_vbt_decode. (Jani Nikula) - intel_gvtg_test: New tool for setting up GVT-g guests based on KVMGT. (Terrence Xu) * Test changes: - Multiple new tests. * And many other bug fixes and improvements. - refreshed patches: n_disable-build-of-pm_rpm.patch, u_respect_cflags.diff - Add u_respect_cflags.diff - supersedes N_intel-gpu-tools_Fix_libkmod.h_include_path_1320.patch, N_intel-gpu-tools_Fix_libkmod.h_include_path_1315.patch, N_intel-gpu-tools_Fix_libkmod.h_include_path.patch - Release 1.17 (2016-12-02) * Library changes: - Added an iterator that generate primes for creating input data that should not fall into any patterns that may be optimised by the drivers. (Chris Wilson) - Crashes in fixture blocks now print a stacktrace. (Marius Vlad) - Added support for various system suspend/resume options. (Imre Deak) - Added linked list helpers from the Wayland project. (Lyude) - Added a generic dummy workload helper for submitting GPU workloads that consume exactly a specified amount of time. (Abdiel Janulgue) - Added C functions for driver loading/unloading, pkill and lsof, for converting shell script tests to C code. (Marius Vlad) * Tools changes: - intel_reg: Add Kabylake support. (Jani Nikula) - intel_bios_reader: Also dump PSR info. (Ville Syrjälä) - intel_guc_logger: New tool for capturing logs from the GuC firmware. (Akash Goel) - intel_aubdump: Added commandline option to stream the dump to another process. (Lionel Landwerlin) - intel_aubdump: Annotate the dump with the application name and the used PCI ID. (Jason Ekstrand) * Benchmark changes: - gem_latency: Added support for measuring fence wakeup latencies. (Chris Wilson) - prime_lookup: New microbenchmark for stressing prime_fd_to_handle and prime_handle_to_fd. (Chris Wilson) * Test changes: - Multiple new tests. - Added an explicit list of tests used for Intel CI. (Petri Latvala) - Converted multiple shell script tests to C. (Marius Vlad) * And many other bug fixes and improvements. - add new deps * pkgconfig(libkmod) * pkgconfig(libprocps) - rebase patches - fix libkmod.h include path * add N_intel-gpu-tools_Fix_libkmod.h_include_path_1315.patch * add N_intel-gpu-tools_Fix_libkmod.h_include_path_1320.patch * add N_intel-gpu-tools_Fix_libkmod.h_include_path.patch - Update to version 1.16 A new intel-gpu-tools quarterly release is available with the following changes: - Build automatically tests required when issueing a make check, Tests/subtests that receive a crash signal should print a backtrace when i-g-t is built with libunwind support (Marius Vlad) - lib/igt_kms: Force connector probing on first use (Chris Wilson) - vc4: Add a test for BO lookup failure error path (Eric Anholt) - tests/gem_mocs_settings: Remove direct register tests, and added RC6 tests (Peter Antoine) - Check for libdrm_intel and build if present, Add stubs for intel_bufmgr (Robert Foss) - igt/gem_mmap_gtt: Add a test to detect non-WC access (Chris Wilson) - Various documentation improvements (Daniel Vetter) - Added new tests: tests/kms_rmfb and tests/kms_atomic_transition, a test for fastboot, tests/kms_panel_fitting, and a test that only tries to set the current property values back, tests/kms_properties. Various improvements to tests/kms_cursor_legacy (Maarten Lankhorst) - lib/igt_kms: Use pipes for committing, not outputs and assign pipe properties in pipe init and many other improvements (Maarten Lankhorst) - tests/gem_workarounds: read test added as a basic test, fix assertion of num of regs (Mika Kuoppala) - Various improvements to tools/intel_bios_reader and tools/intel_reg (Ville Syrj�l�) - lib: Add x86 cpuid based feature detection (Chris Wilson) - demos/intel_sprite_on: Instead of looping until the first disconnected port is found, now go through all possible connectors, drawing the sprite on any connected display. (Jim Bride) - Multiple improvements to lib/igt_kms (Robert Foss) - lib/igt_aux: Framework for measuring latency in raising signals (Chris Wilson) - Various modifications to intel_chipset: Replace lookup of GT size with computation, remove unused PCI_CHIP ids, converting platforms names using device info (Chris Wilson) - tests/kms_chv_cursor_fail: Run the tests with fewer steps (Maarten Lankhorst) - lib/intel_chipset: Add more Kabylake PCI IDs and removed PCI IDs that are no longer listed as Kabylake (Rodrigo Vivi) - Basic framework for GVT-g testing has landed (Chris Wilson) - Various improvements to tests/kms_flip (Ville Syrj�l�) - igt/kms_cursor_legacy: Add a rudimentary test to detect stalled cursors, detect pageflip errors and check that cursor updates do not stall flips (Chris Wilson) - vGEM support: lib and added tests/vgem_basic, tests/vgem_slow and tests/vgem_reload_basic (Chris Wilson) - Various fixes to tests/kms_frontbuffer_tracking: prefer BLT drawing, recreate FBS at every subtest and properly handle mixing GTT and WC mmaps (Paulo Zanoni) - Replace drv_missed_irq_hang script with a C-equivalent: tests/drv_missed_irq (Chris Wilson) - Added a test case for polling dma-buf fences: tests/prime_busy (Chris Wilson) - lib/igt_gt: Omit illegal instruction on gen8+ and time constrains on hang detection (igt/gem_reset_stats) (Mika Kuoppala) - Added tests/kms_invalid_dotclock, a test that makes sure every modeset gets rejected by the kernel if the requested dotclock is beyond the hardware capabilities (Ville Syrj�l�) - tests/gem_stolen: Verify contents of stolen-backed objects across hibernation, fix for no_mmap subtest and check for available stolen memory size (Ankitprasad Sharma) - tests/core_prop_blob: Add invalid tests to set fb props (Daniel Vetter) - Many more fixes and improvements. Update to version 1.15 - New KMS test: tests/kms_cursor_legacy (Stress legacy cursor ioctl) (Chris Wilson) - Several GEM tests have been removed from BAT: tests/gem_exec_whisper, tests/gem_sync (dropped individual engines), test/gem_cs_prefetch (replaced by test/gem_exec_gttfill), tests/gem_ctx_param_basic (got relabeled to tests/gem_ctx_param) (Chris Wilson) - build: Skip configure step if is NOCONFIGURE set (Tomeu Vizoso) - tools/intel_bios_reader: Added options for dumping individual panels, specific section, hex format and other various fixes (Jani Nikula) - build: Add optional --enable-werror (hard-fail in case of compiler warnings) (Marius Vlad) - New KMS test: tests/prime_mmap_kms (show case dma-buf new API and processes restrictions) (Tiago Vignatti) - Several tests have gained to ability to be run on different platforms than Intel: tests/testdisplay (Tomeu Vizoso), tests/kms_panel_fitting (Robert Foss), tests/kms_flip_event_leak, tests/kms_flip (Tomeu Vizoso). - compute exitcode first: In the case of running multiple subtests which all happen to be skipped, igt_exitcode is 0, but the final exit code will be 77. (Chris Wilson) - Shorten tests/kms_flip test (Tvrtko Ursulin) - Half the timeout for suspend to RAM and a third for suspend to disk (Marius Vlad) - lib: Pass format instead of bpp to create_bo_for_fb (Ville Syrjälä) - Removed from tests/test-list.txt, tests/gem_concurrent_all and added tests/test-list-full.txt that contains all the tests. This will speed up considerably piglit when starting tests. (Gabriel Feceoru) - piglit changed its behaviour to prevent overwriting the results. A fairly new version of piglit is required to run i-g-t tests. (Gabriel Feceoru) - lib: Replace drmIoctl() with a layer of indirection (Chris Wilson) - Adding missing Broxton PCI IDs (Rodrigo Vivi) - Added COMMIT_ATOMIC (lib/igt_kms, w/ tests/kms_rotation_crc). Requires nuclear_pageflip parameter turned on in the i915 driver. (Mayuresh Gharpure, Pratik Vishwakarma) - man/: rewrite manual pages in reStructuredText (Jani Nikula) - tests/drv_module_reload_basic: perform fault injection (Chris Wilson) with various improvements (Imre Deak) - Removed tests/gem_multi_bsd_sync_loop which was superseded by tests/gem_ring_sync_loop and tests/gem_dummy_reloc_loop by tests/gem_exec_reloc (Chris Wilson) - New GEM tests: tests/gem_exec_whisper, tests/gem_exec_store, test/gem_exec_gttfill, tests/gem_exec_suspend, tests/gem_exec_flush (Chris Wilson) - New benchmarks: benchmarks/gem_syslatency, benchmarks/gem_exec_fault (Chris Wilson) - tests/gem_exec_nop included in BAT (Chris Wilson) - tests/pm_rpm: Fix crash on machines that lack LLC (David Weinehall) - lib/igt_fb: Fix domain tracking for GTT cairo surfaces (Chris Wilson) - Add igt_subtest_group to allow igt_fixture for only a subset of subtests without skipping/failing all subsequent subtests. (Daniel Vetter) - Many more fixes and improvements. Added python3-docutils to BuildRequires, since manual pages are now built via rst2man. - Update to version 1.14 * New test: gem_create validate parameters for GEM_CREATE ioctl (Ankitprasad Sharma) * New test: gem_softpin exercise the userptr ioctl to create shared buffers between CPU and GPU (Vinay Belgaumkar) * New tests: prime_mmap_coherency/kms_mmap_write_crc cache coherency tests (Tiago Vignatti) * New test: prime_mmap mmap() on dma-buf fds (Rob Bradford) * New test: gem_exec_reloc sanity check of execbuf-ioctl relocations (Chris Wilson) * New test: gem_exec_basic sanity check of execbuf-ioctl rings (Chris Wilson) * improved igt_hang_ring() infrastructure for generic hang injection support in the core library (Chris Wilson) * new igt_pm library to collect power management testing helpers (David Weinehall) * lig/igt_vc4: VC4 support library (Eric Anholt) * kms_frontbuffer_tracking: included in BAT (Paulo Zanoni) * kms_psr_sink_crc: Add BAT test for PSR active (Rodrigo Vivi) * gem_wait: test superseded by gem_latency in benchmarks (Chris Wilson) * igt_core: Fix logging to display extended line (Derek Morton) * igt_core: Expand --run-subtest functionality (Derek Morton) * kms_force_connector_basic: various fixes and included in BAT set (Daniel Vetter) * Many other improvements and bug fixes. - Update to version 1.13: + New tests: - kms_atomic tests atomic mode setting. - core_prop_blob tests blob properties. - gem_request_retire targets request retirement code paths. - core_setmaster_vs_auth checks that drop/setMaster correctly transfer master state. + Wildcard characters are now accepted when using the --run-subtest command line option to specify multiple subtests to run. + Add support for Broxton in intel_audio_dump. + Added Kabylake support. + Many other bug fixes and improvements. - Add pkgconfig(libudev) and pkgconfig(xrandr) BuildRequires, configure looks for them so lets build with those supported too. - intel-gpu-tools 1.12 - Various new tests and tools - New statistical analysis functions. (Damien Lespiau) - New benchmark tests. (Chris Wilson) - Old register tools that were superseded by intel_reg have been removed. - Various tests have been marked "basic", to indicate they are suitable for use in basic acceptance testing. (Jesse Barnes) - Per-ring gem_storedw_loop tests combined into a single test with subtests. (Jesse Barnes) - New "aubdump" tool, used to launch an application and capture rendering to an AUB file. (Kristian Høgsberg Kristensen) - Cherryview support added to intel_display_poller. (Ville Syrjälä) - Skylake and Broadwell support added to gem_gpgpu_fill tests. (Dominik Zeromski) - Support for running core drm tests on any platform. (Micah Fedke) - Many other bug fixes - supersedes patch 'u_build-fixes.patch" - use correct filelist macros - Update to version 1.11 * Various new tests and tools * Single combined test list (supported by piglit since commit 8a122bb) * Optional dependency on libunwind to provide automatic stack traces on test failures. (Thomas Wood) * Add optional default debug and optimisation flags for tests to enable better stack traces and debugging. (Thomas Wood) * Test programs are now installed into libexec. This is useful when building a complete software stack for a DUT from scratch. (Building and installing tests can still be disabled by the --disable-tests configure flag.) (Joonas Lahtinen) * New tool to decode watermark registers (Ville Syrjälä) * Timeout mechanism now reports test as failed * Introduce intel_reg as the one Intel graphics register multitool to replace intel_reg_read, intel_reg_write, intel_iosf_sb_read, intel_iosf_sb_write, intel_vga_read, intel_vga_write, intel_reg_dumper, intel_reg_snapshot, and quick_dump.py. (Jani Nikula) * Add functions to manipulate i915.ko parameters and ensure features are enabled for testing. (Paulo Zanoni) - supersedes u_Fix-pointer-cast-in-order-to-fix-build-on-32bit-arch.patch - added new buildrequires to gtk-doc and libunwind - added /usr/lib/intel-gpu-tools/* and /usr/share/intel-gpu-tools/* to filelist - u_Fix-pointer-cast-in-order-to-fix-build-on-32bit-arch.patch * fixes build on 32bit - Update to version 1.10 * New frequency manipulation tool (intel_gpu_frequency) * Adjustments for the Solaris port (Alan Coopersmith). * Remove tests/NAMING-CONVENTION since it's all in the docbook now, to avoid divergent conventions. * New CRITICAL log level for really serious stuff (Thomas Wood). * Interactive test mode can now be enabled by the shared cmdline option --interactive-debug=$var (Rodrigo Vivi). * Improved logging to kmsg to better line up test runs with kernel messages (Chris Wilson). * Record all log levels (including disabled levels) in a ringbuffer and dump that on test failures for quicker diagnostics of automated test run results (Thomas Wood). * A lot of small polish all over the test library. * Piles of new testcases and improvements to existing ones as usual. - reenabled post build checks - u_build-fixes.patch * fix post build checks - Update to version 1.9: + Patches refactored for new sources + post-build-checks disabled, due to check failure: I: Program returns random data in a function E: intel-gpu-tools no-return-in-nonvoid-function intel_renderstate_gen8.c:441 + Dropped: - n_missing_check-ndebug.h.patch - intel-gpu-tools-1.7.tar.bz2 + Added: - intel-gpu-tools-1.9.tar.bz2 + Changes from version 1.7 - More Android porting - Fixes to documentation warnings - Updates to UPDATE, MAINTAINERS, and README - lib: - Fix out of tree build of version.h - added function to lock memory into RAM - add option log domain filtering - introduce log domains - igt_debugfs: Don't setup crc in _new - igt_debugfs: Throw away the two first CRCs - igt.cocci: Deal with min/max/swap - add swap() macro - always reset connectors after the state is forced - remove igt_edid.h - tests: - gem_tiled_swapping: use igt_info logging wrapper - replaced 3D test images - kms_cursor_crc: Restore the valid pipe/connector combo check - kms_mmio_vs_cs_flip: Count valid tests for all crtcs - kms_flip: * Target the back buffer with the dummy load * Calibrate the dummy load delay in kms_flip * Use fixed size (2kx2k) buffers for dummy load * Refactor blit code - Run lib/igt.cocci - pm_rps: vlv: * roundmiddle point to freq supported by HW * load gpu for idle min/max tests\ * wait for freq to settleo - add gem_gpgpu_fill to .gitignore - use base edid - tools: - add missing copyright headers - terminate getopt_long long option arrays properly - drv_hangman: Remove unused function - kms_cursor_crc: Remove value to 'return' in a void function - igt/drm_read: Require that pipe 0 is active - igt/drm_read: Abuse read(drm) - intel_error_decode: Decode the ERROR register on Sandybridge and Ivybridge - gem_bad_reloc: Don't flip-flop between SKIP and PASS - rename intel-gpu-tools-1.7-fix-bashisms.patch to u_intel-gpu-tools-1.7-fix-bashisms.patch according to our patch guidelines - fix bashism in intel_gpu_abrt script that uses bash-specific constructions - add patches: * intel-gpu-tools-1.7-fix-bashisms.patch - update to release 1.7; Here goes a new i-g-t quarterly release with the following changes: * Piles of API documentation for the core i-g-t testing libraries. * Improved igt loggin, now also with igt_vlog (for va_args printf-style logging). * Polish for the igt_debugfs library. * Split out igt_fb library from igt_kms, cleanup of the igt_kms functions. * Android porting patches (Tim Gore, Tvrtko Ursulin). * Piles more tests as usual. * Support for building libcairo based tests on Android. Set ANDROID_HAS_CAIRO=1 in the build enviroment when you have this (Tim Gore). * Timeout support in igt_aux, see igt_set_timeout (Thomas). * Documentation for the testrunner interface like exit codes, subtest enumeration and log output. Should help other people to run the tests in their own framework. * Make swig an optional dependency (Damien). * Helpers for runtime pm tests in igt_aux. - rename n_disable-build-of-pm_pc8.patch to n_disable-build-of-pm_rpm.patch, since test has been renamed - update to release 1.6 * Changes to support Broadwell in the test suite. (Ben, Damien, et al.) * Updated (now working again!) Android support from Oscar Mateo. * Test coverage through i-g-t is now officially an integral part of any drm/i915 feature work and also for bugfixes. For more details see: http://blog.ffwll.ch/2013/11/testing-requirements-for-drmi915.html * Fix the gen4asm build depency handling, now that the assembler is included in i-g-t (Ben). * Improve the cairo object lifetime management of the kmstest helpers (Chris). * Allow register access to succeed if i915 is loaded but debugfs isn't found (i.e. nomodeset is used) * New kernel modesetting helper library for simpler testcases (Damien). * New structure logging support for tests. Message at the WARN level be reflected in the piglit result, also included igt_warn_on macros to simplify test asserts which should just result in warnings, but not in a test abort. * Broadwell support for intel_audio_dump (Mengdong Lin). * API documentation support (Thomas) - n_missing_check-ndebug.h.patch * added missing include file in order to fix build - refreshed n_disable-build-of-pm_pc8.patch - added missing pkgconfig(dri2proto) - added missing LICENSE file - update to release 1.5 - n_disable-build-of-pm_pc8.patch * disables build for pm_pc8 test app for now - removed obsolete patches * intel-gpu-tools-no-test.diff * u_intel-gpu-tools-no_m4_dir.patch - renamed latest patch according to our policy - Removed AC_CONFIG_MACRO_DIR([m4]) from configure.ac to fix build with new automake - Update to version 1.3: New intel-gpu-tools release with too much stuff changed. Biggest part is improvements to the testsuit, but also some other neat things: + dpf tool for handling l3 remapping on gen7 + robustify against wc gtt mappings + improvements to the reg_dumper and register read/write tools + haswell support - Packaging changes: + Added cairo to BuildRequires (we need this now) + changed intel-gpu-tools-no-test.diff to speed up compilation - change it to exclusivearch, as it also does not exist on ARM - exclude ppc, ppc64. There is no intel graphic - updated to version 1.2: support for recent Intel graphic chips, many fixes See ChangeLog for details - Don't build test directory (to simplify the packaging) - Split intel-gpu-tools from xorg-x11-driver-video. Initial version: 1.0.2-20101210-292ae45. OBS-URL: https://build.opensuse.org/request/show/1123405 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/intel-gpu-tools?expand=0&rev=11
This commit is contained in:
parent
5958fe57b4
commit
0e59820f31
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:93b9a4816ed22b5145bb61024314c8a65caeea991ce93027643f1d40723bf417
|
||||
size 2321940
|
Binary file not shown.
3
igt-gpu-tools-1.28.tar.xz
Normal file
3
igt-gpu-tools-1.28.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ffcbdf61bd495803d9ae9dfa83e2fe04b8f583a2296fe059c1d5dd135a8a3b15
|
||||
size 2597284
|
BIN
igt-gpu-tools-1.28.tar.xz.sig
Normal file
BIN
igt-gpu-tools-1.28.tar.xz.sig
Normal file
Binary file not shown.
@ -1,491 +0,0 @@
|
||||
Description: Link to libproc2
|
||||
libproc2 is the new library for libprocps
|
||||
Author: Craig Small <csmall@debian.org>
|
||||
Bug-Debian: https://bugs.debian.org/1024221
|
||||
Reviewed-by: Craig Small <csmall@debian.org>
|
||||
Last-Update: 2022-12-22
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
--- a/lib/igt_aux.c
|
||||
+++ b/lib/igt_aux.c
|
||||
@@ -52,8 +52,16 @@
|
||||
#include <assert.h>
|
||||
#include <grp.h>
|
||||
|
||||
+#ifdef HAVE_LIBPROCPS
|
||||
#include <proc/readproc.h>
|
||||
+#endif
|
||||
+#ifdef HAVE_LIBPROC2
|
||||
+#include <libproc2/pids.h>
|
||||
+#endif
|
||||
+
|
||||
#include <libudev.h>
|
||||
+#include <linux/limits.h>
|
||||
+#include <dirent.h>
|
||||
|
||||
#include "drmtest.h"
|
||||
#include "i915_drm.h"
|
||||
@@ -1217,6 +1225,7 @@ void igt_unlock_mem(void)
|
||||
*/
|
||||
int igt_is_process_running(const char *comm)
|
||||
{
|
||||
+#if HAVE_LIBPROCPS
|
||||
PROCTAB *proc;
|
||||
proc_t *proc_info;
|
||||
bool found = false;
|
||||
@@ -1235,6 +1244,26 @@ int igt_is_process_running(const char *c
|
||||
|
||||
closeproc(proc);
|
||||
return found;
|
||||
+#endif
|
||||
+#ifdef HAVE_LIBPROC2
|
||||
+ enum pids_item Item[] = { PIDS_CMD };
|
||||
+ struct pids_info *info = NULL;
|
||||
+ struct pids_stack *stack;
|
||||
+ char *pid_comm;
|
||||
+ bool found = false;
|
||||
+
|
||||
+ if (procps_pids_new(&info, Item, 1) < 0)
|
||||
+ return false;
|
||||
+ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
|
||||
+ pid_comm = PIDS_VAL(0, str, stack, info);
|
||||
+ if (!strncasecmp(pid_comm, comm, strlen(pid_comm))) {
|
||||
+ found = true;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ procps_pids_unref(&info);
|
||||
+ return found;
|
||||
+#endif
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1251,6 +1280,7 @@ int igt_is_process_running(const char *c
|
||||
*/
|
||||
int igt_terminate_process(int sig, const char *comm)
|
||||
{
|
||||
+#ifdef HAVE_LIBPROCPS
|
||||
PROCTAB *proc;
|
||||
proc_t *proc_info;
|
||||
int err = 0;
|
||||
@@ -1272,6 +1302,29 @@ int igt_terminate_process(int sig, const
|
||||
|
||||
closeproc(proc);
|
||||
return err;
|
||||
+#endif
|
||||
+#ifdef HAVE_LIBPROC2
|
||||
+ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD };
|
||||
+ struct pids_info *info = NULL;
|
||||
+ struct pids_stack *stack;
|
||||
+ char *pid_comm;
|
||||
+ int pid;
|
||||
+ int err = 0;
|
||||
+
|
||||
+ if (procps_pids_new(&info, Items, 2) < 0)
|
||||
+ return -errno;
|
||||
+ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
|
||||
+ pid = PIDS_VAL(0, s_int, stack, info);
|
||||
+ pid_comm = PIDS_VAL(1, str, stack, info);
|
||||
+ if (!strncasecmp(pid_comm, comm, strlen(pid_comm))) {
|
||||
+ if (kill(pid, sig) < 0)
|
||||
+ err = -errno;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ procps_pids_unref(&info);
|
||||
+ return err;
|
||||
+#endif
|
||||
}
|
||||
|
||||
struct pinfo {
|
||||
@@ -1341,9 +1394,9 @@ igt_show_stat_header(void)
|
||||
}
|
||||
|
||||
static void
|
||||
-igt_show_stat(proc_t *info, int *state, const char *fn)
|
||||
+igt_show_stat(const pid_t tid, const char *cmd, int *state, const char *fn)
|
||||
{
|
||||
- struct pinfo p = { .pid = info->tid, .comm = info->cmd, .fn = fn };
|
||||
+ struct pinfo p = { .pid = tid, .comm = cmd, .fn = fn };
|
||||
|
||||
if (!*state)
|
||||
igt_show_stat_header();
|
||||
@@ -1353,7 +1406,7 @@ igt_show_stat(proc_t *info, int *state,
|
||||
}
|
||||
|
||||
static void
|
||||
-__igt_lsof_fds(proc_t *proc_info, int *state, char *proc_path, const char *dir)
|
||||
+__igt_lsof_fds(const pid_t tid, const char *cmd, int *state, char *proc_path, const char *dir)
|
||||
{
|
||||
struct dirent *d;
|
||||
struct stat st;
|
||||
@@ -1400,7 +1453,7 @@ again:
|
||||
dirn = dirname(copy_fd_lnk);
|
||||
|
||||
if (!strncmp(dir, dirn, strlen(dir)))
|
||||
- igt_show_stat(proc_info, state, fd_lnk);
|
||||
+ igt_show_stat(tid, cmd, state, fd_lnk);
|
||||
|
||||
free(copy_fd_lnk);
|
||||
free(fd_lnk);
|
||||
@@ -1416,13 +1469,14 @@ again:
|
||||
static void
|
||||
__igt_lsof(const char *dir)
|
||||
{
|
||||
- PROCTAB *proc;
|
||||
- proc_t *proc_info;
|
||||
-
|
||||
char path[30];
|
||||
char *name_lnk;
|
||||
struct stat st;
|
||||
int state = 0;
|
||||
+#ifdef HAVE_LIBPROCPS
|
||||
+ PROCTAB *proc;
|
||||
+ proc_t *proc_info;
|
||||
+
|
||||
|
||||
proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG);
|
||||
igt_assert(proc != NULL);
|
||||
@@ -1456,6 +1510,44 @@ __igt_lsof(const char *dir)
|
||||
}
|
||||
|
||||
closeproc(proc);
|
||||
+#endif
|
||||
+#ifdef HAVE_LIBPROC2
|
||||
+ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD };
|
||||
+ struct pids_info *info = NULL;
|
||||
+ struct pids_stack *stack;
|
||||
+
|
||||
+ if (procps_pids_new(&info, Items, 2) < 0)
|
||||
+ return;
|
||||
+ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
|
||||
+ ssize_t read;
|
||||
+ int tid = PIDS_VAL(0, s_int, stack, info);
|
||||
+ char *pid_comm = PIDS_VAL(1, str, stack, info);
|
||||
+
|
||||
+ /* check current working directory */
|
||||
+ memset(path, 0, sizeof(path));
|
||||
+ snprintf(path, sizeof(path), "/proc/%d/cwd", tid);
|
||||
+
|
||||
+ if (stat(path, &st) == -1)
|
||||
+ continue;
|
||||
+
|
||||
+ name_lnk = malloc(st.st_size + 1);
|
||||
+
|
||||
+ igt_assert((read = readlink(path, name_lnk, st.st_size + 1)));
|
||||
+ name_lnk[read] = '\0';
|
||||
+
|
||||
+ if (!strncmp(dir, name_lnk, strlen(dir)))
|
||||
+ igt_show_stat(tid, pid_comm, &state, name_lnk);
|
||||
+
|
||||
+ /* check also fd, seems that lsof(8) doesn't look here */
|
||||
+ memset(path, 0, sizeof(path));
|
||||
+ snprintf(path, sizeof(path), "/proc/%d/fd", tid);
|
||||
+
|
||||
+ __igt_lsof_fds(tid, pid_comm, &state, path, dir);
|
||||
+
|
||||
+ free(name_lnk);
|
||||
+ }
|
||||
+ procps_pids_unref(&info);
|
||||
+#endif
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1490,7 +1582,7 @@ igt_lsof(const char *dpath)
|
||||
free(sanitized);
|
||||
}
|
||||
|
||||
-static void pulseaudio_unload_module(proc_t *proc_info)
|
||||
+static void pulseaudio_unload_module(const uid_t euid, const gid_t egid)
|
||||
{
|
||||
struct igt_helper_process pa_proc = {};
|
||||
char xdg_dir[PATH_MAX];
|
||||
@@ -1498,14 +1590,14 @@ static void pulseaudio_unload_module(pro
|
||||
struct passwd *pw;
|
||||
|
||||
igt_fork_helper(&pa_proc) {
|
||||
- pw = getpwuid(proc_info->euid);
|
||||
+ pw = getpwuid(euid);
|
||||
homedir = pw->pw_dir;
|
||||
- snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", proc_info->euid);
|
||||
+ snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", euid);
|
||||
|
||||
igt_info("Request pulseaudio to stop using audio device\n");
|
||||
|
||||
- setgid(proc_info->egid);
|
||||
- setuid(proc_info->euid);
|
||||
+ setgid(egid);
|
||||
+ setuid(euid);
|
||||
clearenv();
|
||||
setenv("HOME", homedir, 1);
|
||||
setenv("XDG_RUNTIME_DIR",xdg_dir, 1);
|
||||
@@ -1524,10 +1616,12 @@ static void pipewire_reserve_wait(void)
|
||||
char xdg_dir[PATH_MAX];
|
||||
const char *homedir;
|
||||
struct passwd *pw;
|
||||
- proc_t *proc_info;
|
||||
- PROCTAB *proc;
|
||||
+ int tid=0, euid, egid;
|
||||
|
||||
+#ifdef HAVE_LIBPROCPS
|
||||
igt_fork_helper(&pw_reserve_proc) {
|
||||
+ proc_t *proc_info;
|
||||
+ PROCTAB *proc;
|
||||
igt_info("Preventing pipewire-pulse to use the audio drivers\n");
|
||||
|
||||
proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG);
|
||||
@@ -1539,21 +1633,44 @@ static void pipewire_reserve_wait(void)
|
||||
freeproc(proc_info);
|
||||
}
|
||||
closeproc(proc);
|
||||
+ tid = proc_info->tid;
|
||||
+ euid = proc_info->euid;
|
||||
+ egid = proc_info->egid;
|
||||
+ freeproc(proc_info);
|
||||
+#endif
|
||||
+#ifdef HAVE_LIBPROC2
|
||||
+ igt_fork(child, 1) {
|
||||
+ enum pids_item Items[] = { PIDS_ID_PID, PIDS_ID_EUID, PIDS_ID_EGID };
|
||||
+ enum rel_items { EU_PID, EU_EUID, EU_EGID };
|
||||
+ struct pids_info *info = NULL;
|
||||
+ struct pids_stack *stack;
|
||||
+
|
||||
+ igt_info("Preventing pipewire-pulse to use the audio drivers\n");
|
||||
+
|
||||
+ if (procps_pids_new(&info, Items, 3) < 0)
|
||||
+ return;
|
||||
+ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
|
||||
+ tid = PIDS_VAL(EU_PID, s_int, stack, info);
|
||||
+ if (pipewire_pulse_pid == tid)
|
||||
+ break;
|
||||
+ }
|
||||
+ euid = PIDS_VAL(EU_EUID, s_int, stack, info);
|
||||
+ egid = PIDS_VAL(EU_EGID, s_int, stack, info);
|
||||
+ procps_pids_unref(&info);
|
||||
+#endif
|
||||
|
||||
/* Sanity check: if it can't find the process, it means it has gone */
|
||||
- if (pipewire_pulse_pid != proc_info->tid)
|
||||
+ if (pipewire_pulse_pid != tid)
|
||||
exit(0);
|
||||
|
||||
- pw = getpwuid(proc_info->euid);
|
||||
+ pw = getpwuid(euid);
|
||||
homedir = pw->pw_dir;
|
||||
- snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", proc_info->euid);
|
||||
- setgid(proc_info->egid);
|
||||
- setuid(proc_info->euid);
|
||||
+ snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", euid);
|
||||
+ setgid(egid);
|
||||
+ setuid(euid);
|
||||
clearenv();
|
||||
setenv("HOME", homedir, 1);
|
||||
setenv("XDG_RUNTIME_DIR",xdg_dir, 1);
|
||||
- freeproc(proc_info);
|
||||
-
|
||||
/*
|
||||
* pw-reserve will run in background. It will only exit when
|
||||
* igt_kill_children() is called later on. So, it shouldn't
|
||||
@@ -1570,9 +1687,7 @@ static void pipewire_reserve_wait(void)
|
||||
int pipewire_pulse_start_reserve(void)
|
||||
{
|
||||
bool is_pw_reserve_running = false;
|
||||
- proc_t *proc_info;
|
||||
int attempts = 0;
|
||||
- PROCTAB *proc;
|
||||
|
||||
if (!pipewire_pulse_pid)
|
||||
return 0;
|
||||
@@ -1584,6 +1699,10 @@ int pipewire_pulse_start_reserve(void)
|
||||
* pipewire version 0.3.50 or upper.
|
||||
*/
|
||||
for (attempts = 0; attempts < PIPEWIRE_RESERVE_MAX_TIME; attempts++) {
|
||||
+#ifdef HAVE_LIBPROCPS
|
||||
+ proc_t *proc_info;
|
||||
+ PROCTAB *proc;
|
||||
+
|
||||
usleep(1000);
|
||||
proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG);
|
||||
igt_assert(proc != NULL);
|
||||
@@ -1598,6 +1717,25 @@ int pipewire_pulse_start_reserve(void)
|
||||
freeproc(proc_info);
|
||||
}
|
||||
closeproc(proc);
|
||||
+#endif
|
||||
+#ifdef HAVE_LIBPROC2
|
||||
+ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD };
|
||||
+ struct pids_info *info = NULL;
|
||||
+ struct pids_stack *stack;
|
||||
+
|
||||
+ usleep(1000);
|
||||
+
|
||||
+ if (procps_pids_new(&info, Items, 2) < 0)
|
||||
+ return 1;
|
||||
+ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
|
||||
+ if (!strcmp(PIDS_VAL(1, str, stack, info), "pw-reserve")) {
|
||||
+ is_pw_reserve_running = true;
|
||||
+ pipewire_pw_reserve_pid = PIDS_VAL(0, s_int, stack, info);
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ procps_pids_unref(&info);
|
||||
+#endif
|
||||
if (is_pw_reserve_running)
|
||||
break;
|
||||
}
|
||||
@@ -1645,7 +1783,7 @@ void pipewire_pulse_stop_reserve(void)
|
||||
* If the check fails, it means that the process can simply be killed.
|
||||
*/
|
||||
static int
|
||||
-__igt_lsof_audio_and_kill_proc(proc_t *proc_info, char *proc_path)
|
||||
+__igt_lsof_audio_and_kill_proc(const pid_t tid, const char *cmd, const uid_t euid, const gid_t egid, char *proc_path)
|
||||
{
|
||||
const char *audio_dev = "/dev/snd/";
|
||||
char path[PATH_MAX * 2];
|
||||
@@ -1670,10 +1808,10 @@ __igt_lsof_audio_and_kill_proc(proc_t *p
|
||||
* 2) unload/unbind the the audio driver(s);
|
||||
* 3) stop the pw-reserve thread.
|
||||
*/
|
||||
- if (!strcmp(proc_info->cmd, "pipewire-pulse")) {
|
||||
+ if (!strcmp(cmd, "pipewire-pulse")) {
|
||||
igt_info("process %d (%s) is using audio device. Should be requested to stop using them.\n",
|
||||
- proc_info->tid, proc_info->cmd);
|
||||
- pipewire_pulse_pid = proc_info->tid;
|
||||
+ tid, cmd);
|
||||
+ pipewire_pulse_pid = tid;
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
@@ -1685,9 +1823,9 @@ __igt_lsof_audio_and_kill_proc(proc_t *p
|
||||
* will respawn them. So, just ignore here, they'll honor pw-reserve,
|
||||
* when the time comes.
|
||||
*/
|
||||
- if (!strcmp(proc_info->cmd, "pipewire-media-session"))
|
||||
+ if (!strcmp(cmd, "pipewire-media-session"))
|
||||
return 0;
|
||||
- if (!strcmp(proc_info->cmd, "wireplumber"))
|
||||
+ if (!strcmp(cmd, "wireplumber"))
|
||||
return 0;
|
||||
|
||||
dp = opendir(proc_path);
|
||||
@@ -1723,22 +1861,22 @@ __igt_lsof_audio_and_kill_proc(proc_t *p
|
||||
* enough to unbind audio modules and won't cause race issues
|
||||
* with systemd trying to reload it.
|
||||
*/
|
||||
- if (!strcmp(proc_info->cmd, "pulseaudio")) {
|
||||
- pulseaudio_unload_module(proc_info);
|
||||
+ if (!strcmp(cmd, "pulseaudio")) {
|
||||
+ pulseaudio_unload_module(euid, egid);
|
||||
break;
|
||||
}
|
||||
|
||||
/* For all other processes, just kill them */
|
||||
igt_info("process %d (%s) is using audio device. Should be terminated.\n",
|
||||
- proc_info->tid, proc_info->cmd);
|
||||
+ tid, cmd);
|
||||
|
||||
- if (kill(proc_info->tid, SIGTERM) < 0) {
|
||||
+ if (kill(tid, SIGTERM) < 0) {
|
||||
igt_info("Fail to terminate %s (pid: %d) with SIGTERM\n",
|
||||
- proc_info->cmd, proc_info->tid);
|
||||
- if (kill(proc_info->tid, SIGABRT) < 0) {
|
||||
+ cmd, tid);
|
||||
+ if (kill(tid, SIGABRT) < 0) {
|
||||
fail++;
|
||||
igt_info("Fail to terminate %s (pid: %d) with SIGABRT\n",
|
||||
- proc_info->cmd, proc_info->tid);
|
||||
+ cmd, tid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1760,9 +1898,10 @@ int
|
||||
igt_lsof_kill_audio_processes(void)
|
||||
{
|
||||
char path[PATH_MAX];
|
||||
+ int fail = 0;
|
||||
+#ifdef HAVE_LIBPROCPS
|
||||
proc_t *proc_info;
|
||||
PROCTAB *proc;
|
||||
- int fail = 0;
|
||||
|
||||
proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG);
|
||||
igt_assert(proc != NULL);
|
||||
@@ -1772,12 +1911,35 @@ igt_lsof_kill_audio_processes(void)
|
||||
if (snprintf(path, sizeof(path), "/proc/%d/fd", proc_info->tid) < 1)
|
||||
fail++;
|
||||
else
|
||||
- fail += __igt_lsof_audio_and_kill_proc(proc_info, path);
|
||||
+ fail += __igt_lsof_audio_and_kill_proc(proc_info->pid, proc_info->cmd, proc_info->euid, proc_info->egid, path);
|
||||
|
||||
freeproc(proc_info);
|
||||
}
|
||||
closeproc(proc);
|
||||
+#endif
|
||||
+#ifdef HAVE_LIBPROC2
|
||||
+ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD, PIDS_ID_EUID, PIDS_ID_EGID };
|
||||
+ enum rel_items { EU_PID, EU_CMD, EU_EUID, EU_EGID };
|
||||
+ struct pids_info *info = NULL;
|
||||
+ struct pids_stack *stack;
|
||||
+ pid_t tid;
|
||||
+
|
||||
+ if (procps_pids_new(&info, Items, 4) < 0)
|
||||
+ return 1;
|
||||
+ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
|
||||
+ tid = PIDS_VAL(EU_PID, s_int, stack, info);
|
||||
|
||||
+ if (snprintf(path, sizeof(path), "/proc/%d/fd", tid) < 1)
|
||||
+ fail++;
|
||||
+ else
|
||||
+ fail += __igt_lsof_audio_and_kill_proc(tid,
|
||||
+ PIDS_VAL(EU_CMD, str, stack, info),
|
||||
+ PIDS_VAL(EU_EUID, s_int, stack, info),
|
||||
+ PIDS_VAL(EU_EGID, s_int, stack, info),
|
||||
+ path);
|
||||
+ }
|
||||
+ procps_pids_unref(&info);
|
||||
+#endif
|
||||
return fail;
|
||||
}
|
||||
|
||||
--- a/lib/meson.build
|
||||
+++ b/lib/meson.build
|
||||
@@ -105,7 +105,6 @@ lib_deps = [
|
||||
libdrm,
|
||||
libdw,
|
||||
libkmod,
|
||||
- libprocps,
|
||||
libudev,
|
||||
math,
|
||||
pciaccess,
|
||||
@@ -169,6 +168,12 @@ if chamelium.found()
|
||||
lib_sources += 'monitor_edids/monitor_edids_helper.c'
|
||||
endif
|
||||
|
||||
+if libprocps.found()
|
||||
+ lib_deps += libprocps
|
||||
+else
|
||||
+ lib_deps += libproc2
|
||||
+endif
|
||||
+
|
||||
if get_option('srcdir') != ''
|
||||
srcdir = join_paths(get_option('srcdir'), 'tests')
|
||||
else
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -120,7 +120,15 @@ build_info += 'With libdrm: ' + ','.join
|
||||
|
||||
pciaccess = dependency('pciaccess', version : '>=0.10')
|
||||
libkmod = dependency('libkmod')
|
||||
-libprocps = dependency('libprocps', required : true)
|
||||
+libprocps = dependency('libprocps', required : false)
|
||||
+libproc2 = dependency('libproc2', required : false)
|
||||
+if libprocps.found()
|
||||
+ config.set('HAVE_LIBPROCPS', 1)
|
||||
+elif libproc2.found()
|
||||
+ config.set('HAVE_LIBPROC2', 1)
|
||||
+else
|
||||
+ error('Either libprocps or libproc2 is required')
|
||||
+endif
|
||||
|
||||
libunwind = dependency('libunwind', required : get_option('libunwind'))
|
||||
build_info += 'With libunwind: @0@'.format(libunwind.found())
|
@ -1,3 +1,41 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 5 09:48:04 UTC 2023 - munix9@googlemail.com
|
||||
|
||||
- Update to version 1.28:
|
||||
* New meson options testplan, sphinx and xe_driver.
|
||||
* Add amdgpu GFX1036, GFX1037 chips.
|
||||
* Add xe_pciids.h with Lunar Lake (LNL) support.
|
||||
* Use the new procps library libproc2.
|
||||
* Add helper for srandom seed initialization.
|
||||
* Support for vmwgfx driver.
|
||||
* i915_pciids.h updated to include Pontevecchio (PVC) platform.
|
||||
* Add OAM formats and support for media engines in perf tests.
|
||||
* Support for Xe driver.
|
||||
* igt_runner can now dump GPU state on timeout.
|
||||
* igt_runner will now use proper 'abort' as result instead of pseudoresult.
|
||||
* New vendor agnostic gputop tool.
|
||||
* New tool to dump Intel GuC/HuC CSS header.
|
||||
* Improve tools intel_watermark, intel_vbt_decode, intel_reg.
|
||||
* New way for documenting tests will allow to generate documentation and
|
||||
testlists during build, see README.md and test_documentation.md. This
|
||||
is mandatory for Intel (both i915 and xe) and kms tests.
|
||||
* Move intel specific tests to new directory.
|
||||
* Ported and refactored drmlib security tests in amdgpu.
|
||||
* Switch DRM selftests to KUnit.
|
||||
* Enabled MeteorLake aux ccs tests.
|
||||
* Exercise oversized object detection for Xe.
|
||||
* Enable validation for VDSC output formats.
|
||||
* Add support for Bigjoiner / 8K mode.
|
||||
* Use intel_cmds_info library.
|
||||
* Use Intel kernel gpu command definitions.
|
||||
* Add a basic perf_pmu test.
|
||||
* Add test for V3D's Wait BO IOCTL.
|
||||
* Add i915_power test for power measurement.
|
||||
* Remove sysfs_clients.
|
||||
|
||||
- Remove intel-gpu-tools-libproc2_libproc2_library.patch (fixed upstream)
|
||||
- Remove u_intel-gpu-tools-1.7-fix-bashisms.patch (obsolete)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 20 00:55:37 UTC 2023 - Tejas Guruswamy <tejas.guruswamy@opensuse.org>
|
||||
|
||||
@ -7,7 +45,7 @@ Thu Apr 20 00:55:37 UTC 2023 - Tejas Guruswamy <tejas.guruswamy@opensuse.org>
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 4 04:16:41 UTC 2023 - Tejas Guruswamy <tejas.guruswamy@opensuse.org>
|
||||
|
||||
- Update to version 1.27.1:
|
||||
- Update to version 1.27.1:
|
||||
* Support for Intel discrete graphics and other new platforms (Andrzej
|
||||
Turko, Matt Roper, Clint Taylor, Tejas Upadhyay, et al)
|
||||
* Support for MSM driver. (Mark Yacoub, Rob Clark)
|
||||
|
@ -17,18 +17,16 @@
|
||||
|
||||
|
||||
Name: intel-gpu-tools
|
||||
Version: 1.27.1
|
||||
Version: 1.28
|
||||
Release: 0
|
||||
Summary: Collection of tools for development and testing of the Intel DRM driver
|
||||
License: MIT
|
||||
Group: Development/Tools/Other
|
||||
URL: https://xorg.freedesktop.org/
|
||||
Source0: http://xorg.freedesktop.org/releases/individual/app/igt-gpu-tools-%{version}.tar.xz
|
||||
Source1: http://xorg.freedesktop.org/releases/individual/app/igt-gpu-tools-%{version}.tar.xz.sig
|
||||
Patch0: u_%{name}-1.7-fix-bashisms.patch
|
||||
Patch1: intel-gpu-tools-libproc2_libproc2_library.patch
|
||||
|
||||
Source0: https://xorg.freedesktop.org/releases/individual/app/igt-gpu-tools-%{version}.tar.xz
|
||||
Source1: https://xorg.freedesktop.org/releases/individual/app/igt-gpu-tools-%{version}.tar.xz.sig
|
||||
BuildRequires: bison
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: flex
|
||||
BuildRequires: meson
|
||||
BuildRequires: peg
|
||||
@ -54,6 +52,7 @@ BuildRequires: pkgconfig(xrandr)
|
||||
BuildRequires: pkgconfig(xv)
|
||||
# This was part of the xorg-x11-driver-video package up to version 7.6
|
||||
Conflicts: xorg-x11-driver-video <= 7.6
|
||||
Provides: igt-gpu-tools = %{version}
|
||||
# Intel GPU is only available on x86 and x86-64
|
||||
ExclusiveArch: %{ix86} x86_64
|
||||
|
||||
@ -70,30 +69,37 @@ Requires: %{name} = %{version}
|
||||
Development files and library headers for %{name}
|
||||
|
||||
%prep
|
||||
%setup -q -n igt-gpu-tools-%{version}
|
||||
%patch0
|
||||
#Only works with libproc2, not libprocps, despite description
|
||||
%patch1 -p1
|
||||
%autosetup -n igt-gpu-tools-%{version}
|
||||
|
||||
%build
|
||||
#Tests fail on x86_64 with -z now
|
||||
#https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/102
|
||||
export SUSE_ZNOW=0
|
||||
%meson
|
||||
# Tests fail on x86_64 with -z now
|
||||
# https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/102
|
||||
%meson -Dc_link_args="-z lazy"
|
||||
%meson_build
|
||||
# build documentation
|
||||
ninja -C %{_vpath_builddir} igt-gpu-tools-doc
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
sed -i 's#/usr/bin/env python3#/usr/bin/python3#' %{buildroot}%{_bindir}/code_cov_gather_on_test
|
||||
|
||||
# fix env-script-interpreter
|
||||
sed -i 's#/usr/bin/env python3#/usr/bin/python3#' \
|
||||
%{buildroot}%{_bindir}/{code_cov_gather_on_test,intel-gfx-fw-info}
|
||||
|
||||
%fdupes %{buildroot}%{_libexecdir}
|
||||
|
||||
%check
|
||||
%meson_test
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%if 0%{?suse_version} > 1500
|
||||
%ldconfig_scriptlets
|
||||
%else
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
%endif
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%doc NEWS README.md
|
||||
%license COPYING
|
||||
%{_bindir}/*
|
||||
%{_libexecdir}/igt-gpu-tools/
|
||||
|
@ -1,10 +0,0 @@
|
||||
Index: tools/intel_gpu_abrt
|
||||
===================================================================
|
||||
--- tools/intel_gpu_abrt.orig
|
||||
+++ tools/intel_gpu_abrt
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/sh
|
||||
+#!/bin/bash
|
||||
|
||||
if [ $(id -ru) -ne 0 ]; then
|
||||
echo "$0 must be run as root"
|
Loading…
x
Reference in New Issue
Block a user