O que é um dispositivo framebuffer e é necessário obter uma resolução maior?

4

Estou executando um sistema operacional convidado do gentoo no qemu-kvm. Eu só posso obter resolução de 800x600 nele. Eu quero ser capaz de obter uma resolução de tela maior.

xrandr fornece a seguinte saída:

xrandr: Failed too get size of gamma for output default

Screen 0: mimimum 640x480, current 800x600, maximum 800x600

Xorg -configure falha com falha de segmentação:

open /dev/fb0: No such file or directory

Segmentation fault at address (nil)

Estou usando configurações vga padrão para os shows qemu e lspci:

VGA compatible controller: Cirrus Logic GD 5446

Então, minha pergunta é:

  1. qual é esse buffer de quadros? É necessário fazer o Xorg -configure?

  2. Existe alguma outra maneira de aumentar a resolução da tela?

por AnkurVj 11.05.2012 / 17:55

1 resposta

8

Os buffers de quadro são nada mais que as regiões de memória usadas para gráficos.

As placas gráficas modernas possuem drivers nativos do kernel que são usados para KMS (configuração do modo kernel) e podem usar framebuffers de alta resolução e alta velocidade, mesmo em cabeças duplas.

No entanto, o cartão emulado pelo QEMU não tem esse driver. Você precisa estar emulando um dos principais chipsets suportados para conseguir isso; caso contrário, tudo o que você consegue é o framebuffer VESA antigo, que é muito lento, mas ainda com resolução superior ao modo de texto VGA 80x25.

Consulte o artigo "Framebuffer" da Wikipédia para obter mais informações do que você realmente deseja ou precisa sobre elas. Além disso, veja este artigo da Phoronix no KMS com QEMU , mas eu não sei qual é o status atual dele e parece depender do QEMU-KVM e não do próprio QEMU.

ETA: Aqui está outro artigo da Phoronix, de 2 de maio de 2012, no KMS e no QEMU . Parece que está programado para ser mesclado no Linux 3.5, mas se você quiser usá-lo agora você terá que baixar, corrigir e construir seu próprio kernel.

    
por 11.05.2012 / 18:03