Triple (3) moniteurs sous Linux


30

J'ai une configuration de 3 moniteurs (chacun 1680x1050) via un Nvidia NVS440 (2 GPU, 2 sorties par GPU totalisant 4 sorties); cela fonctionne bien sous Windows XP, 7 mais a provoqué des maux de tête considérables sous Linux (Ubuntu 9.04).

J'avais précédemment utilisé un XFX 9600GT et le XFX 9300GS embarqué pour produire le même résultat mais la carte était bruyante et gourmande en énergie et j'espérais qu'il y avait un interrupteur magique dans le NVS4400 qui se débarrassait de ce problème ennuyeux - se révèle le NVS440 est juste 2 cartes sur un PCB physique :-p (j'ai recherché le net haut et bas pour les personnes utilisant cette carte sous Linux mais n'a rien trouvé, si quoi que ce soit la carte utilise moins d'énergie et est moins fan donc je devais en profiter de toute façon )

Quoi qu'il en soit, en utilisant l'une ou l'autre configuration, 5 solutions étaient disponibles:

  • Avoir 3 instances X distinctes, toutes non jointes
  • Avoir 3 instances X distinctes, jointes par Xinerama
  • Avoir 2 instances X distinctes - une utilisant la vue double, toutes deux adjacentes à Xinerama
  • Avoir 2 instances X distinctes - une utilisant la vue double mais pas de Xinerama
  • Avoir une configuration Twin-view unique et laisser le 3ème écran débranché :-p

La 4ème option, utilisant 2 instances X distinctes et twinview (mais pas de xinerama) était le meilleur équilibre en termes de performances et de convivialité, mais a causé 2 problèmes vraiment ennuyeux

  • Vous ne pouviez pas contrôler (sans modifier les raccourcis) sur quel écran une application était ouverte - et une fois ouverte, vous ne pouviez pas la déplacer vers un autre écran sans ouvrir le terminal et la forcer à se déplacer
  • La neutralisation ou la falsification par Nvidia des ruptures de Xinerama et les 2 écrans rejoints par la vue Twin se comportent comme un seul grand écran provoquant l'ouverture de fenêtres contextuelles au milieu des deux écrans et maximisant l'étirement des fenêtres à la largeur des 2 premiers écrans
  • Firefox ne peut exécuter qu'une seule instance en tant que même utilisateur, donc avoir plusieurs fenêtres firefox nécessite au moins 2 utilisateurs

La deuxième option "se sent" comme la bonne option, mais OpenGL est fondamentalement désactivé et jouer à n'importe quel type de jeu ou même exécuter quelque chose de graphique provoque une énorme baisse de performances et une instabilité - même essayer d'exécuter un émulateur de base pour gba ou gens provoque simplement le système tomber. Cela fonctionne juste assez pour regarder votre bureau et ne rien faire, mais dès que vous commencez à travailler - ouvrir des fenêtres, faire glisser des choses - exécuter plusieurs copies de firefox, cela semble vraiment lent.

Le dernier écran double ouvert ne fonctionne que parfaitement et tout fonctionne comme requis, l'accélération GPU complète - deux espaces d'écran logiques - parfait, faites-le fonctionner sur des GPU comme des fenêtres! :-p

Quoi qu'il en soit, je sais que RandR était censé prendre le relais lorsqu'il introduirait des objets GPU pour permettre à plusieurs GPU d'être assemblés pour créer un énorme bureau sur une couche beaucoup plus profonde que Xinerama. Je me demandais si cela a été corrigé (j'ai remarqué que le serveur X 1.7 est sorti) et si quelqu'un a réussi à le faire fonctionner?

Encore une fois, mes exigences sont les suivantes:

  • Un énorme bureau pour faire glisser n'importe quelle fenêtre
  • Maximisation des fenêtres sur chaque écran (comme le fait XP)
  • Exécution d'applications en plein écran sur l'écran principal et désactivation de la souris pour passer aux autres ou aux 3 étirés

