Ceci est une ancienne révision du document !



Configurer le multi-écran

Nous allons voir ici 5 méthodes pour utiliser le multi-écran :

  • Xrandr
  • Xinerama (maintenant pris en charge au travers de Xrandr)
  • Dual-Desktop (dépréciée)
  • Twinview (Comme Xinerama, Cartes Nvidia récentes seulement si vous préférez cette méthode)
  • Un bureau avec 2 écrans de configurations différentes (vidéoprojecteur ou Télé)

Il est à noter que cette solution semble la plus rapide et la plus efficace car :

  • xorg.conf est peu modifié
  • xrandr permettra par la suite de modifier les configurations sans relancer X
  • indépendante de la carte graphique

Voir la page dédiée XRandR

J'ajoute une précision valable pour tous les types de réglage, sur les ordinateur portables l'écran par défaut n'est pas forcement celui que l'on croit.

Cas du vidéoprojecteur : vous êtes en conférence et le vidéoprojecteur refuse de transmettre l'image à votre écran. Allez sur cette page. Vous y trouverez peut-être comment remédier à la honte qui s'abat sur vous en 5 minutes…

Préparatifs : Sauvegardez

Avant de faire quoi que ce soit une bonne chose est de sauvegarder votre fichier de configuration xorg.conf actuel.

Commencez par sauvegarder votre fichier de configuration xorg.conf. Dans un terminal, entrez :

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.ok

En cas d'échec de vos tentatives de configuration, vous pourrez rétablir la configuration précédente avec :

sudo cp /etc/X11/xorg.conf.ok /etc/X11/xorg.conf

Xinerama et Dual-Desktop : double écran indépendant du pilote

Remarque : L'extension Xinerama est maintenant directement gérée par Xrandr.

Cette méthode est indépendante du type de pilote utilisé, et vous permet d'obtenir un double affichage, quelle que soit votre (ou vos) carte graphique et le type d'écran (CRT-CRT, LCD-CRT, CRT-TV, LCD-TV etc…), à condition bien sûr que la carte graphique possède 2 sorties (VGA, DVI, ou S-video).

Si vous possédez plusieurs cartes la méthode simple consiste à les insérer une à la fois et sauvegarder le xorg.conf généré, puis fusionner ces différents fichiers.

Remarque pour les détenteurs de cartes à chipset ATI :

Pour le double bureau sous Ubuntu 7.04 une fois les pilotes propriétaires installés à l'aide du "Gestionnaire de pilotes propriétaires" (pour KDE : Menu K → Paramètres du système → onglet Avancé → Pilotes propriétaires), exécutez la commande :

sudo aticonfig --initial=dual-head

permet une configuration automatique du Double bureau.

Ceci dit, il vous sera préférable, quelque soit le constructeur de votre carte, de mettre le pilote propriétaire, généralement fourni avec la distribution, ou sinon facilement téléchargeable. Ce pilote propriétaire permet dans certains cas d'obtenir des fonctions (un peu) plus pointues que celle fournis par des pilotes libres (voir pour nvidia).

XineRama

Cette configuration vous permet de promener une application d'un écran a l'autre, contrairement à la méthode précédente.

"Xinerama est une extension du X Window System" d'après Xinerama sur wikipedia

Le début de ce paragraphe est très fortement inspiré du Dual Monitor Support With Xinerama HowTo:

Le HOWTO Xinerama en Français est bien sûr utile…

Activation

