stringtranslate.com

Extensiones de BIOS VESA

VESA BIOS Extensions ( VBE ) es un estándar VESA , actualmente en la versión 3, que define la interfaz que puede utilizar el software para acceder a placas de vídeo compatibles con altas resoluciones y profundidades de bits. Esto se opone a las llamadas BIOS INT 10h "tradicionales" , que están limitadas a resoluciones de 640 × 480 píxeles con una profundidad de 16 colores (4 bits) o menos. VBE está disponible a través del BIOS de la tarjeta de video , que instala durante el arranque algunos vectores de interrupción que apuntan a sí mismo.

La mayoría de las tarjetas más nuevas implementan el estándar VBE 3.0, más capaz. Las versiones anteriores de VBE solo proporcionan una interfaz en modo real , que no se puede utilizar sin una reducción significativa del rendimiento dentro de los sistemas operativos en modo protegido . En consecuencia, el estándar VBE casi nunca se ha utilizado para escribir los controladores de una tarjeta de vídeo; Por lo tanto, cada proveedor ha tenido que inventar un protocolo propietario para comunicarse con su propia tarjeta de video. A pesar de esto, es común que un controlador recurra a la interrupción del modo real para inicializar los modos de pantalla y obtener acceso directo al búfer de marco lineal de una tarjeta , porque de lo contrario estas tareas requerirían manejar muchos cientos de variaciones propietarias que existen de una tarjeta a otra. tarjeta.

En los sistemas EFI 1.x, INT 10H y VESA BIOS Extensions (VBE) se reemplazan por el protocolo EFI UGA. En los sistemas UEFI 2.x ampliamente utilizados , INT 10H y VBE son reemplazados por UEFI GOP . [1] [2]

Estándares

VBE temprano

VBE 1.0 (VS891001) se definió en 1989. [3] VBE 1.1 (VS900602) se definió en 1990. VBE 1.2 (VS911022) se definió en 1991. [4] Estas versiones de VBE requieren el modo real para funcionar.

VBE define varias funciones nuevas llamadas a través de INT 10H . La numeración de funciones comienza con AX=4F00, o (AH=4F, AL=00), para la Función 00h . De 00h a 05h se definieron en VBE 1.0, 06h y 07h en 1.1, y 08h en 1.2.

Extensiones de BIOS VESA (núcleo VBE) 2.0 (noviembre de 1994)

Este estándar proporciona la funcionalidad principal de las extensiones de BIOS VESA. Permite que las aplicaciones determinen las capacidades de la tarjeta gráfica y brinda la posibilidad de configurar los modos de visualización que se encuentran. VBE 2.0 agrega algunas características nuevas por encima del estándar VBE 1.2 anterior, incluido el acceso al framebuffer lineal y el modo bancario protegido . Algunas de las características de VBE Core 2.0 [5] incluyen:

Acceso al framebuffer lineal
Permite el acceso directo al framebuffer en modo protegido como una gran área de memoria en lugar de fragmentos más pequeños menos eficientes.
Banca en modo protegido
Permite el acceso al framebuffer desde el modo protegido sin "pasar" al modo real . Esto se implementa mediante una nueva función 0Ah .
Cambio de página súper VGA
Permite una animación de mayor rendimiento para proporcionar una animación fluida para juegos de computadora y otros programas de gráficos de alto rendimiento.
Pantallas virtuales súper VGA
Permite que el software configure resoluciones de pantalla virtual , mayores que la resolución real mostrada, y desplazarse o desplazarse suavemente por la imagen más grande.
Modos High Color y TrueColor
Modos de gráficos estándar de la industria de 16 y 24 bits para resoluciones desde 320×200 hasta1600 ×1200 .

Extensiones de BIOS VESA (núcleo VBE) 3.0 (septiembre de 1998)

Un superconjunto del estándar VBE 2.0. Este estándar agrega control de frecuencia de actualización , facilidades para gafas estéreo , almacenamiento en búfer múltiple mejorado y otras funciones al estándar VBE 2.0.

Amortiguador triple
Permite que las aplicaciones de alta velocidad realicen almacenamiento en búfer múltiple con menos parpadeo de la pantalla y sin tener que esperar al controlador de gráficos.
Control de frecuencia de actualización mediante tiempos GTF
Esto permite que las aplicaciones y utilidades del sistema operativo cambien la frecuencia de actualización de forma estándar en todos los controladores de gráficos VBE 3.0. Importante para aplicaciones estéreo, ya que cuando el estéreo está habilitado, la frecuencia de actualización efectiva del usuario se reduce a la mitad.
Cambio de página en estéreo
Al ver una aplicación usando gafas estéreo , el software necesita pasar las páginas con el doble de frecuencia de lo normal, porque necesita generar imágenes separadas para cada ojo. Esta nueva característica permite que el software compatible con estéreo se muestre correctamente.
Sincronización estéreo por hardware
Permite que el software estéreo determine si hay un conector para gafas estéreo en la tarjeta gráfica del usuario.

