Un point sur le multi-ecran
Par JJL, lundi 9 octobre 2006 à 17:54 :: kubuntu :: #128 :: rss
Introduction
Nous allons voir dans ce billet comment utiliser deux écrans, mais d'une manière un peu particulière puisque ma carte graphique n'a qu'une seule sortie[1] ! L'astuce est simple, il s'agit d'ajouter une 2ème carte graphique et de configurer Xorg de manière à utiliser les deux pour le même bureau.
Avant de se lancer dans les manipulations que nous allons voir, il est fortement conseillé de :
- ne pas avoir peur de la ligne de commande (vous allez la visiter)
- de savoir configurer un serveur Xorg (dpkg-reconfigure, xorg.conf)
- de connaitre un éditeur en mode texte (vi, nano...)
- et d'avoir du temps et de la patience devant soit
Enfin, avant de vous lancer, lisez tout pour bien comprendre la procédure, allez lire les liens (surtout celui-la) et mémorisez les moyens de s'en sortir. Disposer d'un autre pc avec accès internet n'est pas une mauvaise chose.
DualDesktop, Xinerama ... késako ?
Commençons par définir rapidement les termes que vous allez rencontrer dans ce billet :
DualDesktop, multi-bureau
Vous avez deux bureaux différents, un sur chaque écran. La souris peut se déplacer de l'un à l'autre, mais pas les applications (impossible d'étaler Gimp sur les deux écrans[2]). Vous disposez de deux barres de tâches, deux menus ...
DualScreen, multi-écran, bureau étendu
Vous disposez d'un seul bureau qui occupe les deux écrans. Les applications peuvent déborder de l'un à l'autre et vous ne disposez que d'une barre de tâches. Xinerama est un mode qui permet cela.
Le mode Clone
Ce mode permet de dupliquer votre bureau sur deux écrans. Il est utile pour les portables ou pour faire de la videoprojection par exemple.
Carte Video avec deux sorties
Evoquons tout de même cette possibilité. Certaines cartes disposent d'une double sortie graphique (par exemple VGA/DVI).
Si votre carte est une nvidia, je vous renvois vers le TwinView Wiki Ubuntu-fr ou vers le récent article de Racoon publié sur ce même planet.
Si votre carte est une ATI, deux possibilités s'offrent à vous :
- avec les drivers propriétaires[3] (fglrx) voyez du coté de Big-Desktop et aticonfig
- avec les drivers libres (ati/radeon), renseignez-vous sur MergeFB
Dans tous les cas, allez lire ce très bon tutorial sur ubuntuforum
Notons enfin que seul ce genre de cartes permettent d'avoir une accéleration 3D en même temps que deux écrans.
Deux cartes graphiques
La carte que vous allez ajouter à votre PC n'a pas besoin d'être une foudre de guerre. Elle ne servira qu'en 2D sur un écran généralement plus petit. Une vieille carte PCI avec 4 ou 8Mo sera largement suffisante. J'ai acheté une S3 Virge sur eBay pour 6€ port compris.
Attention si vous envisagez une Matrox, voyez ci-dessous
Dans ce billet nous utiliserons :
- ATi Radeon 9000/PRO en AGP avec le driver libre radeon
- S3 Virge/DX 4Mo en PCI avec le driver libre s3virge
La nouvelle carte
Pour tester votre nouvelle carte, le plus simple est de l'utiliser d'abord en tant que carte unique. Cela nous permettra aussi de faire la configuration Xorg pour celle-ci.
Attention : Commencez par sauvegarder votre fichier de configuration actuel ! Nous allons tout casser !
cd /etc/X11 sudo cp xorg.conf xorg.conf.MonoScreen_Radeon
Copiez le ailleur pour prévenir toute erreur de manipulation. Voyez aussi ci-dessous la section En cas de problème.
Configurez votre BIOS pour qu'il prenne une carte PCI comme adaptateur graphique principal (plutôt que AGP). Chez moi c'est dans :
- PNP Configuration
- Primary Graphic Controler
- PCI ou AGP
Démarrez alors normalement. Si tout se passe bien, Ubuntu va détecter le nouveau materiel et configurer Xorg pour qu'il utilise cette nouvelle carte[4]. Si non, rebootez en recovery mode et reconfigurez votre serveur X :
dpkg-reconfigure xserver-xorg reboot
Vous devez alors avoir l'interface graphique sur votre deuxième écran uniquement.
Copiez la nouvelle configuration :
cd /etc/X11 sudo cp xorg.conf xorg.conf.MonoScreen_S3
Mixons donc tout cela
Vous avez donc deux fichiers mono-écran que nous allons regrouper en un fichier multi-écrans. Créez en un nouveau à partir d'un :
sudo cp xorg.conf.MonoScreen_Radeon xorg.conf.DualScreen_Radeon_S3
Il y a 4 sections qui sont utiles dans notre cas :
- Device : La carte graphique
- Monitor : L'écran
- Screen : Le câble entre les deux
- ServerLayout : L'organisation de notre serveur
Recopiez intelligement ces sections d'un fichier à l'autre. Vous devez obtenir quelque chose qui ressemble à cela mais sur une seule colonne (Attention, j'ai enlevé la majorité des lignes pour ne garder que l'esprit du fichier !) :
# Les cartes graphiques Section "Device" Section "Device" Identifier "Radeon 9000" identifier "S3 Inc. ViRGE/DX" Driver "radeon" driver "s3virge" BusID "PCI:1:0:0" busid "PCI:0:9:0" EndSection EndSection # Les ecrans ( Attention aux fréquences ! ) Section "Monitor" Section "Monitor" identifier "DPlus 230SB" identifier "Flatsys" EndSection EndSection # Les liens entre tout cela : Carte/Ecran Section "Screen" Section "Screen" Identifier "Ecran de gauche" Identifier "Ecran de droite" Device "Radeon 9000" Device "S3 Inc. ViRGE/DX" Monitor "DPlus 230SB" Monitor "Flatsys" EndSection EndSection # L'aspect général de notre serveur Xorg Section "ServerLayout" Identifier "Default Layout" Screen 0 "Ecran de gauche" 0 0 Screen 1 "Ecran de droite" rightof "Ecran de gauche" # rightof peux être remplacé, voir : man xorg.conf EndSection
Note: les identifiants Screen X dans la section Device, souvent préconisés ne sont nécessaire qu'en cas de carte avec deux sorties
Je met à disposition tous les fichiers que j'ai fait au fur et à mesure de mes tests. Ils devraient tous fonctionner, mais je ne garantis rien. Lisez le readme.
Redemarrez Xorg, vous devez alors avoir deux bureaux ! Votre ancien sur l'écran de gauche et un nouveau à droite. Pour avoir un bureau étendu, ajouter ces lignes :
Section "ServerFlags" option "Xinerama" "true" EndSection
Et mon ancienne Matrox ?
Je dispose d'une Millenium I[5] de bien meilleure qualité qu'une S3. Malheureusement elle n'est pas au mieux pour le dual screen :
- il FAUT que la carte principale soit PCI, donc le PC boot sur le 2ème écran
- l'extension Xvideo n'est pas supportée par cette génération, donc pas de video sur le 2ème écran
Bref c'esr rédibitoire
Les Scrinechoutes
Et pour ceux qui ont eu le courage d'aller jusque la, voici quelques images :
D'abord une photo des deux écrans en mode bureau étendu. Remarquez la vidéo à cheval sur les deux :
Et la capture d'écran correspondante[6]. On remarque une zone noire innaccessible situé en dessous de l'écran de droite. En effet, celui-ci à une résolution moindre que l'autre.
Enfin, les même en mode DualDesktop :
En cas de problème
De multiples problèmes peuvent apparaître au cours de ces manipulations. Il serait étonnant que vous ayez Xorg qui fonctionne tout au long de vos tests. Voici donc quelques pistes :
- Pour restaurer votre configuration originale :
cd /etc/X11 sudo cp xorg.conf.MonoScreen_Radeon xorg.conf
- si possible ayez un autre PC connecté au réseau. Il est très agréable de garder un éditeur (Kate) ouvert avec le xorg.conf et le fichier de log. De même google et les forums de ubuntu-fr sont vos amis
- Les logs de Xorg sont dans /var/log/Xorg.0.log et /var/log/Xorg.0.log.old. Pour en extraire les lignes d'erreurs utilisez :
grep -E "WW|EE" /var/log/Xorg.0.log
- Pour tester votre (non) acceleration graphique :
glxinfo |grep rendering glxgears -printfps
- Pour reconfigurer votre serveur Xorg, rebootez en recovery mode à partir du menu de Grub et entrez
dpkg-reconfigure xserver-xorg
- Vous n'avez pas besoin de redémarrer votre PC à chaque fois, Ctrl+Alt+Backspace tue votre serveur X. sudo pkill kdm[7] vous renvoi vers la ligne de commande tapez alors startx pour repartir
- Pour lister les cartes graphiques et leurs identfiant PCI (pour BusId) :
lspci |grep VGA # ou Xorg -scanpci
- Conservez vos fichiers MonoScreen, la prochaine fois que vous voudrez de la 3D, vous y reviendrez
Liens connexes
- Un HowTo pour Ubuntu qui couvre presque tous les cas dans les forums
- Xinerama sur Wikipedia
- Le MultiHead chez Lea-Linux
- ATI : MergeFB
- Un HowTo pour xinerama
- Matrox Millenium et Xinerama et la page de man de mga
Pour aller plus loin :
Commentaires
1. Le vendredi 6 octobre 2006 à 15:14, par seb
2. Le samedi 7 octobre 2006 à 00:11, par JJL
3. Le lundi 9 octobre 2006 à 20:34, par philippe
4. Le lundi 9 octobre 2006 à 21:02, par JJL
5. Le samedi 26 mai 2007 à 22:58, par slave1802
6. Le dimanche 27 mai 2007 à 14:18, par JJL
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.