Reduzindo a troca de modo de vídeo durante a inicialização do Linux

10

Quando inicializo meu computador desktop, que tem apenas o Linux, o modo de vídeo e / ou a fonte do console são alternados quatro vezes:

  • Quando o GRUB é iniciado, ele alterna do texto de 80 x 25 para um modo gráfico, de modo que pode desenhar um fundo bonito por trás de seu menu;
  • O GRUB volta para o texto de 80 x 25 depois que eu escolho algo no menu;
  • Quando o driver KMS da minha placa de vídeo é carregado, ele alterna para um modo de texto de resolução muito maior (não sei se esse é um modo de texto de hardware ou não);
  • Finalmente X começa e vai gráficos e fica assim. Acho que este último switch não altera a resolução do modo de vídeo, apenas a gráfica.

Eu gostaria de me livrar de tantas dessas opções de modo quanto possível. O ideal é que, quando o GRUB assumir o BIOS, ele passará diretamente para o mesmo modo de texto de alta resolução que o driver KMS seleciona, e o monitor permanecerá nesse modo até que o X seja iniciado e exiba gráficos. Eu tenho a impressão de que isso é possível usando a linha de comando do kernel e / ou os parâmetros de carregamento do módulo do console do GRUB, mas não sei os detalhes.

GRUB 1.98 + 20100706, kernel 2.6.32.15 usando drivers de vídeo Nouveau. Distro é Debian instável. Por favor, não há respostas que envolvam recompilar qualquer coisa ou remendar combinações de kernel / driver de ponta, eu não me importo o suficiente sobre isso para ir a esse problema.

EDITAR: Tobu sugere configurar GRUB_GFXMODE para a resolução total de pixels do monitor e GRUB_GFXPAYLOAD_LINUX=keep para evitar a troca de modo após o menu desaparecer. Isso faz parte do que eu quero, mas acaba sendo pior no geral. Não há mudança de modo após o menu, mas ainda há uma repintura de tela dolorosamente lenta (eu provavelmente deveria desistir do gfxmode do GRUB, é muito lento em 1920x1200). Mais seriamente, agora há um comutador de modo duplo quando o nouveaufb é carregado, junto com mensagens de erro divertidas em dmesg

[    5.923798] [drm] nouveau 0000:02:00.0: allocated 1920x1200 fb: 0x40250000, bo ffff8801ba5f4600
[    5.923802] fb: conflicting fb hw usage nouveaufb vs EFI VGA - removing generic driver
[    5.923821] [drm] nouveau 0000:02:00.0: PFIFO_INTR 0x00000010 - Ch 1
("PFIFO_INTR" message repeats 400+ times)
[    5.925609] Console: switching to colour dummy device 80x25
[    5.925802] Console: switching to colour frame buffer device 240x75
    
por zwol 12.07.2010 / 21:27

3 respostas

1

Plymouth é projetado para ajudar nesse sentido:

The idea is that early on in the boot process the native mode for the computer is set, plymouth uses that mode, and that mode stays throughout the entire boot process up to and after X starts. Ideally, the goal is to get rid of all flicker during startup.

Como você tem apenas um único sistema operacional instalado, desabilitar as alterações de resolução do grub (sem gráfico de plano de fundo) e até mesmo o próprio menu, deixando-o 80x25 resultaria em nenhuma mudança até que o Plymouth assumisse.

    
por 18.11.2011 / 10:42
0

Você pode ativar o KMS logo após o GRUB, e isso geralmente incluirá um parâmetro na linha de comando do kernel que o ativa. Para a intel, é i910.modeset=1 , mas além disso, você precisa verificar os documentos da sua distribuição sobre isso.

    
por 12.07.2010 / 22:15
0

Verifique sua resolução e sua profundidade de cor:

xrandr -q
xdpyinfo | grep 'depth of root window' | awk '{ print $5 }'

Defina GRUB_GFXMODE=<width>x<height>x<depth> em /etc/default/grub para que a resolução do menu grub corresponda à resolução do KMS.

Talvez também adicione GRUB_GFXPAYLOAD_LINUX=keep aos padrões, para que não haja uma etapa intermediária após o menu do grub e antes de configurar o KMS. O X11 deve manter o que o KMS usa, o que significa que não há comutação X11 para se preocupar.

Aplique suas edições com

sudo update-grub
    
por 13.07.2010 / 00:10