Se agregó un nuevo "Punto de entrada en modo protegido" como alternativa a la Función 0Ah .

Funciones VBE/acelerador (VBE/AF) (agosto de 1996)

VBE/AF proporciona una interfaz estándar de bajo nivel para funciones de aceleración comunes disponibles en la mayoría del hardware. Algunas de las funciones definidas en el estándar son el acceso a cursores de hardware, transferencias de bloques de bits (Bit Blt), sprites fuera de la pantalla , panorámica de hardware, dibujo y otras funciones. Está definido para funcionar en modo protegido de 32 bits. A pesar de la adopción generalizada de VBE Core, muy pocos dispositivos admiten VBE/AF. El proyecto FreeBE/AF implementa controladores VBE/AF de terceros gratuitos para determinadas tarjetas gráficas.

Especificaciones suplementarias

Las especificaciones complementarias proporcionan una interfaz independiente del dispositivo entre el software de la aplicación y el hardware Super VGA. Los números de función los asigna el Comité de estándares de software VESA (SSC).

Extensiones de administración de energía (PM)

DPMS es un estándar de hardware que permite que las tarjetas gráficas se comuniquen con monitores compatibles con DPMS a través de un sistema de señalización especial que se puede utilizar con controladores de gráficos y cables de monitor existentes. Este sistema de señalización permite que la tarjeta gráfica le indique al monitor que entre en varios estados diferentes de administración de energía o ahorro de energía, lo que efectivamente permite que el monitor se apague solo cuando no está en uso.

Extensiones de interfaz de panel plano (FP)

Permite el acceso a funciones especiales en controladores de pantalla plana.

Extensiones de interfaz de audio (AI)

Proporciona estándar para servicios de audio.

Actualmente (versión 1.00), la especificación VBE/AI define tres clases de dispositivos: WAVE, MIDI y VOLUME. Tipos de dispositivos no cubiertos:

control de CD-ROM
que está cubierto por las Extensiones de CD-ROM de Microsoft .
Procesadores de efectos
Esta clase de dispositivo se ampliará en versiones futuras de la especificación VBE/AI.

Extensiones OEM

Proporciona entrada estándar a extensiones específicas del proveedor.

Mostrar canal de datos (DDC)

El Display Data Channel o DDC es una conexión digital entre una pantalla de computadora y un adaptador de gráficos que permite que la pantalla comunique sus especificaciones al adaptador. El estándar fue creado por VESA .

Interfaz de control en serie (SCI)

Proporciona medios independientes del hardware para que el sistema operativo y la aplicación lean y escriban datos a través de la interfaz de control serie I²C .

Números de modo VBE

Aunque el número de modo es un valor de 16 bits, los números de modo VBE opcionales tienen 14 bits de ancho. El BIOS VGA utiliza el bit 15 como indicador para borrar o preservar la memoria de la pantalla. VBE definió los números de modo de la siguiente manera:

A partir de VBE/Core 2.0, VESA ya no define nuevos números de modo VESA y ya no requiere un dispositivo para implementar los números antiguos. Para detectar correctamente la información de un modo de pantalla, utilice la Función 01h - Devolver información del modo VBE .

El modo 81FFh es un modo de vídeo especial diseñado para preservar el contenido actual de la memoria y dar acceso a toda la memoria de vídeo.

Modos definidos por VESA

A partir del estándar VBE 2.0, VESA no definirá nuevos modos y los modos antiguos ya no son obligatorios. El uso de modos definidos debe considerarse obsoleto: las tarjetas de video modernas pueden o no usar estos números de modo (aunque la mayoría lo hace por compatibilidad con versiones anteriores), y el software moderno no debería usarlos. La forma correcta para que el software descubra los modos de visualización disponibles es obtener una lista de modos (usando la "Función 00h - Devolver información del controlador VBE") y luego verificar cada modo (usando la "Función 01h: Devolver información del modo VBE") hasta que encuentre el/los modo/s que requiere. [ cita necesaria ]

Los modos 264–268 son modos de texto. 264 (0108h) es 80 columnas × 60 filas (80×60), 265 (0109h) es 132×25, 266 (010Ah) es 132×43, 267 (010Bh) es 132×50 y 268 (010Ch) es 132× 60.

