14.2. Otimizando a configuração do X

O X.Org é uma implementação de código-fonte aberto do sistema X Window. Ele também é desenvolvido pela X.Org Foundation, que é responsável ainda pelo desenvolvimento de novas tecnologias e padrões do sistema X Window.

Para usar da melhor forma possível o hardware disponível, inclusive o mouse, a placa gráfica, o monitor e o teclado, a configuração pode ser otimizada manualmente. Alguns aspectos desta otimização são explicados abaixo. Para obter informações detalhadas sobre como configurar o sistema X Window, consulte os vários arquivos no diretório /usr/share/doc/packages/Xorg e man xorg.conf.

[Warning]Atenção

Tenha cuidado ao configurar o sistema X Window. Nunca inicie o sistema X Window antes que a configuração esteja concluída. Um sistema configurado de forma errada pode causar danos irreparáveis ao seu hardware (isso aplica-se especialmente a monitores de freqüência fixa). Os autores deste livro e o SUSE Linux não podem ser considerados responsáveis por danos. Essas informações foram pesquisadas cuidadosamente, mas isso não garante que todos os métodos apresentados aqui estejam corretos e não danifiquem o seu hardware.

Os programas SaX2 e xorgconfig criam o arquivo xorg.conf, por padrão no /etc/X11. Esse é o arquivo de configuração principal para o sistema X Window. A seguir estão todas as configurações referentes ao monitor, ao mouse e à placa de vídeo.

As seções a seguir descrevem a estrutura do arquivo de configuração /etc/X11/xorg.conf. Ela consiste em várias seções, cada uma delas referente a um determinado aspecto da configuração. Cada seção se inicia com a palavra-chave Section <designation> e termina com EndSection. As seções têm o seguinte formato:

Section designation
  entry 1
  entry 2
  entry n
EndSection
 

Os tipos de seção disponíveis estão listados na Tabela 14.1, “Seções em /etc/X11/xorg.conf”.

Tabela 14.1. Seções em /etc/X11/xorg.conf

Tipo

Significado

Files

Esta seção descreve os caminhos usados por fontes e a tabela de cores RGB.

ServerFlags

Switches gerais são definidos aqui.

InputDevice

Dispositivos de entrada, como teclados e dispositivos de entrada especiais (touchpads, joysticks, etc.), são configurados nesta seção. Parâmetros importantes nesta seção são Driver e as opções que definem o Protocol e o Device.

Monitor

Descreve o monitor usado. Os elementos individuais desta seção são o nome, que é referenciado posteriormente na definição de Screen, a bandwidth e os limites de freqüência de sincronização (HorizSync e VertRefresh). As configurações são fornecidas em MHz, kHz e Hz. Normalmente, o servidor recusa qualquer linha modelo que não corresponda à especificação do monitor. Isso evita que freqüências muito altas sejam enviadas ao monitor por acidente.

Modes

Os parâmetros da linha modelo são armazenados aqui para resoluções de tela específicas. Esses parâmetros podem ser calculados por SaX2 com base nos valores fornecidos pelo usuário e, normalmente, não precisam ser modificados. Intervenha manualmente neste ponto se, por exemplo, quiser conectar um monitor de freqüência fixa. Há detalhes sobre o significado de valores numéricos individuais nos arquivos HOWTO /usr/share/doc/howto/en/html/XFree86-Video-Timings-HOWTO.

Device

Esta seção define uma placa de vídeo específica. Ela é referenciada por seu nome descritivo.

Screen

Esta seção junta um Monitor e um Device para formar todas as configurações necessárias para X.Org. Na subseção Display, especifique o tamanho da tela virtual (Virtual), a ViewPort e os Modes usados com esta tela.

ServerLayout

Esta seção define o layout de uma configuração única ou multihead. Esta seção junta os dispositivos de entrada InputDevice e os dispositivos de exibição Screen.

Monitor, Device e Screen são explicados em mais detalhes abaixo. Mais informações sobre as outras seções podem ser encontradas nas páginas de manual de X.Org e xorg.conf.

Há várias seções Monitor e Device diferentes em xorg.conf. Mesmo várias seções Screen são possíveis. A seção ServerLayout a seguir determina qual é usada.

14.2.1. Seção de Tela

A seção de tela combina um monitor com uma seção de dispositivo e determina a resolução e a intensidade de cor usadas. Uma seção de tela pode ter a aparência do Exemplo 14.1, “Seção de tela do arquivo /etc/X11/xorg.conf”.

Exemplo 14.1. Seção de tela do arquivo /etc/X11/xorg.conf


Section "Screen"
  DefaultDepth  16
  SubSection "Display"
    Depth       16
    Modes       "1152x864" "1024x768" "800x600"
    Virtual     1152x864
  EndSubSection
  SubSection "Display"
    Depth       24
    Modes       "1280x1024"
  EndSubSection
  SubSection "Display"
    Depth       32
    Modes "640x480"
  EndSubSection
  SubSection "Display"
    Depth        8
    Modes       "1280x1024"
  EndSubSection
  Device        "Device[0]"
  Identifier    "Screen[0]"
  Monitor       "Monitor[0]"
EndSection

A linha Identifier (aqui Screen[0]) fornece a esta seção um nome definido com o qual pode ser exclusivamente referenciado na seguinte seção ServerLayout. As linhas Device e Monitor especificam a placa de vídeo e o monitor que pertence a esta definição. Estes são links às seções Device e Monitor com seus nomes correspondentes ou identificadores. Estas seções são abordadas em detalhes abaixo.

