IGT GPU Tools 库分析
文章平均质量分 94
IGT GPU 工具库,是跨架构的显卡测试与调试利器。除 Intel 自研测试集,它还适配 AMD、Panfrost(ARM Mali)、MSM(高通 Adreno)等主流 GPU 架构,覆盖功能验证、性能调优、故障定位等核心场景。本专栏将拆解 IGT 的架构设计、跨平台适配逻辑。
DeeplyMind
图形领域、AI领域技术开发者,专注于OpenGL/Vulkan图形渲染和AI计算的GPU驱动、GPU硬件开发技术栈和实践。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
01 - IGT GPU Tools 项目介绍
IGT GPU Tools简介 IGT GPU Tools是Linux内核DRM驱动的底层测试工具集,专注于GPU驱动的开发验证和问题定位。其核心价值在于: 低级测试:直接访问内核接口,覆盖设备初始化、内存管理、显示输出等DRM核心功能 多厂商支持:完整支持Intel i915/Xe,良好支持AMD/NVIDIA/ARM等主流GPU驱动 丰富工具集:包含1000+测试用例、60+命令行工具及性能基准,适用于驱动开发、QA测试和系统集成 独特优势:相比xtest/piglit等工具,IGT构建简单、依赖少,能原创 2026-03-09 14:50:29 · 943 阅读 · 0 评论 -
02 - IGT 项目结构详解
tests/- 了解有哪些测试- 测试框架核心- DRM 设备操作docs/- 官方文档。原创 2026-03-09 14:53:00 · 943 阅读 · 0 评论 -
03 - IGT编译与运行测试
本文介绍了IGT GPU Tools的安装与编译指南。主要内容包括:系统要求(Linux系统、5.0+内核、2GB空间)、依赖安装方法(包管理器自动安装或手动安装)、编译步骤(获取源码、配置构建、编译)、验证安装(运行测试检查输出)以及常见问题解决方案(依赖缺失、权限不足等)。文章还提供了可选系统安装方法和不同场景的构建配置建议,帮助用户顺利完成IGT GPU Tools的安装与测试。原创 2026-03-09 14:55:16 · 922 阅读 · 0 评论 -
04 - IGT测试框架基础
本文介绍了IGT测试框架的核心概念和使用方法。IGT是一套用于DRM驱动测试的C语言库,提供统一测试结构、丰富断言宏和测试管理功能。主要内容包括:1)基本测试结构,如igt_main主入口和igt_subtest子测试;2)核心概念,如igt_fixture测试夹具和igt_describe测试描述;3)断言和验证方法,包括igt_assert、igt_require等;4)日志输出功能;5)动态子测试实现方式。该框架遵循"简洁+强大+可维护"的设计理念,适用于编写规范的DRM驱动测试代原创 2026-03-09 14:56:45 · 948 阅读 · 0 评论 -
05 - IGT运行测试
本文介绍了如何运行和管理IGT(Intel GPU Tools)测试套件,包括基本操作、命令行参数和结果解读。主要内容涵盖:1)单个/批量测试的运行方法,需root权限;2)测试筛选功能,支持子测试列表查看和正则过滤;3)结果状态分类(SUCCESS/FAIL/SKIP等);4)调试日志级别设置;5)动态子测试处理;6)批量运行工具run-tests.sh和igt_runner的使用。文章还详细说明了测试输出的各组成部分含义,帮助开发者快速定位问题。适用于需要验证GPU功能的开发测试场景。原创 2026-03-09 14:58:09 · 786 阅读 · 0 评论 -
06 - lib 库详解
本文介绍了IGT测试框架中的核心库结构和使用方法。主要内容包括: 库组织结构: 采用分层设计,从通用功能到专用功能再到厂商特定功能 核心库位于lib/目录下,提供测试框架基础 核心框架层: igt_core.h/c:提供测试主入口、子测试管理、断言验证等核心功能 igt.h:包含所有常用IGT头文件的总头文件 igt_aux.h/c:提供超时处理、进程管理等辅助功能 DRM/KMS核心层: drmtest.h/c:封装DRM设备操作,包括设备打开关闭和驱动检测 igt_kms.h/c:KMS测试框架,提供显原创 2026-03-13 05:00:00 · 877 阅读 · 0 评论 -
07 - tools 工具集
IGT 工具集提供了 60+ 个 GPU 调试命令行工具,涵盖通用 GPU 监控和 Intel 专用功能。核心工具包括:lsgpu(列出 GPU 设备)、intel_gpu_top(实时监控)、intel_reg(寄存器读写)等,支持显示调试、电源管理、性能分析和固件解码。这些工具可帮助开发者快速定位 GPU 问题,验证硬件状态,进行性能调优和功耗评估,是 GPU 开发和调试的重要助手。原创 2026-03-13 05:00:00 · 934 阅读 · 0 评论 -
08 - DRM 核心测试
本文介绍了Linux内核中DRM(Direct Rendering Manager)子系统的核心测试内容。主要内容包括: DRM子系统概述:介绍DRM作为管理GPU的核心子系统,包含设备管理、认证机制、内存管理和显示管理等核心功能。 测试文件分类:详细列出IGT测试框架中的DRM核心测试文件,包括认证测试(core_auth.c)、客户端测试(core_getclient.c)、版本测试(core_getversion.c)等。 认证测试分析:重点讲解DRM认证机制测试,包括Master进程和非Master原创 2026-03-14 05:00:00 · 991 阅读 · 0 评论 -
09 - KMS 显示测试
本文介绍了KMS(Kernel Mode Setting)显示子系统的核心概念与测试框架。主要内容包括: KMS概述:作为DRM的显示输出子系统,KMS通过内核统一管理显示硬件,解决传统显示方式的多进程协调和闪烁问题。 KMS对象模型:详细解析了Framebuffer、Plane、CRTC、Encoder和Connector等核心组件及其功能,并提供了对象交互的代码示例。 IGT测试框架:介绍了igt_kms库的主要组件和使用流程,包括显示系统抽象和基本测试步骤。 测试分类:列举了IGT中各类KMS测试用例原创 2026-03-14 05:00:00 · 940 阅读 · 0 评论 -
10 - 厂商特定测试
本文介绍了不同GPU厂商在IGT测试框架中的支持情况,重点分析了Intel GPU的测试方法。主要内容包括: 厂商支持概览:Intel(i915/xe驱动)拥有最完整的测试支持(700+测试),AMD(amdgpu)次之(100+),其他厂商如Qualcomm、NVIDIA等支持有限。 Intel GPU测试重点: 核心测试围绕GEM内存管理、执行单元(EU)和电源管理 包含对象创建、命令执行、GPU挂起恢复等关键测试 支持新一代Xe架构的xe驱动正在开发中 典型测试示例: GEM对象创建与内存映射 基本命原创 2026-03-15 05:00:00 · 932 阅读 · 0 评论 -
11 - 编写第一个测试
本文摘要介绍了如何从零开始创建和编写IGT测试文件。主要内容包括:1) 创建测试文件的基本步骤,包括选择目录和新建文件;2) 编写最小测试模板,包含版权声明、头文件、测试描述和主函数;3) 添加子测试的方法,使用igt_main和igt_subtest结构;4) 提供完整示例,展示如何查询和验证DRM设备信息。文章还涵盖了测试准备工作和学习目标,帮助开发者理解测试框架基础并掌握编写、编译和运行测试的全流程。原创 2026-03-20 10:38:55 · 873 阅读 · 0 评论 -
12 - 调试技巧
本文介绍了IGT测试的调试方法,重点讲解了GDB调试、日志系统分析和内核日志查看技巧。主要内容包括: 使用GDB进行源码级调试,设置断点、观察变量和调用栈分析 IGT日志系统的分级输出与环境变量/代码设置方法 通过dmesg查看内核日志,过滤DRM相关错误信息 使用strace跟踪系统调用,分析DRM ioctl操作 Valgrind内存检测工具的使用方法 查看GPU错误状态的特殊方法(Intel/AMD显卡) 这些工具和方法可以帮助开发者快速定位IGT测试中的问题。原创 2026-03-20 15:00:00 · 912 阅读 · 0 评论
分享