5.9. Solução de problemas
Anterior | Capítulo 5. O sistema X Window | Próxima

## 5.9. Solução de problemas

Se o mouse não funcionar, você precisará primeiro configurá-lo antes de prosseguir. Em versões recentes do Xorg, as seções `InputDevice` em `xorg.conf` são ignoradas em favor dos dispositivos autodetectados. Para restaurar o comportamento antigo, adicione a seguinte linha à seção `ServerLayout` ou `ServerFlags` deste arquivo:

    Option "AutoAddDevices" "false"

Os dispositivos de entrada podem então ser configurados como nas versões anteriores, juntamente com quaisquer outras opções necessárias (por exemplo, troca do layout de teclado).

### Nota:

Como explicado anteriormente, o daemon hald irá, por padrão, detectar automaticamente o seu teclado. Há chances de que o layout ou modelo do teclado não esteja correto, ambientes de Desktop como o GNOME, KDE ou Xfce fornecem ferramentas para configurar o teclado. No entanto, é possível definir as propriedades do teclado diretamente com a ajuda do utilitário setxkbmap(1) ou com uma regra de configuração do aplicativohald.

Por exemplo, se alguém quiser usar um teclado de teclas PC 102 vindo com um layout francês, temos que criar um arquivo de configuração de teclado para o hald chamado `x11-input.fdi` e salva-lo no diretório `/usr/local/etc/hal/fdi/policy`. Este arquivo deve conter as seguintes linhas:

    <?xml version="1.0" encoding="iso-8859-1"?>
    <deviceinfo version="0.2">
      <device>
        <match key="info.capabilities" contains="input.keyboard">
    	  <merge key="input.x11_options.XkbModel" type="string">pc102</merge>
    	  <merge key="input.x11_options.XkbLayout" type="string">fr</merge>
        </match>
      </device>
    </deviceinfo>

Se este arquivo já existir, apenas copie e adicione ao seu arquivo as linhas referentes à configuração do teclado.

Você terá que reinicializar sua máquina para forçar o hald a ler este arquivo.

É possível fazer a mesma configuração a partir de um terminal X ou um script com esta linha de comando:

    % setxkbmap -model pc102 -layout fr

O `/usr/local/share/X11/xkb/rules/base.lst` lista os vários teclados, layouts e opções disponíveis.

O arquivo de configuração `xorg.conf.new` pode agora ser ajustado para o seu gosto. Abra o arquivo em um editor de texto, como emacs(1) ou o ee(1). Se o monitor for um modelo antigo ou incomum que não suporta a detecção automática de frequências de sincronização, essas configurações podem ser adicionadas ao `xorg.conf.new` na seção `"Monitor"`:

    Section "Monitor"
    	Identifier   "Monitor0"
    	VendorName   "Monitor Vendor"
    	ModelName    "Monitor Model"
    	HorizSync    30-107
    	VertRefresh  48-120
    EndSection

A maioria dos monitores suporta autodetecção de frequência de sincronização, tornando desnecessária a entrada manual desses valores. Para os poucos monitores que não suportam a detecção automática, evite possíveis danos inserindo apenas valores fornecidos pelo fabricante.

O X permite que os recursos do DPMS (Energy Star) sejam usados ​​com monitores capazes. O programa xset(1) controla os tempos limite e pode forçar os modos de espera, suspensão ou desativação. Se você deseja habilitar recursos de DPMS para o seu monitor, você deve adicionar a seguinte linha à seção do monitor:

    Option       "DPMS"

Enquanto o arquivo de configuração `xorg.conf.new` ainda estiver aberto em um editor, selecione a resolução padrão e a profundidade de cor desejada. Isso é definido na seção `"Screen"`:

    Section "Screen"
    	Identifier "Screen0"
    	Device     "Card0"
    	Monitor    "Monitor0"
    	DefaultDepth 24
    	SubSection "Display"
    		Viewport  0 0
    		Depth     24
    		Modes     "1024x768"
    	EndSubSection
    EndSection

A palavra-chave `DefaultDepth` descreve a profundidade de cor a ser executada por padrão. Isto pode ser sobrescrito com a opção de linha de comando `-depth` para Xorg(1). A palavra-chave `Modes` descreve a resolução a ser executada na profundidade de cor especificada. Observe que somente os modos padrão VESA são suportados, conforme definido pelo hardware gráfico do sistema de destino. No exemplo acima, a profundidade de cor padrão é de vinte e quatro bits por pixel. Nesta profundidade de cor, a resolução aceita é 1024 por 768 pixels.

Finalmente, escreva o arquivo de configuração e teste-o usando o modo de teste dado acima.

### Nota:

Uma das ferramentas disponíveis para ajudá-lo durante o processo de solução de problemas são os arquivos de log do Xorg, que contêm informações sobre cada dispositivo ao qual o servidor Xorg se conecta. Os nomes de arquivos de log do Xorg estão no formato `/var/log/Xorg.0.log`. O nome exato do log pode variar de `Xorg.0.log` para `Xorg.8.log` e assim por diante.

