Comparto con ustedes un pequeño hallazgo incidental, mientras redactaba un documento acerca del manejo de MTRR con Fedora 10 en la Acer Aspire One A150.
El microprocesador de la Acer Aspire One A150 proporciona ocho registros de tipo y rango de memoria (Memory Type and Range Register). Lamentablemente el BIOS, aún actualizado, configura los ocho registros utilizando todos los disponibles. Esto deja a X sin uno, y aunque de cualquier forma funcionará, carecerá de un MTRR con una consecuente lentitud de X y 3D. Las funciones están presentes en el núcleo 2.6.27, pero nunca realizan la limpieza de los MTRR. La solución a este problema es utilizar núcleo 2.6.28 o posterior y añadir enable_mtrr_cleanup a los parámetros de arranque del núcleo.
Como mucha gente prefiere otros métodos a compilar el núcleo, hice un guión para corregir manualmente los MTRR en Fedora 10, con lo cual hubo una poca mejoría en el desempeño 3D. No se me había ocurrido aplicar el mismo método a CentOS 5.3, sino hasta esta mañana.
En CentOS 5.3 actualizado y con compiz habilitado, glxgears reportaba un promedio de 430 FPS. Luego de aplicar el guión y reiniciar X, glxgears reportaba 525 FPS. En Fedora 10 actualizado y con compiz habilitado, antes de el ajuste glxgears reportaba un promedio de 290 FPS, después del ajuste glxgears reportó un promedio de 350 FPS. Si, con la Acer Aspire One A150, todo indica que CentOS 5.3 tiene mejor desempeño para 3D que Fedora 10 (y 11).
Las diferencias: CentOS 5.3 utiliza xorg-x11-drv-i810-1.6.5 y xorg-x11-server-Xorg-1.1.1. Fedora utiliza xorg-x11-drv-i810-2.5.0 y xorg-x11-server-Xorg-1.5.3.
Lo anterior evidencia que hay un serio problema en las versiones recientes del controlador de Intel, que por cierto en su más reciente versión en Fedora 11 y Ubuntu 9.04 tuvo una regresión de desempeño (promedio de 95 FPS con Fedora 11 Preview y valores similares en Ubuntu 9.04).