Weekly Status Report: igt-gpu-tools

From: Jake Freeland <jake_at_technologyfriends.net>
Date: Sat, 25 Jun 2022 03:17:20 UTC
Engineer a Feature Complete Port of Intel's igt-gpu-tools for FreeBSD

A quick introduction:
Intel’s igt-gpu-tools serves as a generic testing suite for drm drivers on
Linux.
The igt-gpu-tools suite is separated into tests and tools that target kms,
memory
management, and command submission. This low-level reporting allows for
transparent tracking of kernel changes and efficient debugging of modern drm
drivers.

Progress:
Over the last week I've nearly gotten igt-gpu-tools to compile by including
C preprocessor macros that check if __linux__ is defined. Since I am
compiling
on FreeBSD, __linux__ has no value and therefore the nested code is
disregarded.
This approach is certainly not perfect, but it is also temporary.

I am ~95% of the way through compilation with a few difficult errors to
sort out.
Once the program compiles successfully, I plan on rewriting POSIX compliant
versions of the Linux-specific code that I ignored with the __linux__ macro.
I will prioritize certain features and start the rewriting process. Some
notable
FreeBSD absentees are debugfs, libkmod, libprocps, Linux performance events,
and Linux userfaultfd.

Once the FreeBSD compatible code is complete, I plan to test the modified
igt tests using a host of graphics processors on FreeBSD 14.0-CURRENT.

Thank you,
Jake Freeland