Список совместимости/Видеокарты: различия между версиями

Материал из Базы знаний сообщества разработчиков Эльбрус
Перейти к навигации Перейти к поиску
(Заготовка статьи)
 
м (Антон Самсонов переименовал страницу HCL/GPU в Список совместимости/Видеокарты: Канонизация заголовка)
(нет различий)

Версия 11:14, 5 июля 2023

Короткий адрес этой страницы: HCL/GPU
Производители дискретных графических процессоров
Производитель Поддержка в Linux Поддержка в ПНС Поддержка в Lintel
AMD наиболее полная по возможности без ограничений
Nvidia ограниченная по возможности без ограничений
Intel н/д н/д н/д
Производители и модели встраиваемых графических процессоров
Производитель Модель Поддержка в Linux Поддержка в ПНС Поддержка в Lintel
Silicon Motion SM718 да да да
SM750 да да да
SM768 частично да да
Vivante GC2500 частично да да
Vivante GC8400 частично да да
Imagination GX6650 частично да да

Поддержка в Linux

Детальную информацию о поддержке видеокарт в «нативных» операционных системах типа Linux, а также иные подробности, см. по ссылкам выше на названиях производителей. Вкратце, на данный момент в Linux-системах лучше всего поддерживаются видеокарты марки AMD; конкретные поддерживаемые модели графических процессоров зависят от версии ядра Linux и прикладного графического стека Mesa — необходимо сверять версии в используемом дистрибутиве ОС и минимально необходимые для той или иной видеокарты.

Поддержка в ПНС

Поддержка в Программе начального старта осуществляется одним из двух способов:

  • для дискретных видеокарт — исполнением машинного кода x86 из Video BIOS с помощью эмулятора;
  • для встроенной графики — специализированными для конкретной аппаратуры методами, либо на общих основаниях, либо гибридно (например, образ Video BIOS заготовлен в системном ПЗУ, но исполняется в эмуляторе как если бы хранился вместе с GPU).

Поскольку x86-эмулятор в ПНС гораздо более простой, чем в Lintel, он не может гарантировать исполнение произвольного машинного кода, и потому некоторые модели видеокарт, работоспособные из операционной системы, не могут быть инициализированы на этапе начального старта: либо эмуляция зацикливается и принудительно завершается по тайм-ауту, либо имеются другие признаки некорректного завершения работы (неочищенный стек, например), либо формальные симптомы отсутствуют, но фактически ничего не работает и изображения на экране нет.

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

ПНС использует «белые списки» проверенных видеокарт. В некоторых разновидностях ПНС это может быть обобщённое правило «Все GPU марки ATi/AMD считаются потенциально совместимыми», в других случаях список конкретных устройств (VEN_ID:DEV_ID) зашит в исходный текст ПНС и не подлежит изменению пользователем, однако может быть обойдён командой:

set video unsupported номер

вместо обычной команды

set video output номер

Единственное различие между ними, помимо использования или игнорирования «белого списка», в том, что командой set video unsupported 0xfa нельзя выбрать автоматическое использование последнего обнаруженного видеоадаптера при наличии нескольких — надо указывать конкретный номер устройства. Также необходимо иметь в виду, что эта настройка будет сброшена при очистке памяти NVRAM, в том числе при обновлении ПНС; и чтобы по-новой настроить вывод видео через видеокарту не из «белого списка», придётся опять подключать монитор к встроенному графическому адаптеру либо иному поддерживаемому, либо осуществлять настройку через консольный порт RS-232 / UART.

Поддержка в Lintel

Поддержка в Двоичном трансляторе уровне системы (Lintel) относится к этапам BIOS POST и BIOS Setup и осуществляется путём исполнения машинного кода x86 из Video BIOS, точно так же как из других блоков PCI Option ROM карт расширения.

После запуска гостевой операционной системы, такой как Windows или x86 Linux, используются собственные драйверы той операционной системы. Соответственно, качество поддержки оборудования в x86-системах зависит от их собственных драйверов и не зависит от Lintel.