
Dado un Live CD de Linux en un entorno donde se supone que hay suficiente RAM disponible, ¿qué configuración maximiza la compatibilidad del sistema X Window?
Tengo un Live CD de Linux basado en SliTaz 4, y necesito darle la máxima prioridad, por encima de cualquier otra cosa, que siempre arranque en un entorno X11. Así que estoy buscando una configuración de Xorg que sea compatible con casi cualquier tarjeta gráfica o chipset de gráficos integrados lanzado en los últimos 10 años. No me importa si sacrifica el rendimiento, desactiva la aceleración de hardware o está limitado a una determinada resolución; todo lo que quiero es garantizar que se cargará en (prácticamente) cualquier PC en cualquier lugar.
¿Qué configuración de Xorg debería tener, qué módulos necesito compilar/instalar, etc., etc. para lograr esto? Preferiblemente sin tener que recompilar el kernel con ciertas extensiones o módulos vinculados estáticamente.
Respuesta1
Después de semanas de investigación, desarrollo y pruebas de campo, la conclusión es que Xorg simplemente no tiene modos, controladores o configuraciones 100% compatibles. El controlador Vesa de Xorg funciona un poco, pero está muy lejos de ser un ajuste garantizado (~70% de tasa de éxito en todos los ámbitos sin ninguna configuración).
Xorg tiene un controlador basado en framebuffer, Xfbdev, que se garantiza que casi siempre funciona (~95-99% del tiempo), pero proporciona un rendimiento terrible y básicamente está poco desarrollado, poco documentado, poco investigado y, en general, no se utiliza. Debe utilizar un framebuffer configurado en el momento del arranque, lo que significa que la resolución es fija y no se puede cambiar una vez que se inicia Linux. Dado queno existe una forma compatible de desactivar el escalado de salida, esto significa que la pantalla se ampliará para al menos un porcentaje de usuarios a una relación de aspecto incorrecta y casi siempre nunca coincidirá con la resolución de pantalla nativa correcta.
Xvesa, aunque ya no se desarrolla ni se mantiene (¡qué vergüenza, qué vergüenza!), es la mejor solución. Está 100% garantizado que mostrará su interfaz de usuario, ya que capturará cualquier configuración o truco del BIOS, por lo que si puede ver la pantalla de presentación del BIOS, podrá ver una pantalla Xvesa. Tiene detección automática de resolución (rota, poco confiable), pero la verdadera joya es que la resolución se puede cambiar después de iniciar Linux (y también después de iniciar Xvesa). Existen diferentes trucos posibles para detectar la resolución nativa que pueden mostrar la resolución nativa. Descubrí que analizar el resultado de --display-modes
en realidad es una solución bastante buena, quizás el 95% de las veces, aunque no entiendo por qué la detección automática falla en el 100% de los casos de prueba que ejecuté, dado que el --display-modes
resultado es realmente correcto.
Al final del día, lo más cerca que estuvo Linux de un entorno X con configuración de pantalla autoconfigurable fue Xvesa y X11, con cualquiera de sus controladores, no se acerca. Obviamente, X11 ofrece muchas características y ventajas sobre Xvesa, sin embargo, para muchas personas (especialmente empresas que fabrican CD en vivo) estas características son inútiles si, en un entorno de arranque predeterminado, llevan al usuario a una consola la mitad del tiempo.