Como o Linux detecta a resolução da tela?

0

Como o Linux detecta a resolução de tela na inicialização ou durante a operação?

Eu quero forçar uma resolução personalizada em um destino Linux embarcado que terá a interface do usuário não baseada no servidor X.

Como o Linux reconfigura o sistema quando a resolução detectada não é uma das resoluções padrão?

Além disso, se possível, por favor me direcione para algum texto que explique o mecanismo de inicialização dos gráficos na inicialização.

TIA.

    
por Bleamer 17.05.2014 / 16:01

1 resposta

2

Em um sistema baseado em x86, o kernel do Linux usará um recurso chamado VESA BIOS Extensions para definir a resolução em tempo de inicialização.

Se você quiser que o console seja executado em uma resolução específica, você passará vga=X+0x200 para o kernel no momento da inicialização, onde X é o código BIOS da VESA para sua resolução específica.

Digamos, por exemplo, que você deseja uma cor de 1600 x 1200 @ 24 bits:

O identificador VESA não padrão para esta resolução é 0x011F ( 287 ).

O Linux, por outro lado, identifica isso como 0x011F + 0x0200 = 0x031F ( 799 ).

Você adicionaria vga=799 à sua sequência de inicialização para obter 1600x1200 com cores de 24 bits.

Não é garantido que este código funcione em todas as placas de vídeo, a VESA parou de publicar códigos de resolução padrão há muito tempo, deixando algo acima de 1280x1024 fora do padrão.

    
por 18.05.2014 / 01:55