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