Linux tiene problemas de «stuttering» sobre AMD y con fTPM activado
Aunque desde Linux se están haciendo esfuerzos por mejorar el soporte para las placas base modernas y aprovechar sus características, no es menos cierto que dicha empresa ha supuesto, a veces, un reto difícil. El último episodio consiste en problemas de stuttering provocados por el módulo fTPM en las plataformas de AMD que lo tienen.
Siendo más concretos, los problemas de stuttering hallados cuando se usa Linux sobre un procesador de AMD provienen del generador de números aleatorios del módulo fTPM. Lejos de ser algo que solo afecta al conocido núcleo de código abierto, también impactó a Windows tiempo atrás con unos resultados similares. En el sistema de Microsoft aquello fue aparentemente resuelto hace tiempo, pero en Linux toca, al menos de momento, tomar una medida temporal un tanto drástica.
Profundizando un poco en los detalles, en un principio se publicó un parche para Linux 6.3 que fue portado hacia atrás para llegar a todas las versiones que todavía están oficialmente soportadas. Sin embargo, algunos usuarios comentaron que los problemas de stuttering todavía persistían tras aplicar el parche y hasta apareció un nuevo reporte que describía su aparición después de actualizar el firmware sobre Rembrandt, serie de procesadores Ryzen que desde entonces se ha sumado a las afectadas.
Debido a que los problemas de stuttering en Linux sobre una plataforma de AMD con fTPM persistían, el mismísimo Linus Torvalds, creador del kernel, ha recomendado desactivar el módulo a través de la configuración de la placa base. Sus palabras textuales han sido “simplemente desactive el estúpido fTPM hwrnd” (hwrnd hace referencia al generador de números aleatorios en formato hardware).
La inhabilitación de fTPM es una medida un tanto drástica, pero los encargados de Linux parece que van a necesitar un tiempo para hallar una solución definitiva. El “padre de la criatura” continuó su mensaje diciendo que tal vez puedan usar fTPM “para el tiempo de arranque con el fin de ‘reunir entropía de diferentes fuentes’, pero claramente no debe usarse en tiempo de ejecución.”
“¿Por qué alguien usaría esa basura cuando cualquier máquina que supuestamente la tiene arreglada (lo que aparentemente no resultó ser cierto después de todo) también tendría la instrucción de CPU rdrand que no tiene el problema?”. Aquí Torvalds señala el hecho de que el procesador tiene la capacidad de generar números aleatorios. Si bien este soporte tampoco ha estado libre de problemas, desde su punto de vista es menos malo que lo ofrecido por el módulo fTPM.
En otro mensaje publicado en las listas de correo de Linux, Torvalds ha planteado la posibilidad inverosímil de que el origen podría no estar en el generador de números aleatorios de fTPM, sino en el microcódigo del procesador, aunque recalca que los problemas originales sí parecían provenir del BIOS. Otra cosa señalada por el ingeniero finés es que las personas que se encargan del desarrollo de implementaciones de BIOS no es famosa precisamente “por su código escalable, que es completamente paralelo”.
Que Linus Torvalds tienda a ser bastante deslenguado no es ninguna novedad para quienes lo conozcan, incluso simplemente como figura pública y sin haber interactuado con él en la vida, y eso que se contiene un poco desde hace unos años.
Volviendo al tema que nos ocupa en esta entrada, parece que los problemas de stuttering en las plataformas AMD con el módulo fTPM activado van a traer de cabeza a los desarrolladores de Linux, y a saber si al final la solución va a tener que venir desde su frente o de otro viendo las dudas que hay en torno a este asunto.