como e quando minha placa gráfica, drivers, monitor e xserver negociaram uma resolução adequada? Existe uma maneira de obter a lista suportada de dispositivos?

como e quando minha placa gráfica, drivers, monitor e xserver negociaram uma resolução adequada? Existe uma maneira de obter a lista suportada de dispositivos?

Eu estava tentando descobrir como o KDE ou o GNOME decidem qual resolução poderia ser suportada pelo monitor e pela placa gráfica conectada. Tenho 2 senários sobre essa questão, tentarei explicar o processo com base no meu entendimento, por favor me indique se estiver errado:

inicialize no grub, não há driver gráfico ou xserver. grub mostrará o menu de inicialização com framebuffer. neste momento, o grub lerá o EDID do monitor e escolherá uma resolução adequada. Isso está certo? Eu sei que ao inicializar o grub, podemos sempre pressionar "c" para entrar na linha de comando do grub e obter a resolução suportada do monitor com o comando videoinfo Este comando lê o EDID do monitor? O "driver EFI GOP" é um driver temporário para a placa gráfica? qual é o papel da placa gráfica neste processo? A placa gráfica estava em processo de negociação? Se sim, como o grub conheceu a resolução suportada pela placa gráfica?

inicialize na área de trabalho. Agora temos o xserver e podemos usar o comando xrandr para mostrar a resolução suportada pela placa de vídeo. mas como o xserver decide qual é a resolução suportada tanto pelo monitor quanto pela placa de vídeo? Existe alguma ferramenta de linha de comando que possamos usar para obter a resolução suportada para o monitor? No cenário 1, posso ver que 1024x768 é suportado com o comando videoinfo, mas quando eu defino GFXMODE=1024x768 no grub, o menu grub estará no lado direito da tela, enquanto auto ficará bem. Como isso aconteceu? No cenário 2, a área de trabalho não ficará no meio da tela quando alguma resolução for definida. O motivo é o mesmo do cenário 1?

aliás, eu estava usando um monitor com interface VGA e HDMI, problemas que encontrei só aconteciam ao usar interface VGA. O sistema operacional era o debian10 com kernel 4.19.

Também tentei usar read-edid e edid-decode para ler EDID, mas não acho que a saída seja precisa o suficiente, pelo menos 1920x1080 não estava na lista. Às vezes, get-edid não consegue ler nenhuma informação do monitor.

informação relacionada