Pour activer Xinerama il suffit de faire comme pour le double écran (voir plus haut puis de modifier la Section ServerLayout, afin d'y ajouter la ligne :

Option "Xinerama" "true"

ce qui donne quelque chose comme ça :

	Screen	0	"Default Screen"
	Screen	1	"Ecran 2" <position> "Default Screen"
        Option "Xinerama" "true"

<position> peut prendre les valeurs RightOf (à droite de), Below (en-dessous de), Above (au-dessus de), LeftOf (à gauche de), Absolute X Y, Relative.

Complement d'information

Pour activer ou désactiver le double écran il suffit de commenter la partie décrivant l'écran 2 ainsi que xinerama si vous l'aviez activé

	Screen	0	"Default Screen"
	#Screen	1	"Ecran 2" <position> "Default Screen"
        #Option "Xinerama" "true"

Pour activer ou désactiver Xinerama et ainsi passer en dual-Desktop il suffit de commenter la ligne activant Xinerama

	Screen	0	"Default Screen"
	Screen	1	"Ecran 2" <position> "Default Screen"
        #Option "Xinerama" "true"

Les petits soucis

  • Au démarrage de X, il ne sait pas s'il y a un ou plusieurs écrans.

J'ai résolu le problème en désactivant Xinerama avant de passer en simple écran … une autre solution existe, plutôt complexe et documentée en anglais : http://ubuntuforums.org/showthread.php?t=361124

  • L'arrière plan du bureau est commun aux 2 écrans.

Il faut donc un arrière plan assez large… Ou le mettre en mosaique…

  • On doit mettre le tableau de bord de façon à ce qu'il ne coupe pas en deux le double-écran. Dans le cas d'un écran au dessus de l'autre : mettre le tableau de bord en bas pour celui du bas, cliquer dessus et sélectionner "nouveau tableau de bord", prendre le nouveau tableau de bord avec la souris pour le placer en haut de l'écran du dessus. On ne peut pas mettre un tableau de bord sur le second écran

Twinview (Nvidia): un bureau étendu

Introduction

Twinview est une fonction présente dans les cartes Nvidia récentes (apres 2002 environ) (Geforce 2MX et plus) une liste qui semblerait etre compatible, en tout cas avec les pilotes propriétaires de Nvidia est disponible sur le site web de Nvidia.

Attention, certaines cartes graphique de cette liste ne sont PAS compatible avec Twinview. Ceci concerne toutes les cartes utilisant deux cœurs, comme la 9800 GX2 par exemple qui ne gère aucunement le Twinview.

L'installation des pilotes propriétaires de Nvidia est nécessaire pour activer cette fonction.

2 possibilités s'offrent à vous :

La première consiste à utiliser un petit outil fournis avec le pilote propriétaire. Cet outil s'apparente à NView sous Windows.

Avant toute chose, il vaut mieux s'assurer que c'est bien le pilote nvidia qui travaille. Après installation du pilote, dans un terminal tapez :

sudo nvidia-xconfig --twinview

Ceci aura pour conséquence de réécrire un fichier de configuration X en intégrant le fait que vous voulez twinview (en fait ça rajoute juste twinview "true") et en en faisant une sauvegarde (/etc/X11/xorg.conf.backup normalement).

Ceci fait, on s'assure que c'est bien paramétré et que ça marche (on redémarre X, soit en déconnectant, soit par Ctrl+Alt+⌫).

Une fois reconnecté, tapez dans votre terminal préféré :

sudo nvidia-settings

Si l'outils de configuration nvidia-settings n'est pas installé tapez dans votre terminal :

sudo apt-get install nvidia-settings

Une interface graphique va s'ouvrir, modifiez alors à votre guise.

Il suffit d'aller dans le onglet "X Server Display Configuration" et activer le 2ème écran en appuyant sur "Configure", puis sélectionner TwinView. Ensuite choisir les résolutions souhaitées, etc. Finalement, appuyer sur Apply pour appliquer la configuration. La barre des menus sera étendue sur les 2 écrans. Pas de panique .. Il suffira de sauvegarder en cliquant sur "Save to X Configuration file", puis relancer le X avec CTRL+ALT+BACKSPACE.

La deuxième possibilité consiste à faire soi-même le paramétrage de X.

N'oubliez en aucun cas de faire une copie de sauvegarde du fichier /etc/X11/xorg.conf (voir plus haut).

Xorg

Éditez le fichier /etc/X11/xorg.conf.

Configuration manuelle

Trouvez la section Device. Exemple :

Section "Device"
	Identifier	"NVIDIA Corporation NV25 [GeForce4 Ti 4200]"
	Driver		"nvidia"
	BusID		"PCI:1:0:0"
	Option        	"NoLogo"
EndSection

Et ajoutez-y les lignes suivantes :

	Option 		"TwinView" "true"
	Option 		"MetaModes" "1280x1024, 1280x1024; 1024x768, 1024x768"
	Option 		"SecondMonitorHorizSync" "65-85"
	Option 		"SecondMonitorVertRefresh" "50-160"
	Option 		"TwinViewOrientation" "RightOf"

Modifiez les valeurs suivant votre configuration :

  • MetaModes : cette option definit les deux résolutions utilisées par vos deux écrans. Les deux résolutions d'un mode sont séparées par une virgule et chaque couple est séparé par un point-virgule. Dans l'exemple ci-dessus, les deux résolutions totales seront de 2560x1024 et 2048x768;
  • SecondMonitorHorizSync & SecondMonitorVertRefresh : ce sont les valeurs de rafraîchissement à modifier eventuellement suivant votre deuxième écran;
  • TwinViewOrientation : ce paramètre modifie la positionnement de votre deuxième écran par rapport au premier : LeftOf ou RightOf ou Above ou Below.

Toutefois, si votre 2e écran est une TV, pas la peine de vous acharner avec SecondMonitor… C'est l'encoder de la carte qui définit elle-même ce qu'il faut. Et toujours dans le cas d'une TV, les options « TVOutFormat » et « TVStandard » doivent être indiquées (en cas de « noir et blanc » par exemple).

Activer ou désactiver rapidement le 2e écran

Cela peut s'avérer utile quand on veut lancer une application plein-écran qui divise son affichage entre les deux écrans. Le moyen le plus rapide est de faire deux fichiers modèles de votre xorg.conf (un avec les options twinview et un autre sans) que nous appellerons xorg_mono.conf et xorg_dual.conf :

 sudo cp /etc/X11/xorg.conf /etc/X11/xorg_mono.conf
 sudo cp /etc/X11/xorg.conf /etc/X11/xorg_dual.conf

Editez l'un ou l'autre de ces deux fichiers suivant que vous ayez le multi-écran activé ou pas. Pour remplacer rapidement le fichier « xorg.conf » avec un des deux modèles, nous allons créer deux petits scripts cachés dans votre dossier personnel : « .monoscreen » et « .dualscreen ».

Créez ou éditez le dossier ~/.monoscreen et ajoutez-y ceci :

sudo cp /etc/X11/xorg_mono.conf /etc/X11/xorg.conf

Créez ou éditez à présent le dossier ~/.dualscreen et ajoutez-y ceci :

sudo cp /etc/X11/xorg_dual.conf /etc/X11/xorg.conf

Pour permettre l'exécution, allez dans les propriétés des fichiers, onglet Permissions :

Cochez au moins la première case de la colonne Exécution.

Ensuite pour lancer les scripts avec les privilèges administrateurs, créez deux lanceurs sur le bureau ou dans le panel avec la commande « gksudo $HOME/.monoscreen » et « gksudo $HOME/.dualscreen ». Pour les utilisateurs de KDE, remplacez « gksudo » par « kdesu ».

Une fois le script exécuté, il ne reste plus qu'à redémarrer le serveur X (Ctrl+Alt+⌫).

Ati (fglrx)

une méthode simple pour obtenir du double écran sous ubuntu avec une carte ATI c'est de laisser le xorg.conf par défaut et d'exécuter aticonfig qu'on installe avec la commande suivante:

 sudo apt-get install fglrx-control 
            <entrée> (installation des outils ATI)

puis après:

 sudo aticonfig --initial=dual-head --screen-layout=left 
            <entrée> 

vous pouvez utilement voir les pages suivantes: la procédure d'installation des pilotes propriétaires ATI depuis les dépôts, l'écran de démarrage avec une carte ATI et également les problèmes d'ordre général sur Usplash.

J'ai essayé cette méthode et elle ne fonctionne pas chez moi (j'ai une ATI 9700); en revanche la méthode xrandr fonctionne très bien.

