Para elaborar a resposta de Grawity, há várias questões, com vários graus de relevância, para sua pergunta:
- UGA vs. GOP - Como você disse, existem dois sistemas de vídeo EFI, UGA e GOP. O último foi introduzido com o EFI 2.x (também conhecido como UEFI), IIRC e AFAIK. Todos os sistemas baseados em UEFI usam o GOP. Em princípio, todos os sistemas EFI 1.x devem usar UGA; no entanto, a Apple (que ainda usa o EFI 1.x, mesmo em seus produtos mais recentes) portou o UGA para o EFI, portanto alguns (mas não todos) Macs têm o EFI 1.x com o GOP. Pode haver outras exceções excêntricas. Como diz Grawity, essa distinção é importante no nível do firmware, mas não no nível do SO, pelo menos não no AFAIK.
-
Dispositivos de framebuffer do Linux - Seja UGA ou GOP, o firmware dá ao sistema operacional acesso ao seu hardware de vídeo, que o Linux expõe através de um dispositivo framebuffer - especificamente,
efifb
. Em sistemas baseados em EFI, isso geralmente é a base para a operação no modo de texto (se você não iniciar o X ou se pressionar Ctrl + Alt + F1 através de Ctrl + Alt + F6). OTOH, também existem dispositivos framebuffer fornecidos por alguns drivers de kernel para chipsets de vídeo específicos, então você pode não acabar usando o dispositivoefifb
. Eu não sei de improviso se há alguma diferença na forma como a UGA e o GOP se apresentam para o sistema operacional. Certamente não conheço diferenças em um nível mais alto, como comandos que você usaria no Linux. -
Drivers do X Window System - Os drivers X podem contar com drivers de vídeo do kernel ou ser basicamente independentes deles. Na maioria dos casos, você usa um driver X escrito para um chipset de vídeo específico (ATI, Nvidia, Intel etc.), e eles não funcionam através do firmware. Assim, esses drivers não devem ser afetados por UGA vs. GOP (ou mesmo BIOS vs. EFI, embora haja algumas ressalvas sobre isso). Dito isso, há um driver X framebuffer que funcionará por meio de qualquer dispositivo framebuffer ativo, incluindo o dispositivo
efifb
. Assim, você poderia estar dirigindo uma tela através dos modos UGA ou GOP da EFI. No entanto, esta é definitivamente uma maneira insatisfatória de fazê-lo, porque os drivers de framebuffer tendem a ser lentos. Ambientes modernos de janelas, incluindo o Unity, do Ubuntu, estão cada vez mais contando com recursos de aceleração de vídeo que não são acessíveis através de um framebuffer.
Você pode ver um pouco disso trabalhando examinando o buffer de anel do kernel via dmesg
, como em:
$ 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
Este exemplo mostra várias mensagens relacionadas ao framebuffer em um sistema com uma GPU AMD / ATI. Você notará que não há menção de UGA vs. GOP, mas o dispositivo efifb
é referenciado, assim como fbcon
(o console framebuffer) e radeondrmfb
(o dispositivo framebuffer para dispositivos ATI / AMD Radeon). A mensagem removing generic driver
indica uma transferência do driver efifb
para o driver radeondrmfb
. Você também pode examinar /var/log/Xorg.0.log
para mensagens relacionadas ao servidor X. No caso do meu sistema, eles são menos interessantes, mas se você está tendo problemas com o X inicial, Xorg.0.log
pode ser mais interessante para você.
Mais um ponto: ao pedir ajuda sobre problemas de hardware, geralmente é importante que você especifique qual é o seu hardware - "um adaptador gráfico discreto" é insuficientemente específico ao solicitar ajuda sobre seu problema de vídeo. Por falar nisso, não está claro qual é o seu problema - ou você está simplesmente procurando informações sobre como tudo se encaixa para ampliar sua compreensão?