As We Prepare For 2022, Linux Still Doesn't Have Standardized Per-Client GPU Stats Reporting
While it started out as an Intel driver effort and fitting the needs of their "intel_gpu_top" utility for exposing to users various per-process GPU metrics, it was later expanded to become a DRM driver standard so it could be supported by other Direct Rendering Manager drivers like AMDGPU. In turn this would ease the burden on user-space software wanting to make use of this information like GNOME/KDE System Monitor or other software that may want insights into per-process GPU usage whether it be for 3D, media engines, etc.
Sent out last week was the latest revision of the per-client GPU stats patches. The revised patches have been re-based against the latest code and consists of the DRM documentation defining this standardized sysfs-based interface and the Intel graphics driver implementation.
An earlier text-user interface example of the Intel GPU Top reporting adapted to provide per-process GPU insights using this interface.
Earlier versions of the patches also contained an experimental AMDGPU implementation to adapt their reporting to comply with this interface. Sadly, that work has been dropped for the time being as like with the patch series at large there doesn't seem to be much pressing motivation to get the work mainlined. The update notes, "Dropped amdgpu conversion from the series for now until AMD folks can find some time to finish that patch."
Hopefully in 2022 we can find this work finally mainlined and supported across the prominent DRM kernel graphics drivers. Microsoft has only been reporting basic GPU usage reporting on a per-process basis for a few years with Windows 10 in their Task Manager...