4

Прошивка UEFI поддерживает графические протоколы GOP или UGA. Республиканская партия является более новой и заменила UGA. На моей машине, которая не имеет встроенного графического адаптера (только дискретный графический адаптер NVIDIA GTX 965m), я обнаружил, что при загрузочной установке установочного компакт-диска Linux нет модуля ядра, управляющего моей видеокартой (я проверил журналы lspci и X),

Проведя некоторое исследование UEFI, я обнаружил эти 2 вида графических протоколов, и мне было интересно, есть ли способ (запрос командной строки), чтобы выяснить, какой из 2 используется, потому что кажется, что это UEFI микропрограммное обеспечение, обеспечивающее возможность управления дисплеем моей машины (возможно, через мою «VGA-совместимую» дискретную видеокарту).

Кроме того, в настройках BIOS (они все еще называются настройками BIOS при использовании прошивки UEFI?) Я также смог изменить настройки Video Op Rom на "Режим совместимости с BIOS". Когда я оставил его как "UEFI only", я получил полное разрешение в настройках конфигурации BIOS и на дисплее POST, а также на дисплее загрузчика. Выбирая "Режим совместимости с BIOS", я получил гораздо меньшее разрешение. Значит ли это, что прошивка смогла использовать протокол VGA?

1 ответ1

8

Чтобы уточнить ответ grawity, есть несколько вопросов различной степени актуальности для вашего вопроса:

  • UGA против GOP - Как вы говорите, есть две видеосистемы EFI, UGA и GOP. Последний был представлен с EFI 2.x (он же UEFI), IIRC и AFAIK, все системы на основе UEFI используют GOP. В принципе, все системы EFI 1.x должны использовать UGA; однако Apple (которая все еще использует EFI 1.x, даже в своих последних продуктах) перенесла UGA на свою EFI, поэтому некоторые (но не все) компьютеры Mac имеют EFI 1.x с GOP. Могут быть и другие странные исключения. Как говорит Grawity, это различие важно на уровне прошивки, но не на уровне ОС, по крайней мере, не AFAIK.
  • Устройства Linux с кадровым буфером - будь то UGA или GOP, встроенное ПО предоставляет ОС доступ к своему видеооборудованию, которое Linux предоставляет через устройство кадрового буфера - в частности, efifb . В системах на основе EFI это часто является основой для работы в текстовом режиме (если вы не запускаете X или если вы нажимаете Ctrl+Alt+F1 через Ctrl+Alt+F6). OTOH, есть также устройства кадрового буфера, предоставляемые некоторыми драйверами ядра для определенных наборов видеочипсетов , так что вы можете не использовать устройство efifb . Я не знаю, есть ли какие-то различия в том, как UGA и GOP представляются в ОС. Конечно, я не знаю различий на более высоком уровне, таких как команды, которые вы бы использовали в Linux.
  • Драйверы X Window System - драйверы X могут полагаться на видеодрайверы ядра или быть в основном независимыми от них. В большинстве случаев вы используете драйвер X, написанный для определенного видеочипсета (ATI, Nvidia, Intel и т.д.), И он не работает через прошивку. Таким образом, эти драйверы не должны зависеть от UGA против GOP (или даже от BIOS против EFI, хотя есть некоторые предостережения по этому поводу). Тем не менее, существует драйвер X кадрового буфера, который будет работать через любое активное устройство кадрового буфера, включая устройство efifb . Таким образом, вы можете управлять дисплеем в режимах UFI или GOP EFI. Это определенно неоптимальный способ сделать это, потому что драйверы кадрового буфера имеют тенденцию быть медленными. Современные оконные среды, в том числе Ubuntu Unity, все больше полагаются на функции ускорения видео, которые недоступны через кадровый буфер.

Вы можете увидеть это на работе, изучив кольцевой буфер ядра через dmesg , как показано в:

$ dmesg | grep fb
[    0.625015] efifb: probing for efifb
[    0.625207] efifb: framebuffer at 0xc0000000, mapped to 0xffffc90010880000, using 3072k, total 3072k
[    0.625208] efifb: mode is 1024x768x32, linelength=4096, pages=1
[    0.625209] efifb: scrolling: redraw
[    0.625210] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    0.627994] fb0: EFI VGA frame buffer device
[    6.086695] fb: conflicting fb hw usage radeondrmfb vs EFI VGA - removing generic driver
[    6.689526] [drm] fb mappable at 0xC1488000
[    6.689531] [drm] fb depth is 24
[    6.689610] fbcon: radeondrmfb (fb0) is primary device
[    6.804904] radeon 0000:00:01.0: fb0: radeondrmfb frame buffer device

В этом примере показано несколько сообщений, связанных с кадровым буфером, в системе с графическим процессором AMD/ATI. Вы заметите, что здесь нет упоминаний об UGA и GOP, но упоминается устройство efifb , а также fbcon (консоль framebuffer) и radeondrmfb (устройство framebuffer для устройств ATI/AMD Radeon). removing generic driver сообщение водителя обозначает передачу обслуживания от водителя efifb к водителю radeondrmfb Вы также можете проверить /var/log/Xorg.0.log наличие сообщений, связанных с X-сервером. В случае моей системы они менее интересны, но если у вас проблемы с запуском X, Xorg.0.log может быть более интересным для вас.

Еще один момент: при обращении за помощью по аппаратным вопросам, как правило, важно указывать, какое у вас оборудование - "дискретный графический адаптер" недостаточно специфичен при обращении за помощью по вашей проблеме с видео. В этом отношении, не ясно, в чем ваша проблема - или вы просто ищете информацию о том, как все это сочетается друг с другом, чтобы углубить ваше понимание?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .