Apanhar em Linux é necessário para aprimorar nossos conhecimentos, isso é inegável, ainda mais quando sentimos o gosto da vitória depois de vencer o desafio. Esses dias resolvi instalar o Ubuntu 9.10 em um PC mais modesto, e me deparei com um problema que me tirou quase do sério. Resolução de video em um monitor LCD.
O Chip de video Intel 82865g nem foi difícil de instalar, basta verificar nos repositórios via Synaptic o pacote xserver-xorg-video-intel, Intel-gpu-tools, libdrm intel1 e instalar todos. Se vc não tiver sorte é só baixar o drive no site do fabricante, convertê-lo para pacote Debian e instalar. Esse chip gráfico é muito bom, suportando até o Compiz e seus efeitos. :).
O problema mesmo veio quando percebi que as resoluções de video disponíveis eram somente 640x480, 800x600. O monitor em questão era um LCD Samsung SyncMaster 732nw, que pela lei da natureza, suporta resoluções maiores. Bem, então é só configurar o xorg-conf e ir pro abraço? Errado.
Nas distribuições Linux modernas esse arquivo que configurava o video não existe mais, então tive que usar nosso amigo Google e descobrir uma nova maneira de fazer essa configuração.
Comando "xrandr"
Para sabermos qual a resolução máxima do nosso monitor e quais configurações temos disponiveis, digite no terminal: xrandr
Exemplo:
renato@computador:~$ xrandr
Depois tive essas informações em minha máquina:
renato@computador:~$ xrandr
Screen 0: minimum 320 x 200, current 1240 x 1024, maximum 2048 x 2048
VGA1 connected 1240x1024+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
800x600 60.3 640x480 59.9 1240x1024_60.00 59.9* 1024x768_60.00 (0x103) 63.5MHz
h: width 1024 start 1072 end 1176 total 1328 skew 0 clock 47.8KHz
v: height 768 start 771 end 775 total 798 clock 59.9Hz
Tradução das cores:
Azul = Minha resolução de video atual
Vermelho = Resolução máxima suportada
Amarelo = Resoluções disponíveis para o usuário no sistema
Bem, agora sei até onde posso aumentar minha resolução e quais eu já possuo. Agora preciso saber como meu monitor vai aceitar as resoluções que eu quero. Para descobrir a configuração exata da resolução 1024x768 precisamos usar o comando "cvt [resolução]".
O Comando "cvt"
Vamos descobrir a configuração ideal (Modeline) para a resolução 1024x768. Abra um terminal e digite:
cvt 1024x768 60.00
Exemplo:
renato@computador:~$ cvt 1024x768 60.00
# 1024x60 51.40 Hz (CVT) hsync: 3.91 kHz; pclk: 5.00 MHz
Modeline "1024x60_60.00" 5.00 1024 1056 1152 1280 60 63 73 76 -hsync +vsync
Traduzindo:
Amarelo = Resolução que queremos saber o Modeline
Vermelho = Taxa de atualização (refresh)
Verde = Informações do Modeline
Temos a resolução e seu modeline para configurarmos o arquivo de configuração de video. Mas, onde fica esse arquivo de configuração de video?
O caminho da salvação : /etc/gdm/PreSession/Default
Abra um terminal como root, vá até o diretório "/" e faça o seguite:
gedit etc/gdm/PreSession/Default
Exemplo:
root@computador:/# gedit etc/gdm/PreSession/Default
Com esse comando você vai abrir o arquivo "Default" para edição. Agora vamos editá-lo com as informações que conseguimos, criando os parâmetros corretos que serão adicionados na ultima linha do arquivo, veja abaixo um exemplo:
xrandr --newmode "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
xrandr --addmode VGA1 1024x768_60.00
Traduzindo:
Vermelho = Informação do Modeline que conseguimos com o comando "cvt 1024x768 60.00"
Amarelo = Resolução com frequência de atualização
A linha com "xrandr --newmode [modeline]" adiciona o modo de resolução"
A linha com "xrandr --addmode VGA1 [resolução e refresh]" adiciona o modo para o VGA.
No arquivo "Default" você precisa colocar os dados na ultima linha, salvar o arquivo e reiniciar o computador. veja como ficou o meu arquivo Default:
/etc/gdm/PreSession/Default