La configuration d'Xorg est un large sujet que je n'aborderai pas en détail : il s'agit plutôt ici d'un pense-bête pour moi-même . J'utilise un portable doté d'une GeForce 8400M. Il possède un écran LCD 1440x900 LCD, une sortie VGA et une autre sortie TV S-vidéo/Composite. Pour le travail j'utilise le portable avec un écran LCD additionnel et un clavier US. A la maison je n'utilise pas d'écran supplémentaire sauf pour regarder des films sur TV. Voilà ma configuraion Xorg en utilisant nvidia TwinView.
Configuration des layouts Xorg
J'ai créé 3 layouts pour passer facilement d'une installation à une autre (travail, tv et "defaut"). Chaque layout utilise des écrans et claviers différents :
Section "ServerLayout"
Identifier "work"
Screen "Workstation Screen" 0 0
InputDevice "US Keyboard"
InputDevice "Configured Mouse"
EndSection
Section "ServerLayout"
Identifier "default"
Screen "Default Screen" 0 0
InputDevice "FR Keyboard"
InputDevice "Configured Mouse"
EndSection
Section "ServerLayout"
Identifier "tv"
Screen "TV Screen" 0 0
InputDevice "FR Keyboard"
InputDevice "Configured Mouse"
EndSection
Agencement du clavier
J'ai ajouté deux input devices et défini un agencement US pour le premier tandis que le second conserve un agencement de touches FR.
Section "InputDevice"
Identifier "US Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
Option "XkbVariant" "intl"
EndSection
Section "InputDevice"
Identifier "FR Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "fr"
Option "XkbVariant" "latin9"
EndSection
Configuration générale
Nous indiquons à Xorg quels sont les modules que nous désirons utiliser. DRI veut dire Direct Rendering Interface et GLX veut dire OpenGL Extension to the X Window System. Ces deux modules sont nécessaires pour activer l'accélération 3D de la carte vidéo.
Ici je n'utilise pas Xinerama puisque le bi-écran sera assuré par TwinView.
Section "Module"
Load "dri"
Load "glx"
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
Section "ServerFlags"
Option "Xinerama" "0"
EndSection
Configuration des écrans
TwinView n'utilise qu'un écran logique. Toute la configuration se fait donc par la carte nvidia.
Nous allons juste définir un unique moniteur et un écran pour chaque layout.
Section "Monitor"
Identifier "Ecran LCD"
VendorName "Asus"
Option "DPMS"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "nVidia Corporation NVIDIA Default Card single head"
Monitor "Ecran LCD"
DefaultDepth 24
Option "AddARGBGLXVisuals" "true"
SubSection "Display"
Depth 24
Modes "1440x900"
EndSubSection
EndSection
Section "Screen"
Identifier "Workstation Screen"
Device "nVidia Corporation NVIDIA Default Card dual head"
Monitor "Ecran LCD"
DefaultDepth 24
Option "AddARGBGLXVisuals" "true"
SubSection "Display"
Depth 24
Modes "1440x900"
EndSubSection
EndSection
Section "Screen"
Identifier "TV Screen"
Device "nVidia Corporation NVIDIA Default Card TV"
Monitor "Ecran LCD"
DefaultDepth 24
Option "AddARGBGLXVisuals" "true"
SubSection "Display"
Depth 24
Modes "1440x900"
EndSubSection
EndSection
Configuration de TwinView
Voici la partie la plus importante, celle où nous configurons la carte vidéo. Voici mes paramètres :
- La configuration simple écran est la plus simple puisqu'elle ne nécessite pas TwinView.
- En configuration bi-écran, la sortie VGA est positionnée à la droite de l'écran LCD du portable.
- La configuration TV consiste en une copie des deux écrans.
Bien entedu, changez les paramètres en fonction de vos besoins
Section "Device"
Identifier "nVidia Corporation NVIDIA Default Card single head"
Driver "nvidia"
Option "NoLogo" "1"
Option "AllowGLXWithComposite" "true"
Option "RenderAccel" "true"
Option "TwinView" "0"
Option "MetaModes" "DFP-0: 1440x900"
EndSection
Section "Device"
Identifier "nVidia Corporation NVIDIA Default Card dual head"
# Avoid using too much power
# see http://linux.aldeby.org/nvidia-powermizer-powersaving.html
Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x3"
Driver "nvidia"
Option "NoLogo" "1"
Option "AllowGLXWithComposite" "true"
Option "RenderAccel" "true"
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "DFP, CRT"
Option "UseDisplayDevice" "DFP, CRT"
Option "TwinViewOrientation" "CRT RightOf DFP"
Option "MetaModes" "DFP-0: 1440x900, CRT-0: 1280x1024"
EndSection
Section "Device"
Identifier "nVidia Corporation NVIDIA Default Card TV"
Driver "nvidia"
Option "NoLogo" "1"
Option "AllowGLXWithComposite" "true"
Option "RenderAccel" "true"
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "DFP, TV"
Option "UseDisplayDevice" "DFP, TV"
Option "TwinViewOrientation" "Clone"
Option "MetaModes" "DFP-0: 640x480, TV-0: 640x480"
Option "TVOutFormat" "COMPOSITE"
Option "TVStandard" "NTSC"
EndSection
Choisir un layout Xorg
Le Layout par défaut est le premier défini dans votre fichier xorg.conf.
Pour démarrer une application dans un nouveau serveur X avec un layout différent, utilisez cette commande :
$~ startx "/usr/bin/vlc" -- /usr/bin/X :1 -layout tv
Il vous faudra peut être accorder la permission pour démarrer un nouveau serveur X. Le plus simple pour y arriver est d'utiliser :
$~ dpkg-reconfigure x11-common