stringtranslate.com

Расширения VESA BIOS

VESA BIOS Extensions ( VBE ) — это стандарт VESA , в настоящее время версии 3, который определяет интерфейс, который может использоваться программным обеспечением для доступа к совместимым видеоплатам с высоким разрешением и глубиной цвета. Это противоречит «традиционным» вызовам INT 10h BIOS , которые ограничены разрешением 640×480 пикселей с глубиной цвета 16 цветов (4 бита) или меньше. VBE доступен через BIOS видеокарты , который устанавливает некоторые векторы прерываний , указывающие на себя во время загрузки .

Большинство новых карт реализуют более эффективный стандарт VBE 3.0. Более старые версии VBE предоставляют только интерфейс реального режима , который не может быть использован без существенного снижения производительности в операционных системах защищенного режима . Следовательно, стандарт VBE почти никогда не использовался для написания драйверов видеокарт; поэтому каждому производителю приходилось изобретать собственный протокол для связи со своей собственной видеокартой. Несмотря на это, драйвер часто обращается к прерыванию реального режима, чтобы инициализировать режимы экрана и получить прямой доступ к линейному буферу кадров карты , поскольку в противном случае эти задачи потребовали бы обработки многих сотен собственных вариаций, которые существуют от карты к карте.

В системах EFI 1.x INT 10H и VESA BIOS Extensions (VBE) заменены протоколом EFI UGA. В широко используемых системах UEFI 2.x INT 10H и VBE заменены UEFI GOP . [1] [2]

Стандарты

Ранний VBE

VBE 1.0 (VS891001) был определен в 1989 году. [3] VBE 1.1 (VS900602) был определен в 1990 году. VBE 1.2 (VS911022) был определен в 1991 году. [4] Для работы этих версий VBE требуется реальный режим.

VBE определяет несколько новых функций, вызываемых через INT 10H . Нумерация функций начинается с AX=4F00 или (AH=4F, AL=00) для функции 00h . 00h по 05h были определены в VBE 1.0, 06h и 07h в 1.1 и 08h в 1.2.

Расширения VESA BIOS (ядро VBE) 2.0 (ноябрь 1994 г.)

Этот стандарт обеспечивает основную функциональность расширений VESA BIOS. Он позволяет приложениям определять возможности графической карты и обеспечивает возможность устанавливать найденные режимы отображения. VBE 2.0 добавляет некоторые новые функции по сравнению с предыдущим стандартом VBE 1.2, включая линейный доступ к буферу кадров и защищенный режим банкинга. Некоторые из функций VBE Core 2.0 [5] включают:

Линейный доступ к буферу кадров
Обеспечивает прямой доступ к буферу кадра в защищенном режиме как к одной большой области памяти вместо менее эффективных меньших фрагментов.
Защищенный режим банковских операций
Позволяет получить доступ к буферу кадра из защищенного режима без "перехода" в реальный режим . Это реализовано с помощью новой функции 0Ah .
Перелистывание страниц Super VGA
Позволяет повысить производительность анимации, обеспечивая плавную анимацию для компьютерных игр и других высокопроизводительных графических программ.
Виртуальные экраны Super VGA
Позволяет программному обеспечению настраивать виртуальные разрешения дисплея , превышающие фактическое отображаемое разрешение, а также плавно прокручивать или панорамировать большее изображение.
Режимы High Color и TrueColor
Стандартные 16- и 24-битные графические режимы для разрешений от 320×200 до1600 ×1200 .

Расширения VESA BIOS (ядро VBE) 3.0 (сентябрь 1998 г.)

Расширение стандарта VBE 2.0. Этот стандарт добавляет управление частотой обновления , возможности для стереоочков , улучшенную многобуферизацию и другие функции к стандарту VBE 2.0.

Тройная буферизация
Позволяет высокоскоростным приложениям выполнять многобуферизацию с меньшим мерцанием экрана и без необходимости ожидания графического контроллера.
Управление частотой обновления с использованием таймингов GTF
Это позволяет приложениям и утилитам операционной системы изменять частоту обновления стандартным способом на всех графических контроллерах VBE 3.0. Важно для стереоприложений, поскольку при включении стерео эффективная частота обновления пользователя сокращается вдвое.
Стерео перелистывание страниц
При просмотре приложения с использованием стереоочков программному обеспечению приходится перелистывать страницы в два раза чаще обычного, поскольку ему необходимо генерировать отдельные изображения для каждого глаза. Эта новая функция позволяет программному обеспечению, совместимому со стерео, правильно отображать данные.
Аппаратная стереосинхронизация
Позволяет программному обеспечению стерео определять, имеется ли на видеокарте пользователя разъем для стереоочков.

