Recientemente, en los foros de Amigans.net, el conocido desarrollador kas1e ha estado compartiendo sus progresos en una misión muy interesante: entender a bajo nivel cómo funcionan los controladores gráficos en el sistema para abrir la puerta a los drivers de NVIDIA en AmigaOS 4.
El objetivo principal de kas1e era descubrir cómo el sistema reconoce las tarjetas gráficas. Al inspeccionar el archivo PCIGraphics.card, se dio cuenta de que este módulo contiene una lista estática (hardcoded) de chips gráficos soportados, donde aparecen nombres clásicos como RadeonHD.chip, 3dfxVoodoo.chip, entre otros. El problema evidente es que cualquier hardware nuevo (como una tarjeta NVIDIA) es invisible para el sistema por defecto, ya que no se encuentra en esa lista.
Para averiguar cómo sortear esta limitación, kas1e desensambló y analizó el funcionamiento del driver moderno de las RadeonRX. Descubrió un método brillante que ahora planea utilizar: El driver de RadeonRX no modifica el archivo original, sino que incluye un módulo residente de arranque en frío (cold-start resident). Este módulo se carga al principio del arranque con una prioridad muy alta, escanea la información de la nueva tarjeta gráfica y, mediante la función SetMethod(), «parchea» en memoria el PCIGraphics.card reemplazando sus funciones internas (FindCard e InitCard). De esta manera, cuando el sistema operativo finalmente intenta inicializar los gráficos, el componente ya ha sido engañado/modificado para reconocer el nuevo hardware perfectamente.

En el mismo hilo, el desarrollador derfs confirmó que está utilizando exactamente el mismo método de «parcheo» para su proyecto de emulación de tarjetas VirtIOGPU, lo que demuestra que esta técnica es el estándar de facto para añadir soporte de hardware moderno en OS4.
Por el momento, solo tiene soporte para una tarjeta NVIDIA AGP muy antigua y básica (Probada en Pegasos 2), llamada NVIDIA GeForce2 MX-400 NV11 de 64 MB. «Lo básico funciona: el logo aparece (modo 640x480x8), el entorno de trabajo se carga en 1920x1080x32, otros modos en todos los 8/16/32 bits funcionan, todas las aplicaciones se pueden ejecutar, las ventanas se pueden mover, etc.» «Sin aceleración 2D, sin composición, sin arrastre de pantalla. gfxbench muestra resultados pésimos en comparación con radeond9250. ¡Pésimos de verdad! Pero al menos lo básico funciona.»
Aunque todavía queda mucho trabajo de desarrollo y optimización por delante para que veamos gráficos de NVIDIA acelerados y estables en AmigaOS 4, haber descifrado cómo inyectar nuevas tarjetas en el sistema base es un primer paso gigantesco.
