Suite à l'acquisition d'un écran supplémentaire pour mon pc portable, j'ai eu la brillante idée d'activer le TwinView.
Chose merveilleuse, j'ai deux écrans magnifiques (celui du portable + le tout neuf) sur lesquels je peux poser plein de fenêtres partout partout... le pied.
Mais voilà, je suis également un peu joueur et j'ai un petit problème que je n'arrive pas à résoudre malgré le gros README de Nvidia, Google mon ami et les tests au hasard : les jeux se lancent à cheval sur les deux écrans... c'est très pénible.
Précisions sur le matériel et les logiciels :
- GeForce 8600M
- Utilisation de la sortie HDMI pour l'écran externe
- Sous Debian Lenny
- Modules NVidia trouvés dans les dépots (nvidia-glx et nvidia-kernel 173.14.09)
- OpenArena et Warzonne 2100 en cause.
Voilà mon xorg.conf
# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg
Section "Module"
Load "record"
# Load "dri"
# Load "GLcore"
Load "xtrap"
Load "glx"
Load "extmod"
Load "dbe"
Load "type1"
Load "freetype"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "fr"
Option "XkbVariant" "latin9"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
EndSection
Section "ServerFlags"
Option "Xinerama" "0"
EndSection
Section "Device"
Identifier "Configured Video Device"
Driver "nvidia"
Option "AddARGBGLXVisuals" "True"
Option "AllowIndirectPixmaps" "True"
Option "AllowGLXWithComposite" "true"
Option "AllowSHMPixmaps" "0"
Option "BackingStore" "True"
Option "DamageEvents" "True"
Option "NoLogo" "True"
Option "OnDemandVBlankInterrupts" "True"
#Option "PixmapCacheSize" "1000000"
Option "PixmapCacheSize" "200000"
Option "RenderAccel" "True"
Option "TripleBuffer" "True"
Option "UseCompositeWrapper" "True"
Option "UseDisplayDevice" "DFP-1, DFP-0"
Option "UseEvents" "False"
Option "TwinView" "True"
Option "TwinViewOrientation" "DFP-1 LeftOf DFP-0"
#Option "Metamodes" "DFP-1: 1920x1080, DFP-0: 1680x1050 ; DFP-1: NULL, DFP-0: 1680x1050 ; DFP-1: 1920x1080, DFP-0: NULL"
# Option "NoTwinViewXineramaInfo" "True"
Option "TwinViewXineramaInfoOrder" "DFP-1"
# Option "EnableACPIHotkeys" "True"
EndSection
Section "Monitor"
Identifier "Configured Monitor"
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Option "AddARGBGLXVisuals" "true"
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
# Eeeeuuuhhhh
Posté par Ph Husson (site web personnel) . Évalué à 2.
1.Pour une carte aussi récente vaut mieux prendre un driver récent type 180.29
2.Je te conseillerais bien de virer toute ta config, vu que rien ne sert là dedans, et laisser faire l'autodétection+nvidia-settings/
Sauf que pour ton problème tu fais presque tout ce qu'il faut pour être sur que ca marche pas.
Je connais pas les détails au niveau de l'implémentation nvidia qui est un peu tordue mais voilà: pour "déclarer" le multiécran aux applications, la seule norme c'est le xinerama, sauf que 1.Tu le désactive dans les server flags, donc déjà c'est mal barré, et 2.Pourquoi tu mets dans le TwinViewXineramaInfoOrder, que le DFP-1 et pas le DFP-0 ? Là encore je connais pas très bien les options nvidia, mais il me semble que ca veut dire que même s'il déclarait le xinerama (ce qui ne semble déjà pas être le cas...), il ne déclarerait qu'un écran, donc bon les applis vont être un peu à la ramasse après c'est normal.
[^] # Re: Eeeeuuuhhhh
Posté par mekare . Évalué à 2.
1. Je suis Debian Lenny et j'ai pas vraiment envie de niquer mon gestionnaire de paquet en installant des modules ou autres appli qu'il me sera difficile de mettre à jour.
2. J'aurais préféré me passer d'une gui (nvidia-settings) pour configurer l'interface graphique qui la supporte... ça ne me parait pas logique. Mais je vais essayer.
3. Xinerama : il me semble qu'en l'utilisant et lorsqu'on maximise les fenêtres, celles-ci se mettent sur les deux écrans. Et ça j'en veux pas. Mais je peux me tromper ou m'être induit en erreur à cause d'une mauvaise conf.
4. Option "TwinViewXineramaInfoOrder" "DFP-1" ==> Permet d'avoir l'écran "DFP-1" (l'écran externe dans mon cas) en primaire afin que par exemple l'invite de connexion s'affiche sur celui-ci, que les panneaux (xfce) se place dessus etc...
5. Petite précision : Je viens de m'apercevoir que je peux paramétrer les jeux à la résolution des deux écrans 3600x1080 ((1920+1680)x1080) et que je ne peux plus sortir de ce mode. J'ai le jeux en plein écran sur deux écran et ça c'est mal (c'est mal au yeux surtout)
[^] # Re: Eeeeuuuhhhh
Posté par Thibault (site web personnel) . Évalué à 1.
[^] # Re: Eeeeuuuhhhh
Posté par mekare . Évalué à 2.
[^] # Re: Eeeeuuuhhhh
Posté par Ph Husson (site web personnel) . Évalué à 2.
Oui bon dit comme ca ca peut paraitre idiot, mais c'est juste un outil d'appoint à l'autodétection du driver qui se débrouille bien tout seul, et bon c'était juste un conseil, pas sur que ca change grand chose non plus de tout supprimer.
3. Xinerama : il me semble qu'en l'utilisant et lorsqu'on maximise les fenêtres, celles-ci se mettent sur les deux écrans. Et ça j'en veux pas. Mais je peux me tromper ou m'être induit en erreur à cause d'une mauvaise conf.
Oui et non. Xinerama c'est deux choses, c'est quelque chose au niveau de driver et autre chose au niveau des applis. Si seule la partie au niveau des drivers est appliqué et que les applis ont pas de communication pour le connaitre, alors effectivement ca se mettera sur deux écrans. Mais de toutes facons le TwinView nVidia fait déjà ce travail, donc (dés)activer le Xinerama sur un Xorg avec driver nvidia tout ce que ca change c'est la signalisation aux applis. Par contre si tu dis ca, ca doit être que t'as déjà essayé, donc doit y avoir un truc tres bizaarre dans ta configuration qui m'échappe ...
4. Option "TwinViewXineramaInfoOrder" "DFP-1" ==> Permet d'avoir l'écran "DFP-1" (l'écran externe dans mon cas) en primaire afin que par exemple l'invite de connexion s'affiche sur celui-ci, que les panneaux (xfce) se place dessus etc..
Bon j'ai pas la doc nvidia sous le coude, mais je penses que ca serait plus logique de mettre DFP-1, DFP-0.
5. Petite précision : Je viens de m'apercevoir que je peux paramétrer les jeux à la résolution des deux écrans 3600x1080 ((1920+1680)x1080) et que je ne peux plus sortir de ce mode. J'ai le jeux en plein écran sur deux écran et ça c'est mal (c'est mal au yeux surtout)
Je penses (mais j'affirme pas), qu'en dynamictwinview (config par défaut quand c'est pas hardcodé dans la config il me semble), que t'aura la liste des modes possibles (apres ca depend de ce qu'utilise ton jeu pour connaitre les résolutions)
[^] # Re: Eeeeuuuhhhh
Posté par mekare . Évalué à 2.
- "nvidia-settings" (avec ré-écriture d'un xorg.conf)
- Option "TwinViewXineramaInfoOrder" "DFP-1, DFP-0"
Je vais essayer :
- de m'orienter vers Xinerama : au cas ou il y est une option particulière pour ma config.
- de voir en conf dynamique si j'ai le même problème.
Je te tiens au courant demain soir.
[^] # Re: Eeeeuuuhhhh
Posté par NeoX . Évalué à 2.
(mono ecran, clavier/souris)
ensuite utilises nvidia-settings sans etre root dans un premier temps
ca te permet de tester tes options en faisant simplement "appliquer"
cela te permet aussi de passer du mode bi-ecran que tu aurais sauvegarder (pour en faire le reglage par defaut)
à un reglage mono-ecran le temps de lancer un jeu, ou une video
[^] # Re: Eeeeuuuhhhh
Posté par mekare . Évalué à 2.
... Et ce n'était pas ça.
J'ai pas le temps de faire d'autres essais ce soir, suite au prochain épisode.
Si jamais vous connaissez une bonne méthode pour tester le pilote graphique qui est fourni par NVidia sur son site, sans pourrir le système de tout un tas de fichiers impossible à retrouver quand on désinstalle, je suis preneur.
[^] # Re: Eeeeuuuhhhh
Posté par NeoX . Évalué à 2.
puis
nvidia-uninstall pour le desintaller
sinon il y avait aussi le paquet "envy" qui permet d'automatiser un peu tout ca
[^] # Re: Eeeeuuuhhhh
Posté par 태 (site web personnel) . Évalué à 3.
apt-get install -t experimental nvidia-kernel-source
m-a prepare
m-a build,install nvidia
[^] # Re: Eeeeuuuhhhh
Posté par mekare . Évalué à 2.
1. J'ai installé les driver propriétaires issus d'experimental, mais cela n'a rien changé. J'en profite pour ajouter la ligne manquante à l'installation façon Debian citée par Ernest H :
apt-get install -t experimental nvidia-kernel-source
m-a prepare
m-a build,install nvidia
apt-get -t experimental install nvidia-glx
2. J'ai arrêté d'être têtu et j'ai cherché des options dans nvidia-settings. Et en fait... Il fallait côché "Separate X Screen" et non "TwinView" puis activer "Xinerama". Puis rectifier le xorg.conf, mettre quelques options d'optimisation par ci par là. Et ça marche ! Sauf quelques bugs. Voici des exemples :
- MPlayer : quelque soit la sortie sélectionnée (xv, gl, gl2...) il faut arrêter un film et le relancer pour être en plein écran sur l'écran qui possède la résolution la plus importante (sinon on reste bloqué à la résolution de l'écran qui a la plus basse résolution).
- OpenArena : injouable, la souris est coincé à droite, pourtant j'ai repris la conf de la souris à l'identique de mon précédent xorg.conf (ou la souris fonctionnait dans ce jeux), mais rien n'y fait.
Pour ceux que ça interesse le xorg.conf final :
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 1.0 (randy@juliet2) Tue Jun 24 10:44:02 PDT 2008
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 1680 0
Screen 1 "Screen1" LeftOf "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
# InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
EndSection
Section "Module"
Load "record"
Load "xtrap"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
EndSection
Section "ServerFlags"
Option "Xinerama" "1"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
# Option "Protocol" "auto"
# Option "Device" "/dev/psaux"
# Option "Emulate3Buttons" "no"
# Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "fr"
Option "XkbVariant" "latin9"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "ACI VW246"
HorizSync 31.0 - 83.0
VertRefresh 56.0 - 76.0
Option "DPMS"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Seiko"
HorizSync 30.0 - 75.0
VertRefresh 61.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Videocard0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8600M GT"
BusID "PCI:1:0:0"
Screen 0
Option "AddARGBGLXVisuals" "True"
Option "AllowIndirectPixmaps" "True"
Option "AllowGLXWithComposite" "true"
Option "AllowSHMPixmaps" "0"
Option "BackingStore" "True"
Option "DamageEvents" "True"
Option "NoLogo" "True"
Option "OnDemandVBlankInterrupts" "True"
Option "PixmapCacheSize" "200000"
Option "RenderAccel" "True"
Option "TripleBuffer" "True"
Option "UseCompositeWrapper" "True"
EndSection
Section "Device"
Identifier "Videocard1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8600M GT"
BusID "PCI:1:0:0"
Screen 1
Option "AddARGBGLXVisuals" "True"
Option "AllowIndirectPixmaps" "True"
Option "AllowGLXWithComposite" "true"
Option "AllowSHMPixmaps" "0"
Option "BackingStore" "True"
Option "DamageEvents" "True"
Option "NoLogo" "True"
Option "OnDemandVBlankInterrupts" "True"
Option "PixmapCacheSize" "200000"
Option "RenderAccel" "True"
Option "TripleBuffer" "True"
Option "UseCompositeWrapper" "True"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "TwinViewXineramaInfoOrder" "DFP-1"
Option "metamodes" "DFP-1: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Videocard1"
Monitor "Monitor1"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "DFP-0: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
MERCI à tous pour votre aide.
[^] # Re: Eeeeuuuhhhh
Posté par mekare . Évalué à 2.
[^] # Re: Eeeeuuuhhhh
Posté par mekare . Évalué à 2.
[^] # Re: Eeeeuuuhhhh
Posté par Ph Husson (site web personnel) . Évalué à 2.
Oui c'est la conséquence logiquqe d'utiliser plusieurs "X screen", les drivers nvidia(cartes carrement?) n'aiment pas du tout ca, et doivent presque tout désactiver pour le supporter.
Bon sinon j'ai cherché, et je confirme ce que je dis il suffit d'être en twinview + xinerama pour faire ce que tu veux, MAIS, car il y a un gros mais, il faut que ton window manager gere le xinerama, en pratique je sais pas trop ou ca en est .
[^] # Re: Eeeeuuuhhhh
Posté par mekare . Évalué à 2.
J'ai plutôt l'impression qu'il faut choisir : ou TwinView, ou Xinerama, mais les deux ensembles cela ne fonctionne pas.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.