Problème clavier en qwerty

Il se peut qu'en utilisant les outils ci-dessus, notamment "nvidia-settings", votre bureau se retrouve avec le clavier en qwerty. Pour remédier à ça, il faut que vous éditiez votre fichier /etc/X11/xorg.conf, puis trouvez la section :

Section "InputDevice"
  # generated from default
  Identifier     "Keyboard0"
  Driver         "kbd"
EndSection

Ajoutez y les options :

  Option         "XkbModel"    "pc105"
  Option         "XkbLayout"   "fr-latin9"

Ce qui doit donner :

Section "InputDevice"
  # generated from default
  Identifier     "Keyboard0"
  Driver         "kbd"
  Option         "XkbModel"    "pc105"
  Option         "XkbLayout"   "fr-latin9"
EndSection

Problème avec Compiz

Si vous rencontrer des problèmes de lenteurs avec les menus contextuels et une saccade des animations sur un des écrans, utiliser ce petit script au démarrage de votre session et tout rentrera dans l'ordre.

Tout d'abord

  • On ouvre gedit et on copie le script bash ci-dessous
#!/bin/bash
DISPLAY=":0.0" compiz --replace --only-current-screen &
DISPLAY=":0.1" compiz --replace --only-current-screen &
DISPLAY=":0.0" emerald --replace &
DISPLAY=":0.1" emerald --replace &