Otros modos gráficos comúnmente disponibles

La siguiente tabla combina los modos definidos por VESA (los valores indicados en negro) junto con los modos comúnmente utilizados, pero que pueden no funcionar en todas las tarjetas gráficas ya que no están definidos por ningún estándar ( indicados en rojo ).

Detección de modo

Se han escrito algunas herramientas para detectar modos VBE disponibles en un sistema. Generalmente funcionan invocando la Función 01h , que es más confiable que asumir una tabla de modos extendidos, ya que es parte de la autodocumentación del dispositivo.

Números de modo de vídeo de Linux

El kernel de Linux permite al usuario seleccionar el modo VESA en el momento del arranque pasando un código en la memoria al kernel. El cargador de arranque LILO pasa este código basándose en un parámetro "vga" en su archivo de configuración. Toma la forma 'vga=XXX', donde XXX es el valor decimal, o 'vga=0xHHH', donde HHH es el valor hexadecimal. Sin embargo, el parámetro del cargador de arranque 'vga=' no acepta directamente los números de modo de vídeo VESA; más bien, el número del modo de vídeo de Linux es el número VESA más 512 (en el caso de la representación decimal) o más 0x200 (en el caso de la representación hexadecimal). Por ejemplo, el valor VESA definido de 257 (0x101), que representa 640x480 y 256 colores, tiene un valor de modo de vídeo de Linux equivalente de 769 (0x301). [12]

Como se indicó anteriormente, el estándar VESA define un conjunto limitado de modos; en particular, ninguno arriba1280 ×1024 están cubiertos y, en cambio, su implementación es completamente opcional para los fabricantes de adaptadores gráficos. Como los proveedores son libres de utilizar cualquier valor adicional que deseen, esto significa que, en la siguiente tabla, los modos indicados en rojo (y expresados ​​en forma decimal) pueden no aplicarse a todos los adaptadores gráficos .

1: 32 bits es realmente (8:8:8:8), pero el número final de 8 bits es un canal alfa "vacío". Por lo demás, es igual al color de 24 bits. Muchas GPU utilizan el modo de color de 32 bits en lugar del modo de 24 bits simplemente para un acceso más rápido a la memoria de video a través de la alineación de la memoria de 32 bits.

VGA= 864 [ 352 (0160h)] también aparece para seleccionar1280 × 800 (8 bits) para pantallas de varias computadoras portátiles.
VGA= 834 [ 322 (0142h)] es1400 ×1050

Modos disponibles en Parallels

La emulación VESA BIOS en la máquina virtual Parallels tiene un conjunto diferente de modos VESA no estándar. A partir de la compilación 3214, LRMI vbetest revela estos modos:

Ver también

Referencias

  1. ^ "¿Qué es etifb? - La documentación del kernel de Linux". kernel.org . Consultado el 24 de noviembre de 2020 .
  2. ^ "¿Qué es vesafb? - La documentación del kernel de Linux". kernel.org . Consultado el 24 de noviembre de 2020 .
  3. ^ "Extensión de BIOS SUPER VGA Estándar n.º VS891001 ›Gemixtes". 11 de diciembre de 2013. Archivado desde el original el 11 de diciembre de 2013 . Consultado el 27 de diciembre de 2022 .
  4. ^ "VBE versión 1.2". 22 de octubre de 1991. Archivado desde el original el 14 de enero de 2009 . Consultado el 27 de diciembre de 2022 .
  5. ^ "Estándar VBE/Core 2.0". 11 de diciembre de 2008. Archivado desde el original el 11 de diciembre de 2008 . Consultado el 27 de diciembre de 2022 .
  6. ^ Modos abc disponibles a través de la llamada BIOS tradicional de 10 h
  7. ^ 352 (0160h) también aparece para seleccionar1280 × 800 (8 bits) para pantallas de varias computadoras portátiles
  8. ^ En realidad , 32 bits es (8:8:8:8), pero el número final de 8 bits es un canal alfa "vacío". Por lo demás, es igual al color de 24 bits. Muchas GPU utilizan el modo de color de 32 bits en lugar del modo de 24 bits simplemente para un acceso más rápido a la memoria de video a través de la alineación de la memoria de 32 bits .
  9. ^ 322 (0142 h) es 1400 × 1050
  10. ^ Código fuente de hwinfo en GitHub
  11. ^ "mdt". GitHub .
  12. ^ Consulte la documentación del kernel en Documentation/svga.txt y Documentation/fb/vesafb.txt.

Otras lecturas

enlaces externos