科技媒体 Phoronix 对 AMD 的 Linux 内核图形驱动程序代码进行了一些 cloc 统计,尤其是 drivers/gpu/drm/amd/ 模块,这些模块包含了围绕 AMDGPU DRM 驱动程序的现代代码,其中包括 AMDKFD 计算、用于显示的代码、通用头文件等(但不包括 drivers/gpu/drm/radeon/ 中的旧版 "Radeon" 驱动程序)。
据统计,开源 AMD Linux 内核图形驱动程序的代码行数超过 500 万:
当然,大部分是自动生成的头文件,其中很大一部分是 AMD 在每一代/每一个给定区块的新版本中不断引入新的自动生成头文件。这些冗长的头文件已成为 AMD 为其 GPU 创建详尽的公共文档的替代方案。
与此同时,英伟达的开源"Nouveau"驱动程序大约有 20 多万行(2 万多空行、2.4 万行注释和 15.5 万行代码)。英特尔 i915 DRM 内核图形驱动程序通过相同的 cloc 统计,约为 38.1 万行。
上面提到的只是内核图形驱动程序代码,还不包括 Mesa 中用于提供 OpenGL 和 Vulkan 驱动程序支持或其他用户空间组件的所有代码。
截至现在,整个 Linux 内核源代码树大约有 3480 万行,包括文档、各种树内实用程序/工具、其他辅助工具等。