Enfin comme note latérale; Je connais le diviseur de tête triple (et double) Matrox, mais même le prix qu'ils proposent sur eBay est plus que ce que je peux me permettre, mon argument: je ne devrais pas avoir à acheter du matériel supplémentaire pour faire fonctionner quelque chose sur Linux lorsque c'est quelque chose qui existe depuis longtemps dans le monde des fenêtres (pouvez-vous dire que je ne m'entends pas avec X :-p); Si j'avais l'argent, j'aurais déjà acheté la dernière version de cette boîte (la nouvelle version prend enfin en charge les grandes résolutions comme les écrans que j'ai 1680x1050 chacun).


1
Vous pouvez exécuter plusieurs instances de Firefox avec le commutateur "-no-remote".
KovBal

1
Je viens de redémarrer dans Windows après avoir passé plus de 4 heures à essayer de le faire fonctionner sous Linux; 20 secondes: afficher les propriétés, réorganiser rapidement, appliquer. terminé. triés. Nvidia je te déteste! pourquoi ne pouvez-vous pas ouvrir vos pilotes !! :-D
Christopher Lightfoot

J'ai eu une aventure similaire avec ces différentes options. En ce moment, je vais avec les 2 joints via twinview joints à un troisième via Xinerama. J'ai pu résoudre le problème de maximisation en utilisant "faux Xinerama", voir la réponse de David à ce post: superuser.com/questions/115076/… .
Kyle Brandt

Certains gestionnaires de fenêtres (Compiz) ont des paramètres qui vous aideront à mieux placer vos fenêtres. Vous pouvez définir des configurations manuelles à l'aide des titres / classes de fenêtres, ou simplement demander à Compiz de placer la fenêtre sur l'écran que votre curseur occupe actuellement.
earthmeLon

Réponses:


2

Essayer Fedora 11 (XServer 1.7) et Ubuntu 9.10 (XServer 1.6.4) Je peux dire en toute sécurité que le problème est toujours cassé - S'il n'est pas plus cassé qu'auparavant :-p

J'ai appris certaines choses qui pourraient être utiles à d'autres:

  • Linux commence à démarrer très très vite! :-RÉ
  • Lorsque X meurt pour une raison quelconque, il est bloqué dans une boucle de redémarrage, cela se produit pour les pilotes nvidia, nv et nouveau
  • X peut démarrer sans xorg.conf en utilisant certains paramètres de détection automatique
    • malheureusement, cela ne fonctionnait que sur ma GeForce 9300 intégrée pour le pilote nivida, nv et nouveau ne fonctionnent pas avec les graphiques intégrés.
    • La résolution du moniteur n'a pas été détectée correctement
    • L'activation du serveur ssh m'a permis de simplement ssh dans la boîte une fois qu'il avait rompu comme boucle de redémarrage - pouvoir changer la configuration et forcer un redémarrage est mieux que de démarrer dans le live cd pour faire la même chose :-p
  • Le noyau PAE 32 bits casse les pilotes nvidia - (n'a pas essayé avec nv ou Nouveau) - tout (même 2d) est devenu très lent et vous pouvez littéralement voir des parties de l'écran redessinées
  • La prise en charge 64 bits a fonctionné hors de la boîte, mais aucun des paquets 32 bits uniquement fonctionnerait sans les forcer et même alors, certains se briseraient encore; :-p
  • NV est acceptable pour une utilisation très basique pour éviter d'avoir à utiliser des binaires propriétaires
  • Nouveau est beaucoup plus rapide que je ne le pensais et exécute une configuration 2D assez bien; Il gère même très bien la sortie double tête en utilisant la configuration intégrée ET également la rotation, donc j'ai été vraiment impressionné;
    • Nouveau ne prend pas encore en charge les configurations multicartes - en lisant le site, il semble qu'aucun des développeurs n'ait ce type de configuration et donc aucun moyen de tester; Cela me donne presque envie de rassembler un don et de faire don d'un système de base de ce genre à Sombody pour le faire - ou apprendre les tenants et aboutissants et commencer à contribuer moi-même

Il semble que je passe par ce processus tous les 3-4 mois:

  • Découvrez les dernières fonctionnalités sous Linux
  • Évitez-les pendant un certain temps
  • Essayez-les
  • Réalisez que tout est encore cassé
  • Attendez encore 3-4 mois

Pour l'instant, je suis de retour à ma configuration fidèle de Windows XP; il ne manque jamais de démarrer (le temps de démarrage semble incroyablement lent maintenant que j'ai vu ubuntu démarrer aussi vite), toutes mes applications fonctionnent hors de la boîte et mon matériel a un support de pilote décent !! :-p

Mise à jour : j'ai enregistré un ticket avec Nvidia et ils m'ont donné les 2 options standard:

  • Utilisez Twinview et un seul bureau X sans Xinerama
  • Utilisez 3x serveurs X simples et rejoignez-vous en utilisant Xinerama

Le point qu'ils ont mentionné concernant la deuxième option est que toutes les demandes graphiques via Xinerama sont mises en boucle pour chaque écran (donc chaque écran voit la même demande, très probablement modifiée en fonction de la position relative de l'écran par rapport à l'original); Ainsi, chaque opération se produit 3 fois - ce qui explique la baisse des performances; Je suppose que si vous avez 3 choses dans chaque fenêtre, cela fait 9 opérations; Cela affecte probablement plus les deux écrans sur le même GPU que celui qui a un GPU entier pour un seul écran, mais cela était tellement visible en utilisant simplement un bureau standard que même le rendu d'une page Web dans Firefox a été quelque peu retardé.



1

Il y a un hack d'une autre option - je publierai bientôt un logiciel (open-source) pour Ubuntu Karmic - si je peux le faire fonctionner là-bas, sinon ce sera pour Jaunty sur lequel j'ai déjà travaillé. - http://ubuntuforums.org/showthread.php?t=884161

Voir les vidéos de ce système de 6 moniteurs sur youtube: (Lien supprimé en raison de la limite des débutants - recherchez "d2globalinc" sur YouTube)

Ce n'est pas la solution que nous voulons, mais c'est un moyen d'obtenir Composite avec plusieurs GPU maintenant jusqu'à une meilleure solution (peut-être l'œil fin d'AMD ou la réponse de NVIDIA à cela - quoi que ce soit)

Shane Menshik D2 GLOBAL INC.

ps Je mentionne EyeFinity d'AMD - Voir la démo ici - (recherchez youtube pour "Eyefinity Linux" - impossible de publier le deuxième lien en raison de la limite des débutants), ce qui est la chose la plus prometteuse que j'ai jamais vue pour la prise en charge de Linux / GPU multiple.


En lisant le fil de discussion lié, il semble que ce logiciel ne soit plus disponible.
kynan

1

Lorsque X meurt pour une raison quelconque, il est coincé dans une boucle de redémarrage

J'ai également eu cela sous Debian Lenny.

Il a été corrigé en mettant à niveau les pilotes Nvidia en passant au référentiel de test (Squeeze).

Les cartes plus récentes nécessitent des pilotes plus récents.


0

J'ai les mêmes problèmes avec un NVS 450. J'ai construit une nouvelle machine i7 à 2,67 GHz avec 8 Go de RAM et j'ai 3 LCD de 20,1 pouces sur le NVS 450. J'étais tout excité de penser que j'aurais enfin trois écrans fonctionnant sous Linux (J'en exécutais deux sans aucun problème.) Maintenant, je me heurte la tête contre un mur. J'adorerais trouver une bonne solution stable et fonctionnelle pour (en bref) faire fonctionner plusieurs moniteurs sous Linux comme ils le font sous Windows et OS X.

MISE À JOUR: Ok, je me suis dit que je suis intervenu une fois, je peux aussi bien donner une petite mise à jour. J'ai abandonné, j'ai cédé, j'ai acheté une carte ATI. J'ai pris un Sapphire 5750 qui semble être un seul GPU et prend en charge trois moniteurs. J'exécuterai deux d'entre eux via DVI et un via le port d'affichage en utilisant un adaptateur DP vers DVI (j'espère que cela fonctionnera).

Je vous ferai connaître le résultat demain.


3
Comment ça s'est passé pour toi?
Zoot

3
Comment ça s'est passé pour toi?
Nowaker

3
Comment ça s'est passé pour toi?
Waxhead

-1

J'ai 2 écrans. La configuration était tout simplement facile avec l' nvidiasettingsoutil, et il semble qu'il n'y ait aucun problème à ajouter une nouvelle tête à la configuration existante.

Tout ce que vous mentionnez fonctionne bien :)


Two is easy ...
sjas
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.