Gentoo Logo

Guia de migração para o X modular

Conteúdo:

1.  Introdução

Por que modular?

Você deve estar pensando, por que aquele pacote xorg-x11 simpático e simples se transformou em quase 300 separados? E você está justificado em perguntar. =) Não é uma coisa que o Gentoo está fazendo independentemente dos desenvolvedores do X.Org; eles estão dividindo os pacotes em lançamentos separados, e nós estamos seguindo eles.

O raciocínio atrás da divisão e mudança no sistema de construção tem pelo menos três motivos:

  • O X é muito difícil para atrair novos desenvolvedores, portanto a mudança para autotools, um sistema com que mais pessoas sentem-se confortáveis, se não contentes.
  • Junto com esta mudança, dividir o código é possível com autotools, e também torna mais fácil para desenvolvedores.
  • As coisas estavam desnecessariamente amarradas no passado, e isto tornou a solução de bugs quase impossível. Para poder lançar consertos, era necessário reconstruir todo XOrg. Por exemplo, um bug no driver ati poderia ou esperar 6 meses até o próximo lançamento, ou você teria que reconstruir suas fontes para tê-lo, sem qualquer razão.

2.  Migrando para o X modular

Introdução

Para impedir que pacotes antigos entrem no caminho, nós iremos limpar as sobras do xorg-x11 antigo antes de instalar o X modular. Isto não é absolutamente crucial, mas irá garantir uma migração suave.

Primeiro passo: limpe seu X antigo

Listagem de código 2.1: Fazendo back-up do xorg-x11 antigo

# emerge gentoolkit
# quickpkg xorg-x11

Livre-se da instalação monolítica:

Listagem de código 2.2: Desinstalando a instalação monolítica

# emerge -Ca xorg-x11 virtual/x11
# rm -rf /usr/lib/opengl/xorg-x11
# rm -rf /usr/lib/libGL*

Você certamente deve ter uma cópia de backup do xorg-x11 monolítico caso as coisas dêem totalmente errado.

Os passos seguintes ajudam a limpar os links simbólicos criados por opengl-update.

Se seu /usr/X11R6 não for um link simbólico para /usr, apague-o e comece do zero. Mas primeiro, salve uma lista de todos pacotes lá instalados.

Listagem de código 2.3: Faça uma lista dos pacotes

# if [[ ! -L /usr/X11R6 ]]; \
	then equery belongs /usr/X11R6 > usr-x11r6-packages \
	&& rm -rf /usr/X11R6; fi

Segundo passo: instalando o X modular

Primeiro, adicione os pacotes necessários a /etc/portage/package.unmask. Abra /usr/portage/profiles/package.mask no editor de texto de sua escolha e copie e cole a lista completa da máscara do X modular para package.unmask. Faça o mesmo com /etc/portage/package.keywords se você estiver rodando estável. Se nada disso fez sentido, leia a seção do manual sobre máscaras.

Para direct rendering, você deve ativar a opção de USE dri.

Agora, instale a metabuild. Ela irá instalar o servidor e aplicações populares, dando a você uma implementação de desktop de X funcional:

Listagem de código 2.4: Instalando a metabuild modular

# emerge xorg-x11

Note que esta instalação tenta ser mínima, então coisas como xcursor-themes não são instaladas por padrão.

A seguir, instale alguns drivers. Isto irá variar dependendo de seu hardware de entrada e de vídeo, então por favor olhe em /usr/portage/x11-drivers/. Aqui está um exemplo:

Listagem de código 2.5: Instalando alguns drivers

# emerge xf86-input-mouse xf86-input-keyboard xf86-video-ati

Nota: Com o X modular instalado, drivers externos como nvidia-glx e wacom bem como algumas aplicações de vnc podem não funcionar se instalarem coisas em /usr/lib/modules ao invés de /usr/lib/xorg/modules. Vários deles terão detecção de X modular no processo de instalação e irão precisar ser re-instalados depois da instalação do X modular.

3.  Avisos/Problemas comuns

'emerge -u world' quer instalar o xorg-x11 6.x

Este problema ocorre porque a árvore ainda não está pronta para dependências modulares ainda. Você pode ajudar o esforço de porting lendo o Guia de porting para X modular e abrindo bugs com patches para os mantenedores de cada pacote. Os mantenedores são listados no metadata.xml no mesmo diretório que o pacote e o pacote herdstat irá agilizar sua procura.