В качестве альтернативы функции 0Ah была добавлена ​​новая «Точка входа в защищенный режим» .

VBE/ускорительные функции (VBE/AF) (август 1996 г.)

VBE/AF предоставляет низкоуровневый стандартный интерфейс для общих функций ускорения, доступных на большинстве аппаратных средств. Некоторые из функций, определенных в стандарте, включают доступ к аппаратным курсорам, Bit Block Transfers (Bit Blt), внеэкранные спрайты , аппаратное панорамирование, рисование и другие функции. Он определен для работы в 32-битном защищенном режиме. Несмотря на широкое распространение VBE Core, очень немногие устройства поддерживают VBE/AF. Проект FreeBE/AF реализует бесплатные сторонние драйверы VBE/AF для определенных видеокарт.

Дополнительные характеристики

Дополнительные спецификации обеспечивают независимый от устройства интерфейс между прикладным программным обеспечением и оборудованием Super VGA. Номера функций назначаются Комитетом по стандартам программного обеспечения VESA (SSC).

Расширения управления питанием (PM)

DPMS — это аппаратный стандарт, позволяющий графическим картам взаимодействовать с мониторами, совместимыми с DPMS , посредством специальной системы сигнализации, которая может использоваться с существующими графическими контроллерами и кабелями мониторов. Эта система сигнализации позволяет графической карте сообщать монитору о необходимости перехода в ряд различных состояний управления питанием или энергосбережения, которые фактически позволяют монитору выключаться, когда он не используется.

Расширения интерфейса плоской панели (FP)

Обеспечивает доступ к специальным функциям контроллеров с плоским экраном.

Расширения аудиоинтерфейса (AI)

Предоставляет стандартные аудиоуслуги.

В настоящее время (версия 1.00) спецификация VBE/AI определяет три класса устройств: WAVE, MIDI и VOLUME. Типы устройств, не охваченные:

управление CD-ROM
который охвачен расширениями CD-ROM от Microsoft .
Процессоры эффектов
Этот класс устройств будет расширен в будущей версии спецификации VBE/AI.

OEM-расширения

Предоставляет стандартный доступ к расширениям, специфичным для поставщика.

Канал отображения данных (DDC)

Display Data Channel или DDC — это цифровое соединение между дисплеем компьютера и графическим адаптером , позволяющее дисплею передавать свои характеристики адаптеру. Стандарт был создан VESA .

Последовательный интерфейс управления (SCI)

Предоставляет аппаратно-независимые средства для операционной системы и приложения для чтения и записи данных через последовательный интерфейс управления I²C .

Номера режимов VBE

Хотя номер режима — это 16-битное значение, необязательные номера режимов VBE имеют ширину 14 бит. Бит 15 используется VGA BIOS как флаг для очистки или сохранения памяти дисплея. VBE определил номера режимов следующим образом:

Начиная с VBE/Core 2.0, VESA больше не определяет новые номера режимов VESA и больше не требует устройства для реализации старых номеров. Для правильного определения информации о режиме экрана используйте функцию 01h - Return VBE Mode Information .

Режим 81FFh — это специальный видеорежим, предназначенный для сохранения текущего содержимого памяти и предоставления доступа ко всей видеопамяти.

Режимы, определенные VESA

Начиная со стандарта VBE 2.0, VESA не будет определять новые режимы, а старые режимы больше не являются обязательными. Использование определенных режимов следует считать устаревшим: современные видеокарты могут использовать или не использовать эти номера режимов (хотя большинство используют их для обратной совместимости), а современное программное обеспечение не должно их использовать. Правильный способ обнаружения программным обеспечением доступных режимов отображения — получить список режимов (используя «Function 00h — Return VBE Controller Information»), а затем проверить каждый режим (используя «Function 01h: Return VBE Mode Information»), пока не найдет требуемый режим/ы. [ необходима цитата ]

Режимы 264–268 являются текстовыми режимами. 264 (0108h) — 80 столбцов × 60 строк (80×60), 265 (0109h) — 132×25, 266 (010Ah) — 132×43, 267 (010Bh) — 132×50 и 268 (010Ch) — 132×60.

Другие общедоступные графические режимы

