Migration vers X modulaire
Introduction
Pour empêcher les vieux paquets de perturber l'opération, nous allons nettoyer
complètement l'ancien xorg-x11 avant d'installer X modulaire. Ce n'est pas
absolument crucial, mais cela aidera à assurer une migration sans accroc.
Première étape : nettoyage de l'ancien X
# emerge gentoolkit
# quickpkg xorg-x11
Se débarasser de l'installation monolithique :
# emerge -Ca xorg-x11 virtual/x11
# rm -rf /usr/lib/opengl/xorg-x11
# rm -rf /usr/lib/libGL*
Il est fortement conseillé de faire une sauvegarde du xorg-x11 monolithique au
cas où les choses se passeraient vraiment très mal.
Les dernières opérations sont nécessaires pour être certain de se débarasser
des liens symboliques créés par opengl-update.
Si /usr/X11R6 n'est pas un lien symbolique vers /usr,
effacez-le et partez de zéro. Mais d'abord, établissez une liste de tous les
paquets s'installant dans ce répertoire.
# if [[ ! -L /usr/X11R6 ]]; \
then equery belongs /usr/X11R6 > usr-x11r6-packages \
&& rm -rf /usr/X11R6; fi
Seconde étape : installer le X modulaire
D'abord, ajoutez les paquets nécessaires dans le fichier
/etc/portage/package.unmask. Ouvrez
/usr/portage/profiles/package.mask avec l'éditeur de texte de
votre choix et faites un copier-coller de la liste complète des fichiers masqués
pour X modulaire dans package.unmask. Faites de même pour
/etc/portage/package.keywords si vous êtes dans la branche stable.
Si tout ceci vous est incompréhensible, lisez
la section concernant le masquage du manuel..
Pour avoir accès au direct rendering, ajoutez l'option dri
à la variable USE.
Maintenant, installez le méta-paquet. Cela installera le serveur et les
applications usuelles, vous donnant accès à une implémentation fonctionnelle
de X.
# emerge xorg-x11
Remarque : cette installation est plutôt minimaliste, donc les choses comme
xcursor-themes ne seront pas installées par défaut.
Ensuite, installez quelques pilotes. Cela dépend de votre matériel vidéo et
de vos périphériques d'entrée, donc jetez un œil au répertoire
/usr/portage/x11-drivers/. Voici un exemple :
# emerge xf86-input-mouse xf86-input-keyboard xf86-video-ati
Une fois la version modulaire installée, certains pilotes externes comme
nvidia-glx et wacom tout comme certaines applications vnc risquent de ne pas
fonctionner si ils installent des choses dans /usr/lib/modules
au lieu de /usr/lib/xorg/modules.
Une détection de X modulaire a été ajoutée au processus d'installation de la
plupart d'entre eux ainsi ils auront besoin d'être réinstallés après
l'installation de X modulaire.
Remarques/problèmes usuels
'emerge -u world' veut installer xorg-x11 6.x
Cela est dû au fait que l'arbre n'est pas encore adapté aux dépendances vers X
modulaire. Vous pouvez aider à la transition en lisant
Porting to Modular
X HowTo et en remplissant des bogues avec les correctifs pour les mainteneurs
des paquets. Les noms des mainteneurs sont listés dans le fichier
metadata.xml dans le répertoire du paquet. Le paquet herdstat
accelèrera leur requête.
Qu'est-il advenu de toutes les options de la variable USE ?
De nombreuses options USE de la série xorg-x11-6.8 ont disparu ou changé pour la 7.0.
De nouvelles sont aussi apparues. En voici la description :
Variable USE |
Que se passe-t-il avec la 7.0 ? |
3dfx
Dans la 7.0, intègre glide-v3 depuis le méta-paquet xorg-x11
3dnow, mmx, sse
Activées par defaut lors de la compilation, car des contrôles sont effectués
bitmap-fonts, truetype-fonts, type1-fonts
Le méta-paquet xorg-x11 n'installe qu'une petite sélection des
fontes les plus utilisées ou nécessaires. Vous pouvez installer
en plus toutes celles qui se trouvent dans media-fonts/.
cjk
USE=nls pour font-misc-misc and font-sony-misc permet d'obtenir
les fontes japonaises JISX0201. D'autres sont disponibles dans
font-jis-misc. Les fontes chinoises se trouvent dans font-isas-misc.
Les fontes coréennes sont dans font-daewoo-misc.
dlloader
La 7.0 utilise dlloader par défaut et elfloader ne fonctionne pas.
doc
Remplacé par app-doc/xorg-docs
dmx
Compilé avec xorg-server sauf avec l'option USE=minimal
font-server
Il faut installer manuellement xfs
ipv6
Adaptée seulement aux paquets l'utilisant. Réglez-la de manière
globale si vous la voulez.
minimal
Pour obtenir le même effet, installez uniquement xorg-server à la place
de xorg-x11. L'option minimal pour xorg-server permet de ne pas compiler
Xdmx, Xvfb et Xnest. Si vous avez besoin de quelque chose d'encore plus
minimal, orientez-vous vers x11-base/kdrive.
nls
Dans la 7.0, USE=nls installe toutes les versions non-ISO8859-1 des fontes.
nocxx
Pas encore d'équivalent pour la 7.0
opengl
Changée en « dri » qui active le rendu direct (direct rendering)
dans xorg-server et de nombreux pilotes. Que USE=dri soit activé ou non, vous
devriez toujours avoir de la 3D logicielle via Mesa.
pam
Adaptée aux paquets l'utilisant uniquement tels xorg-server et xdm.
sdk
La 7.0 doit installer le SDK à cause de la modularisation.
static
Cela n'a presque aucun sens de vouloir compiler un serveur statique dans
un monde modulaire, car les pilotes ne peuvent être compilés avec.
xprint
Pour le méta-paquet, cela intègre libXp. Pour les autres applications,
cela intègre le support pour xprint. La plupart des gens n'ont pas
besoin de cette option.
xv
N'est plus une option car cela n'engendre presque aucun gain de place et
pose problème avec certains paquets s'attendant à ce qu'elle soit activée.
Problèmes de pilotes
On m'a rapporté que :
- vesa bloque la machine avec les cartes mga
- vga donne un affichage très étrange, l'écran étant divisé en quatre.
Utiliser glxinfo/glxgears
Ces programmes sont maintenant fournis par x11-apps/mesa-progs.
mesa-progs est automatiquement installé par x11-base/xorg-x11.
Pour obtenir des informations de débogage de la part de glxinfo pour faire
fonctionner le rendu direct :
# LIBGL_DEBUG=verbose glxinfo
Auto-détection du protocole de la souris
Si vous avez configuré votre souris avec Protocol "auto" dans xorg.conf,
cela risque de ne pas fonctionner. Il vous faudra alors spécifier
Protocol "ExplorerPS/2" ou "IMPS/2" pour que votre molette
fonctionne.
Le contenu de /usr/lib/xorg a disparu !
Installez à nouveau >=xorg-server-0.99.1-r4. C'était un bogue temporaire
dans l'ebuild qui avait pour conséquence l'effacement après désinstallation du
paquet. Normalemment, /usr/lib/xorg ne devrait être effacé que
s'il n'y a plus aucun xorg-server sur le système.
gdm/kdm ne fonctionne pas
Si vous avez installé X modulaire sur une nouvelle installation Gentoo,
il se peut que vous n'ayez pas le lien symbolique
/usr/X11R6 -> /usr.
Le paquet x11-base/xorg-x11 s'assurera que ce lien existe durant le
processus d'installation.
Vous pouvez aider à sortir les choses de /usr/X11R6 en corrigeant
les paquets qui s'y installent et en remplissant des rapports de bogue.
Autres problèmes
-
Le paquet x11-base/xorg-x11 filtre maintenant tous les ModulePath et
RgbPath de votre /etc/X11/xorg.conf, puisque ces deux chemins
ont changé depuis les versions précédentes. Assurez-vous de lancer etc-update
pour que ces modifications prennent effet.
-
De nombreuses dispositions de clavier XKB ont été déplacées, consolidées ou ont
disparu. Regardez le répertoire /usr/share/X11/xkb/symbols/pc pour
voir ce qu'il est advenu de votre ancien paramètre XkbLayout de xorg.conf. Par
exemple, pour remplacer la disposition "us_intl", vous devriez mettre XkbLayout
"latin", XkbOptions "lv3:ralt_switch". Pour remplacer la disposition
"sk_qwerty", il faut mettre XkbLayout "sk", XkbVariant "qwerty". Cas plus
compliqué, vous avez XkbLayout "us,sk_qwerty". Pour le faire fonctionner, le
nouveau paramètre serait XkbLayout "us,sk", et l'astuce, c'est la virgule dans
XkbVariant ",qwerty", parce qu'on veut que la variante s'applique à la seconde
disposition.