O que aconteceu com todas opções de USE?

Muitas opções de USE da série do xorg-x11-6.8 sumiram ou foram mudadas no 7.0. Algumas novas opções de USE apareceram. Aqui está o motivo:

Opção de USE O que acontece no 7.0?
3dfx No 7.0, puxa glide-v3 da metabuild do xorg-x11
3dnow, mmx, sse Ativadas por padrão na hora de construção, porque são verificações de runtime
bitmap-fonts, truetype-fonts, type1-fonts A metabuild do xorg-x11 puxa uma pequena seleção das fontes mais usadas e necessárias. Você pode instalar outras fontes adicionais de media-fonts/.
cjk USE=nls em font-misc-misc e font-sony-misc para obter fontes japonesas JISX0201. Mais fontes estão em font-jis-misc. Fontes chinesas estão em font-isas-misc. Fontes coreanas estão em font-daewoo-misc.
dlloader O 7.0 usa dlloader por padrão, e o elfloader não funciona/
doc Mudado para app-doc/xorg-docs
dmx Construído com xorg-server a menos que USE=minimal
font-server Você pode instalar o xfs manualmente.
ipv6 Mudado para pacotes individuais que usam a opção. Selecione globalmente se quiser.
minimal Para obter o mesmo efeito, instale só o xorg-server ao invés de xorg-x11. USE=minimal no xorg-server irá evitar a construção de Xdmx, Xvfb e Xnest. Se você precisar de algo ainda mais minimalista, veja x11-base/kdrive.
nls No 7.0, USE=nls instala todas versões não-ISO8859-1 das fontes.
nocxx Ainda não há equivalente no 7.0
opengl Nome mudado para "dri," que ativa suporte de direct rendering no xorg-server e muitos drivers. Estando USE=dri ligado ou desligado, você ainda pode ter software 3D através de Mesa.
pam Mudada para pacotes individuais que a usam, como xorg-server e xdm
sdk 7.0 deve instalar o SDK como uma conseqüência da modularização.
static Não faz mais sentido construir um servidor estático em um mundo modular, porque o driver não pode ser construído dentro dele.
xprint Na metabuild, puxa libXp. Em outras aplicações, constrói suporte para xprint. A maior parte das pessoas não devem ativar isto.
xv Não é mais opcional já que não economiza muito tamanho e causa outros problemas com pacotes que esperam xv.

Problemas de drivers

Ouvi relatos de que:

  • vesa trava em máquina com placa mga
  • vga produz uma tela muito estranha, dividida em quartos

Obtendo glxinfo/glxgears

Estes programas são agora fornecidos por x11-apps/mesa-progs. mesa-progs é puxado pelo pacote x11-base/xorg-x11 automaticamente.

Para obter informações de debug do glxinfo para ajudar a fazer direct rendering funcionar:

Listagem de código 3.1: Obtendo informações de debug do glxinfo

# LIBGL_DEBUG=verbose glxinfo

Auto-detecção de protocolo de mouse

Se você tiver Protocol "auto" configurado no xorg.conf para seu mouse pode não funcionar. Você pode ter que especificar Protocol "ExplorerPS/2" ou "IMPS/2" para que sua roda funcione.

Tudo em /usr/lib/xorg sumiu!

Reinstale o >=xorg-server-0.99.1-r4. Isto foi um bug temporário que resultou em apagamento depois da remoção de um pacote. Ao invés disso, /usr/lib/xorg só deveria ter sido apagado se nenhum xorg-server houvesse sobrado no sistema.

gdm/kdm não funcionam

Se você instalou o X modular em uma nova instalação do Gentoo, pode ser que você não tem um link simbólico /usr/X11R6 -> /usr. O pacote x11-base/xorg-x11 irá certificar que o link simbólico existe durante o processo de emerge.

Você pode ajudar a tirar as coisas de /usr/X11R6 consertando os pacotes que instalam coisas ali e abrindo bugs.

Outros problemas

  • O pacote x11-base/xorg-x11 agora filtra todas linhas ModulePath e RgbPath de seu /etc/X11/xorg.conf, já que os dois caminhos foram mudados desde versões anteriores. Certifique-se de rodar etc-update para finalizar estas mudanças.


Imprimir

Atualizado 2 de janeiro de 2006

Resumo: Este guia explica como migrar para o X.Org modular.

Donnie Berkholz
Autor

Joshua Baergen
Autor

Marcelo Góes
Tradutor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.