Jump to content

VESA BIOS Extensions

(Перенаправлено с VBE )

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

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

В системах EFI 1.x INT 10H и расширения VESA BIOS (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 Extensions (VBE core) 2.0 (November 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 Extensions (VBE core) 3.0 (September 1998)

[ редактировать ]

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

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

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

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

[ редактировать ]

VBE/AF предоставляет низкоуровневый стандартный интерфейс для общих функций ускорения, доступных на большинстве аппаратных средств. Некоторые из функций, определенных в стандарте, — это доступ к аппаратным курсорам, передаче битовых блоков (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. Неохваченные типы устройств:

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

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

[ редактировать ]

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

Канал данных дисплея (DDC)

[ редактировать ]

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

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

[ редактировать ]

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

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

[ редактировать ]

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

Кусочек Значение
0–8 Номера режимов. Если бит 8 равен 1, это режим VBE, определенный VESA.
9-10 Зарезервировано для расширения. Должен быть установлен на 0.
11 Управление частотой обновления Выберите. Если установлено значение 1, используйте заданные пользователем значения CRTC для частоты обновления, в противном случае используйте частоту обновления BIOS по умолчанию.
12–13 Зарезервировано для VBE/AF. Должен быть установлен на 0.
14 Выбор линейного/плоского кадрового буфера. Если установлено значение 1, используется линейный буфер кадров, в противном случае используется групповой буфер кадров.
15 Сохранить выбор памяти дисплея. Если установлено значение 1, сохраните память дисплея, в противном случае очистите память дисплея.

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

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

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

[ редактировать ]

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

Графические режимы 320×200 640×400 640×480 800×600 1024×768 1280×1024
16-цветная палитра 258 (0102ч), 106 (6Ач) 260 (0104ч) 262 (0106ч)
256-цветная палитра 256 (01:00) 257 (0101ч) 259 (0103ч) 261 (0105ч) 263 (0107ч)
15-битный (5:5:5) 269 ​​(010Dh) 272 (01:10ч) 275 (01:13ч) 278 (0116ч) 281 (0119ч)
16-битный (5:6:5) 270 (010Эх) 273 (0111ч) 276 (01:14ч) 279 (0117ч) 282 (011Ач)
24-битный (8:8:8) 271 (010Fh) 274 (01:12ч) 277 (01:15ч) 280 (0118ч) 283 (011Бч)

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

Текстовые режимы Столбцы
Строки 80 132
25 265 (0109ч)
43 266 (010 Ач)
50 267 (010Бч)
60 264 (0108ч) 268 (010Ч)

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

[ редактировать ]

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

Графические режимы 320×200 640×400 640×480 800×500 800×600 896×672 1,024×640 1,024×768 1152 ×720 1280 × 1024 1360 ×768 1440 ×900 1600 × 1200
16-цветная палитра [6] [6] 258 (0102ч),
106 (6 Ач)
260 (0104ч) 262 (0106ч)
256-цветная палитра [6] 256 (01:00) 257 (0101ч) 367 (016Fh) 259 (0103ч) 303 (012Fh) 362 (016 Ач) 261 (0105ч) 357 (0165ч) 263 (0107ч) 352 (0160ч) [7] 284 (011Ч)
15-битный (5:5:5) 269 ​​(010Dh) 289 (0121ч) 272 (01:10ч) 368 (0170ч) 275 (01:13ч) 304 (01:30ч) 363 (016Бч) 278 (0116ч) 358 (0166ч) 281 (0119ч) 353 (0161ч) 285 (011Dh)
16-битный (5:6:5) 270 (010Эх) 290 (0122ч) 273 (0111ч) 369 (0171ч) 276 (01:14ч) 305 (0131ч) 364 (016Ч) 279 (0117ч) 359 (0167ч) 282 (011Ач) 978 (03д2ч) 354 (0162ч) 286 (011Эх)
24-битный (8:8:8) 271 (010Fh) 291 (0123ч) 274 (01:12ч) 370 (0172ч) 277 (01:15ч) 306 (0132ч) 365 (016-й) 280 (0118ч) 360 (0168ч) 283 (011Бч) 355 (0163ч) 287 (011Fh)
32-битный (8:8:8) [8] 292 (0124ч) 297 (0129ч) 371 (0173ч) 302 (012Эх) 307 (0133ч) 366 (016Эх) 312 (01:38ч) 361 (0169ч) 317(013Dh) 980 (03д4ч) 356 (0164ч) 322 (0142ч) [9]

Обнаружение режима

[ редактировать ]

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

  • hwinfo — это инструмент обнаружения оборудования, используемый в SuSE Linux и некоторых других дистрибутивах Linux . [10] Бег hwinfo --framebuffer сообщает графическую информацию, включая режимы VESA, в строке «Режим».
  • mdt — это инструмент для Linux или DOS , который использует функции VESA BIOS для чтения данных монитора. [11]
  • Интерфейс реального режима Linux (LRMI) имеет vbetest программа, которая распечатывает информацию VESA.
  • У SciTech Software было несвязанное vbetest для DOS, выпущенной в 1994 году.
  • Версия GNU GRUB 2 для x86 «ПК» имеет vbeinfo команда для распечатки доступных видеорежимов и vbetest за попытку определенного режима. они используют встроенную таблицу Вместо функции 01h . Для других платформ, включая x86 EFI, они заменяются более общими videoinfo и videotest.

Номера видеорежимов 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 , и вместо этого их реализация является совершенно необязательной для производителей графических адаптеров. Поскольку поставщики могут использовать любые дополнительные значения по своему усмотрению, это означает, что в таблице ниже режимы обозначенный красным цветом (и выраженный в десятичной форме), может применяться не ко всем графическим адаптерам !

320×200 640×400 640×480 800×500 800×600 896×672 1024 ×640 1024 ×768 1152 ×720 1280 ×1,024 1400 ×1,050 1440 ×900 1600 ×1,200 1920 × 1080 1920 × 1200
16 цветов 770 0302ч 772 0304ч 774 0306ч
256 цветов 768 0300ч 769 0301h 879 036 Фч 771 0303h 815 032Фч 874 036 Ач 773 0305ч 869 775 0307ч 835 864 796 893
15-битный (5:5:5) 781 030 дирхамов 801 0321ч 784 0310ч 880 0370ч 787 0313ч 816 0330ч 875 036 Госпожа 790 0316ч 870 793 0319ч 865 797
16-битный (5:6:5) 782 030Эч 802 0322ч 785 0311h 881 0371h 788 0314ч 817 0331ч 876 036Ч 791 0317ч 871 794 031 Ач 837 866 798
24-битный (8:8:8) 783 030Фч 803 0323ч 786 0312ч 882 0372ч 789 0315ч 818 0332ч 877 036 дирхамов 792 0318ч 872 795 031 Госпожа 838 867 799
32-битный (8:8:8) 1 804 809 883 814 819 878 824 873 829 868 834 980
03D4h

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 показывает следующие режимы:

640×400 640×480 720×480 800×500 800×600 896×672 1024 ×640 1024 ×768 1152 ×720 1280 ×1,024 1440 ×900 1600 ×1,200
256 цветовая палитра 256 (01:00) 257 (0101ч) 367 (016Fh) 364 (016Ч) 259 (0103ч) 297 (0129ч) 358 (0166ч) 261 (0105ч) 355 (0163ч) 263 (0107ч) 352 (0160ч) 284 (011Ч)
15-битный (5:5:5) 272 (01:10ч) 275 (01:13ч) 278 (0116ч) 281 (0119ч) 285 (011Dh)
16-битный (5:6:5) 289 (0121ч) 273 (0111ч) 368 (0170ч) 365 (016-й) 276 (01:14ч) 298 (012 Ач) 359 (0167ч) 279 (0117ч) 356 (0164ч) 282 (011Ач) 353 (0161ч) 286 (011Эх)
24-битный (8:8:8) 290 (0122ч) 274 (01:12ч) 369 (0171ч) 366 (016Эх) 277 (01:15ч) 299 (012Бч) 360 (0168ч) 280 (0118ч) 357 (0165ч) 283 (011Бч) 354 (0162ч) 287 (011Fh)

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

[ редактировать ]

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

320x200 640×400 640×480 800×600 1024 ×768 1152 ×864 1280 ×1024 1600 ×1200
4-битная палитра 260

(01:04ч)

262

(01:06ч)

256 цветовая палитра 326

(01:46ч)

256

(01:00)

257

(0101ч)

259

(0103ч)

261

(01:05ч)

328

(01:48ч)

263

(01:07ч)

15-битный (5:5:5) 269

(010дх)

272

(01:10ч)

275

(01:13ч)

278

(01:16ч)

329

(01:49ч)

281

(01:19ч)

16-битный (5:6:5) 270

(010э)

273

(01:11ч)

276

(01:14ч)

279

(01:17ч)

330

(014ah)

282

(011Ах)

24-битный (8:8:8) 271

(010фч)

274

(01:12ч)

277

(01:15ч)

280

(01:18ч)

331

(014бх)

283

(011Бх)

32-битный (x:8:8:8) 320

(01:40ч)

321

(01:41ч)

322

(01:42ч)

323

(01:43ч)

324

(01:44ч)

332

(014ч)

325

(01:45ч)

327

(01:47ч)

См. также

[ редактировать ]
  1. ^ «Что такое efifb? — Документация по ядру Linux» . ядро.орг . Проверено 24 ноября 2020 г.
  2. ^ «Что такое vesafb? — Документация по ядру Linux» . ядро.орг . Проверено 24 ноября 2020 г.
  3. ^ «Стандартное РАСШИРЕНИЕ SUPER VGA BIOS # VS891001 › Gemixtes» . 11 декабря 2013 года. Архивировано из оригинала 11 декабря 2013 года . Проверено 27 декабря 2022 г.
  4. ^ «VBE Версия 1.2» . 22 октября 1991 года. Архивировано из оригинала 14 января 2009 года . Проверено 27 декабря 2022 г.
  5. ^ «Стандарт VBE/Core 2.0» . 11 декабря 2008 г. Архивировано из оригинала 11 декабря 2008 г. Проверено 27 декабря 2022 г.
  6. ^ Перейти обратно: а б с Режимы доступны через традиционный 10-часовой вызов 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. ^ «мдт» . Гитхаб .
  12. ^ См. документацию по ядру в Documentation/svga.txt и Documentation/fb/vesafb.txt .

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

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 67b93a4571c671cf9bfc0556b9862453__1720531800
URL1:https://arc.ask3.ru/arc/aa/67/53/67b93a4571c671cf9bfc0556b9862453.html
Заголовок, (Title) документа по адресу, URL1:
VESA BIOS Extensions - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)