Use a configuração DefaultDepth para selecionar a intensidade de cor que o servidor deve usar a menos que seja iniciado com uma intensidade de cor específica. Há uma subseção Display para cada intensidade de cor. A palavra-chave Depth atribui a intensidade de cor válida para essa subseção. Valores possíveis para Depth são 8, 15, 16 e 24. Nem todos os módulos do servidor X suportam esses valores.

Após a intensidade de cor, uma lista de resoluções é definida na seção Modes. O servidor X verifica essa lista da esquerda para a direita. Para cada resolução, o servidor X procura uma Modeline adequada na seção Modes. A Modeline depende da capacidade do monitor e da placa de vídeo. As configurações de Monitor determinam a Modeline resultante.

A primeira resolução encontrada é o Default mode. Com Ctrl-Alt-+ (no teclado numérico), alterne para a resolução seguinte na lista à direita. Com Ctrl-Alt- (no teclado numérico), alterne para a esquerda. Isso permite a você variar a resolução enquanto o X está sendo executado.

A última linha da subseção Display com Depth 16 refere-se ao tamanho da tela virtual. O tamanho máximo possível de uma tela virtual depende da quantidade de memória instalada na placa de vídeo e a intensidade de cor desejada, não a resolução máxima do monitor. Como placas de vídeo modernas têm uma grande quantidade de memória de vídeo, você pode criar áreas de trabalho virtuais bem grandes. Porém, você talvez não seja mais capaz de usar a funcionalidade de 3D se preencher a maior parte da memória de vídeo com uma área de trabalho virtual. Se a placa tem 16 MB de memória RAM de vídeo, por exemplo, a tela virtual pode ser de até 4096x4096 pixels em tamanho com intensidade de cor de 8 bits. Porém, principalmente para placas aceleradas, não é recomendável usar toda a memória para a tela virtual, pois a memória na placa também é usada para vários caches de vídeo e fontes.

14.2.2. Seção do dispositivo

Uma seção de dispositivo descreve uma placa de vídeo específica. Você pode ter quantas entradas de dispositivo em xorg.conf desejar, desde que os nomes sejam diferenciados pela palavra-chave Identifier. Como regra — se você tiver mais de uma placa de vídeo instalada — as seções são simplesmente numeradas em ordem. A primeira é chamada Device[0], a segunda Device[1] e assim por diante. O arquivo a seguir mostra um exemplo da seção Device de um computador com uma placa de vídeo de PCI Matrox Millennium:

Section "Device"
  BoardName     "MGA2064W"
  BusID         "0:19:0"
  Driver        "mga"
  Identifier    "Device[0]"
  VendorName    "Matrox"
  Option        "sw_cursor"
EndSection

Se você usar SaX2 para a configuração, a seção de dispositivo deverá ter a aparência semelhante à do exemplo acima. Ambos o Driver e o BusID são dependentes do hardware instalado no seu computador e são detectados pelo SaX2 automaticamente. O BusID define o slot PCI ou AGP no qual a placa de vídeo está instalada. Isso corresponde ao ID exibido pelo comando lspci. O servidor X precisa de detalhes no formato decimal, mas o lspci os exibe no formato hexadecimal.

Com o parâmetro Driver, especifique o driver a ser usado para esta placa de vídeo. Se a placa for Matrox Millennium, o módulo do driver será chamado mga. Em seguida, o servidor X pesquisa através do ModulePath definido na seção Files no subdiretório drivers. Em uma instalação padrão, este é o diretório /usr/X11R6/lib/modules/drivers. _drv.o será adicionado ao nome, por isso, no caso do driver mga, o arquivo de driver mga_drv.o será carregado.

O comportamento do servidor X ou do driver também pode ser influenciado através de opções adicionais. Um exemplo disso é a opção sw_cursor, definida na seção de dispositivo. Isso desativa o cursor do mouse do hardware e mostra o cursor do mouse usando o software. Dependendo do módulo do driver, há várias opções disponíveis, que podem ser encontradas nos arquivos de descrição dos módulos do driver no diretório /usr/X11R6/lib/X11/doc. Em geral, opções válidas também podem ser encontradas nas páginas de manual (man xorg.conf e man X.Org).

14.2.3. Seção Monitor e Modos

Como as seções Device, as seções Monitor e Modes descrevem um monitor cada. O arquivo de configuração /etc/X11/xorg.conf pode conter quantas seções Monitor você desejar. A seção de layout do servidor especifica qual seção Monitor é relevante.

Definições de monitor devem ser configuradas por usuários experientes. As linhas modelo constituem uma parte importante das seções Monitor. Linhas modelo definem temporizações verticais para a respectiva resolução. As propriedades do monitor, especialmente as freqüências permitidas, estão armazenadas na seção Monitor.

[Warning]Atenção

A menos que você tenha um conhecimento profundo de funções de monitor e placa de vídeo, nada deve ser mudado nas linhas modelo, pois isso poderia causar danos severos ao seu monitor.

As pessoas que tentam desenvolver suas próprias descrições de monitor devem estar familiarizadas com a documentação em /usr/X11/lib/X11/doc. A seção cobrindo os modos de vídeo merece uma atenção especial. Ela descreve, em detalhes, como o hardware funciona e como criar linhas modelo.

A especificação manual de linhas modelo raramente é exigida atualmente. Se você está usando um monitor multisync moderno, as freqüências permitidas e as resoluções ótimas podem, como regra, serem lidas do monitor pelo servidor X através de DDC, como descrito na seção de configuração do SaX2. Se isso não for possível por algum motivo, use um dos modos VESA incluídos no servidor X. Isso funcionará com praticamente todas as combinações de monitor e placa de vídeo.