В таблице ниже объединены режимы, определенные VESA (значения, обозначенные черным цветом), а также обычно используемые режимы, которые, однако, могут работать не на всех видеокартах, поскольку они не определены ни одним стандартом ( обозначены красным цветом ).

Режим обнаружения

Было написано несколько инструментов для обнаружения режимов VBE, доступных в системе. Они обычно работают, вызывая функцию 01h , что надежнее, чем предполагать таблицу расширенных режимов, поскольку она является частью самодокументирования устройства.

Номера видеорежимов Linux

Ядро Linux позволяет пользователю выбирать режим VESA во время загрузки, передавая код в памяти ядру. Загрузчик LILO передает этот код на основе параметра "vga" в своем конфигурационном файле. Он принимает форму "vga=XXX", где XXX - десятичное значение, или "vga=0xHHH", где HHH - шестнадцатеричное значение. Однако параметр загрузчика "vga=" напрямую не принимает номера видеорежима VESA; вместо этого номер видеорежима Linux - это номер VESA плюс 512 (в случае десятичного представления) или плюс 0x200 (в случае шестнадцатеричного представления). Например, определенное значение VESA 257 (0x101), представляющее 640x480 и 256 цветов, имеет эквивалентное значение видеорежима Linux 769 (0x301). [12]

Как указывалось ранее, стандарт VESA определяет ограниченный набор режимов; в частности, ни один из перечисленных выше1280 ×1024 охвачены, и вместо этого их реализация является полностью необязательной для производителей графических адаптеров. Поскольку поставщики вольны использовать любые дополнительные значения, которые им заблагорассудится, это означает, что в таблице ниже режимы, обозначенные красным (и выраженные в десятичной форме), могут не применяться к каждому графическому адаптеру !

1: 32-бит на самом деле (8:8:8:8), но последнее 8-битное число — это «пустой» альфа-канал. В остальном это эквивалентно 24-битному цвету. Многие графические процессоры используют 32-битный цветовой режим вместо 24-битного просто для более быстрого доступа к видеопамяти через 32-битное выравнивание памяти.

VGA= 864 [ 352 (0160h)] также, кажется, выбирает1280 × 800 (8 бит) для различных дисплеев ноутбуков.
VGA= 834 [ 322 (0142h)] - это1400 ×1050

Режимы, доступные в Parallels

Эмуляция VESA BIOS в виртуальной машине Parallels имеет другой набор нестандартных режимов VESA. Начиная с версии 3214, LRMI vbetest раскрывает следующие режимы:

Режимы, доступные в VirtualBox

Эмуляция VESA BIOS в виртуальной машине VirtualBox имеет другой набор нестандартных режимов VESA. Начиная с версии 6.1.38_Ubuntu build r153438, функция VESA BIOS AX=0x4F01 раскрывает эти режимы (см. также VBETables-gen.c):

Смотрите также

Ссылки

  1. ^ "Что такое efifb? — Документация ядра Linux". kernel.org . Получено 24 ноября 2020 г. .
  2. ^ "Что такое vesafb? — Документация ядра Linux". kernel.org . Получено 24 ноября 2020 г. .
  3. ^ "SUPER VGA BIOS EXTENSION Standard # VS891001 › Gemixtes". 11 декабря 2013 г. Архивировано из оригинала 11 декабря 2013 г. Получено 27 декабря 2022 г.
  4. ^ "VBE Version 1.2". 22 октября 1991 г. Архивировано из оригинала 14 января 2009 г. Получено 27 декабря 2022 г.
  5. ^ "VBE/Core 2.0 Standard". 11 декабря 2008 г. Архивировано из оригинала 11 декабря 2008 г. Получено 27 декабря 2022 г.
  6. ^ abc Режимы, доступные через традиционный вызов 10h BIOS
  7. ^ 352 (0160h) также, по-видимому, выбирает1280 × 800 (8 бит) для различных дисплеев ноутбуков
  8. ^ 32-бит на самом деле (8:8:8:8), но конечное 8-битное число — это «пустой» альфа-канал. В остальном это эквивалентно 24-битному цвету. Многие графические процессоры используют 32-битный цветовой режим вместо 24-битного просто для более быстрого доступа к видеопамяти через 32-битное выравнивание памяти .
  9. ^ 322 (0142h) — это 1400×1050
  10. ^ Исходный код hwinfo на GitHub
  11. ^ "mdt". GitHub .
  12. ^ См. документацию ядра в Documentation/svga.txt и Documentation/fb/vesafb.txt.

Дальнейшее чтение

Внешние ссылки