Controlador experimental Linux DRM/KMS para tarjeta SM750G10 HDMI

Fuentes: Experimental Linux DRM/KMS Driver for SM750G10 HDMI Card

Este documento describe el controlador experimental Linux DRM/KMS, sm750hdmifb, diseñado específicamente para la tarjeta gráfica PCIe SM750G10 SE-DP750A-HDMI. El objetivo del controlador es desbloquear capacidades avanzadas de visualización y optimizar el rendimiento de este hardware particular, llevándolo más allá de sus especificaciones estándar. Permite una salida real de 2048 píxeles de ancho y modos ultraanchos escalados por software, como 2464x1080 y 2560x1080, que se logran comprimiendo una señal de 2048 píxeles y utilizando la función de estiramiento del monitor.

El controlador sm750hdmifb implementa varias características clave para mejorar el rendimiento a través del enlace PCIe 1.1 x1 de la tarjeta. Por defecto, utiliza un escaneo RGB565 de 16 bits con dithering y una corrección del canal verde del 94%. Este enfoque reduce a la mitad el tráfico de píxeles en comparación con XRGB8888 de 32 bits, manteniendo el detalle de color aparente y evitando el retraso en resoluciones más altas. También emplea DMA para cargas eficientes de lotes de ocho filas, con un respaldo seguro a cargas de CPU si el DMA falla. El soporte de cursor por hardware y la coalescencia de actualizaciones contribuyen aún más a un rendimiento de pantalla más fluido.

Los usuarios pueden instalar el controlador como un paquete DKMS en Ubuntu 24.04 y Linux Mint 22, requiriendo kernels de Linux 6.17 o posteriores. El proyecto rechaza explícitamente kernels más antiguos debido a interfaces DRM no compatibles. Aunque el controlador soporta modos EDID estándar, también permite a los usuarios anular las restricciones EDID para habilitar modos experimentales que pueden exceder los límites de reloj publicados de la GPU o el monitor. Estos modos no EDID conllevan el riesgo de no señal, distorsión o visualización inestable, lo que hace necesaria una ruta de recuperación como SSH.

Las opciones de configuración están disponibles a través de parámetros del kernel o GRUB, permitiendo a los usuarios ajustar configuraciones como el formato de escaneo (RGB565 con dithering, RGB565 simple o XRGB8888), el uso de DMA, el cursor por hardware y la activación del modo ultraancho. Los modos ultraanchos escalados por software requieren un monitor ultraancho físico de 2560x1080 con la opción de estiramiento de pantalla completa habilitada. El controlador también ofrece un filtro de nitidez opcional para estos modos comprimidos. Este proyecto proporciona una solución robusta para usuarios que buscan maximizar el potencial de visualización de su tarjeta SM750G10 SE-DP750A-HDMI específica en sistemas Linux modernos.