Se tudo estiver bem, o arquivo de configuração precisa ser instalado em um local comum onde o Xorg(1) possa encontrá-lo. Isto é tipicamente `/etc/X11/xorg.conf` ou `/usr/local/etc/X11/xorg.conf`.

    # cp xorg.conf.new /etc/X11/xorg.conf

O processo de configuração do Xorg agora está completo. O Xorg pode agora ser iniciado com o utilitário startx(1). O servidor Xorg também pode ser iniciado com o uso de xdm(1).

### 5.9.1. Configuração com Chipsets gráficos Intel® `i810`

A configuração com chipsets integrados i810 da Intel® requer a interface de programação AGP `agpgart` para o Xorg para conduzir a placa. Consulte a página de manual do driver agp(4) para obter maiores informações.

Isso permitirá a configuração do hardware como qualquer outra placa gráfica. Observe que nos sistemas sem o driver agp(4) compilado no kernel, tentar carregar o módulo com kldload(8) não funcionará. Este driver tem que estar no kernel no momento da inicialização, através da compilação ou usando o `/boot/loader.conf`.

### 5.9.2. Adicionando um Flatpanel Widescreen ao Mix

Esta seção pressupõe um pouco de conhecimento avançado de configuração. Se as tentativas de usar as ferramentas de configuração padrão acima não resultaram em uma configuração funcional, há informações suficientes nos arquivos de log para serem úteis para fazer a configuração funcionar. O uso de um editor de texto será necessário.

Os formatos widescreen atuais (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, etc.) suportam formatos ou proporções de formato 16:10 e 10:9 que podem ser problemáticos. Exemplos de algumas resoluções de tela comuns para proporções de 16:10 são:

- 2560x1600

- 1920x1200

- 1680x1050

- 1440x900

- 1280x800

Em algum momento, será tão fácil quanto adicionar uma dessas resoluções como um possível `Mode` na `Section "Screen"` como tal:

    Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    DefaultDepth 24
    SubSection "Display"
    	Viewport  0 0
    	Depth     24
    	Modes     "1680x1050"
    EndSubSection
    EndSection

O Xorg é inteligente o suficiente para extrair as informações de resolução da tela widescreen via informações I2C/DDC, para que ele saiba o que o monitor pode suportar em termos de freqüências e resoluções.

Se aqueles `ModeLines` não existem nos drivers, pode ser necessário dar ao Xorg uma pequena dica. Usando o `/var/log/Xorg.0.log` pode-se extrair informações suficientes para criar manualmente um `ModeLine` que funcionará. Basta procurar informações semelhantes:

    (II) MGA(0): Supported additional Video Mode:
    (II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
    (II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
    (II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
    (II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz

Esta informação é chamada de informação EDID. Criar uma `ModeLine` a partir disso é apenas uma questão de colocar os números na ordem correta:

    ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>

Assim, o `ModeLine` na `Section "Monitor"` para este exemplo ficaria assim:

    Section "Monitor"
    Identifier      "Monitor1"
    VendorName      "Bigname"
    ModelName       "BestModel"
    ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
    Option          "DPMS"
    EndSection

Agora, tendo completado estes passos simples de edição, o X deve iniciar no seu novo monitor widescreen.

### 5.9.3. Solução de problemas do Compiz Fusion

5.9.3.1. Eu instalei o Compiz Fusion, e depois de executar os comandos que você mencionou, minhas janelas ficaram sem barras de título e botões. O que está errado?
5.9.3.2. Quando executo o comando para iniciar o Compiz Fusion, o servidor X trava e eu volto ao console. O que está errado?

5.9.3.1. | Eu instalei o Compiz Fusion, e depois de executar os comandos que você mencionou, minhas janelas ficaram sem barras de título e botões. O que está errado?
| Provavelmente está faltando alguma configuração em `/etc/X11/xorg.conf`. Revise este arquivo cuidadosamente e verifique especialmente as diretivas `DefaultDepth` e `AddARGBGLXVisuals`.
5.9.3.2. | Quando executo o comando para iniciar o Compiz Fusion, o servidor X trava e eu volto ao console. O que está errado?
| Se você verificar o `/var/log/Xorg.0.log`, você provavelmente encontrará mensagens de erro durante a inicialização do X. As mais comuns seriam:
    (EE) NVIDIA(0):     Failed to initialize the GLX module; please check in your X
    (EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
    (EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
    (EE) NVIDIA(0):     you continue to encounter problems, Please try
    (EE) NVIDIA(0):     reinstalling the NVIDIA driver.
Este é geralmente o caso quando você atualiza o Xorg. Você precisará reinstalar o pacote x11/nvidia-driver para que o glx seja compilado novamente.

Anterior | Acima | Próxima
5.8. Instalando o Compiz Fusion | Principal | Parte II. Tarefas comuns

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.