Une fois sauvegardé, autorisez le script a être exécuté

  • Clique droit > Propriété > Permissions

Et on coche "Autoriser l'exécution du fichier comme un programme"

Maintenant direction l'utilitaire de session d'Ubuntu:

  • Système > Préférence > Session

On créer un nouvel élément dont la commande a exécuter pointera vers notre script.

Si le script ne fonctionne pas correctement au demarrage de la machine, rajoutez-y au debut : sleep 20 (ou moin si votre machine est rapide), histoire de decaler un peu le moment de lancement du script.

Et voila, c'est le retour de la fluidité!

Note: Si vous utilisez des options supplémentaire (loose binding, etc..) de compiz, n'oubliez pas de les rajouter dans le script.

Problème twinview avec TV cathodique non détectée

Après de multiples tentatives avec une télé qu'on arrivait pas à faire détecter par la méthode twinview, on a trouvé une façon de configurer un xorg.conf qui permet de forcer la détection de cette (vieille) télé par le pilote nvidia. L'astuce consiste à rajouter dans l'option ConnectedMonitor l'argument TV-0 et non TV tout court…

Voici le xorg.conf en entier

  Section "ServerLayout"
  Identifier     "Default Layout"
  Screen      0  "Screen0" 0 0
  InputDevice    "Generic Keyboard" "CoreKeyboard"
  InputDevice    "Configured Mouse"
  EndSection
  Section "Module"
  Load           "glx"
  EndSection
  Section "InputDevice"
  Identifier     "Generic Keyboard"
  Driver         "kbd"
  Option         "XkbRules" "xorg"
  Option         "XkbModel" "pc105"
  Option         "XkbLayout" "fr"
  Option         "XkbVariant" "oss"
  EndSection
  Section "InputDevice"
  Identifier     "Configured Mouse"
  Driver         "mouse"
  Option         "CorePointer"
  EndSection
      Section "Monitor"
      Identifier "Television" #TV
      HorizSync 30-50
      VertRefresh 60
      EndSection
  Section "Monitor"
  Identifier     "Monitor0"
  VendorName     "Unknown"
  ModelName      "ViewSonic E651-3"
  HorizSync       30.0 - 56.0
  VertRefresh     50.0 - 120.0
  EndSection
  Section "Device"
  Identifier     "Videocard0"
  Driver         "nvidia"
  VendorName     "NVIDIA Corporation"
  BoardName      "GeForce 7600 GS"
  Option         "NoLogo" "True"
  Option  "TVOutFormat" "SVIDEO"
  Option  "TVStandard" "PAL-B"
  #Option "UseDisplayDevice" "CRT-1, TV"
  Option "ConnectedMonitor" "CRT-1, TV-0"
  EndSection
  Section "Screen"
  Identifier     "Screen0"
  Device         "Videocard0"
  Monitor        "Monitor0"
  DefaultDepth    24
  Option         "NoLogo" "True"
  Option "TwinView" "true"
  Option "TwinViewOrientation" "RightOf"
  Option "MetaModes" "1024x768,800x600;800x600,800x600;640x480,640x480;512x384,512x384"
  EndSection

Contributeurs : traaf, adam0509 et bruno-Kaledonie (Xinerama), Fabien26 (actualisation et simplification des parties Xinerama et dual desktop), azerttyu (xrandr), changfu (Compiz), jeyk

  • multi-ecran.1268243887.txt.gz
  • Dernière modification: Le 10/03/2010, 18:58
  • par 213.95.41.13