Как определить, является ли загруженный UEFI видеорежимом linux-компьютера графический протокол вывода (GOP) или универсальный графический адаптер (UGA)?

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

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

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

5
задан CMCDragonkai
источник

1 ответов

рассказать о ответа grawity, есть несколько вопросов, разной степени значимости, на ваш вопрос:

  • УГА и гоп -- как вы говорите, есть две видеосистемы EFI, UGA и GOP. Последнее было введено с EFI 2.х (он же ПО UEFI), МСИО, и, насколько мне известно, все систем с UEFI используйте гоп. В принципе, все EFI 1.x-системы должны использовать UGA; однако Apple (которая по-прежнему использует EFI 1.x, даже в своих самых последних продуктах) портировал UGA к своему EFI, так некоторые (но не все) компьютеры Mac имеют EFI 1.x с GOP. Могут быть и другие странные исключения. Как говорит grawity, это различие важно на уровне прошивки, но не на уровне ОС, по крайней мере, не AFAIK.
  • устройства буфера кадров Linux -- будет ли это УГА или гоп, прошивка дает доступ к ОС для своей видеокарты, что линукс предоставляет через фреймбуфер устройства -- конкретно, efifb. В системах на основе EFI это часто является основой для работа в текстовом режиме (если вы не запускаете X или нажимаете Ctrl+Alt+F1 через Ctrl+Alt+F6). OTOH, есть также фреймбуфферные устройства, предоставляемые некоторыми драйверами ядра для определенных наборов видеочипов, поэтому вы можете не использовать efifb устройства. Я не знаю навскидку, есть ли какие-либо различия в том, как UGA и GOP представляют себя ОС. Конечно, я не знаю никаких различий на более высоком уровне, как команды, которые вы использовали бы в Linux.
  • X Window System drivers -- X драйверы могут полагаться на видеодрайверы ядра или быть в основном независимыми от них. В большинстве случаев используется драйвер X, написанный для определенного набора микросхем видео (ATI, Nvidia, Intel и т. д.).), и они не работают через прошивки. Таким образом, на эти драйверы не должны влиять UGA против GOP (или даже BIOS против EFI, хотя есть некоторые предупреждения об этом). Тем не менее, есть драйвер буфера кадров X, который будет работать через любое устройство буфера кадров активно, в том числе efifb устройства. Таким образом, вы может управлять дисплеем через режимы UGA или 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

в этом примере показывает количество фреймбуфер-сообщения на системе с АМД/АТИ ГПУ. Вы заметите, что нет упоминания о UGA против GOP, но efifb устройство ссылается, как fbcon (консоль буфера кадров) и radeondrmfb (устройство буфера кадров для устройств ATI/AMD Radeon). The removing generic driver сообщение обозначает передачу от efifb водителю radeondrmfb драйвер. Вы также можете изучить /var/log/Xorg.0.log для сообщений, связанных с X-сервером. В случае моей системы это менее интересно, но если вы проблемы при запуске X,Xorg.0.log может представлять для вас больший интерес.

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

7
отвечен Rod Smith 2016-01-24 23:54:34
источник

Другие вопросы bios graphics-card integrated-graphics linux uefi