El controlador gráfico de AMD representa más del 10% del código de Linux
Hace un par de días que se lanzó Linux 5.9, una nueva versión del kernel que, como de costumbre, llegó repleta de novedades. Y, como de costumbre, nuestra cobertura se enfocó solo en lo más señalado, que ya suele ser bastante y, sobre todo, en lo que toca directo con el escritorio Linux, que es de lo que va este sitio en su mayor parte.
Así las cosas, uno de los aspectos a los que más atención prestamos con cada lanzamiento de Linux es el soporte de gráficos, área en la que AMD destaca desde hace unos años por el buen trabajo que realizan con el desarrollo del controlador, integrado en el kernel como AMDGPU. No hay una versión de Linux sin novedades de AMDGPU, a decir verdad, y la última no fue una excepción.
Pues bien. Un día antes del lanzamiento de Linux 5.9 en Phoronix le echaron un vistazo al código fuente al completo y es curioso cómo crece el ‘bicho’: de un total de unas 27,81 millones de líneas de código, 20,49 millones es lo que ocupa el código efectivo, 3,58 millones son comentarios y 3,72 líneas en blanco. Más curioso, sin embargo, es cómo crece AMDGPU.
De acuerdo a lo publicado en Phoronix, datos que no son escrupulosamente absolutos, pero que sí se acercan bastante como para hacerse una idea de la composición del kernel, solo el controlador de AMDGPU y los componentes relacionados a este (excluyendo Mesa) suponen más del 10% del código total mencionado. Un 10,5% para ser más exactos. Una brutalidad que tiene truco, claro.
Según esta información, AMDGPU está compuesto de más de 2,71 millones de líneas de código en Linux 5.9, sin contar 247.000 líneas que son comentarios y 109.000 líneas en blanco. Para verlo en perspectiva, el controlador de Intel «i915» que abarca desde ese modelo hasta los últimos Tiger Lake con gráficas integradas Xe que aún están por salir al mercado, apenas consta de 209.000 líneas de código, incluyendo 39.200 líneas de comentarios y 48.000 líneas en blanco.
¿Cuál es el truco? Que gran parte del código fuente del controlador AMDGPU se debe a encabezados generados automáticamente: en concreto, 1,79 millones de líneas de código de AMDGPU son encabezados, por lo que únicamente 366.000 líneas, de los 2,71 millones, son código real en C. Pero el monto es el monto, y AMDGPU se hace notar en el kernel Linux como no era de esperar hace tan solo cuatro o cinco años atrás.