web-dev-qa-db-fra.com

Comment puis-je faire fonctionner plusieurs cartes vidéo sur Linux?

J'ai installé Fedora 12.

J'ai 2 cartes ATI que j'avais l'habitude d'utiliser sur Windows pour exécuter 4 moniteurs. Un problème récurrent a été de les faire détecter sous Linux. Seule ma carte secondaire est récupérée sous Linux. Lorsque je gère les écrans, il détecte les 2 moniteurs connectés à cette carte.

Quelles sont les étapes spécifiques que je devrais suivre pour faire détecter la deuxième carte? Soi-disant, il existe un outil système-config-xfree. Je ne l'ai pas, miam ne le trouve pas.

J'ai aussi entendu dire que cela avait quelque chose à voir avec l'édition d'un fichier xorg.conf ou quelque chose du genre. Je ne sais absolument pas comment trouver le "numéro de bus" de ma carte, ni rechercher les taux de rafraîchissement horizontaux, etc.

Je n'aurais probablement aucun problème à suivre la documentation et à éditer le fichier si je connaissais un bon moyen de trouver ces valeurs.

Quelqu'un a également suggéré d'installer Linux deux fois et de sauvegarder le xorg.conf qu'il génère à chaque fois (avec une carte différente à chaque fois), puis de les fusionner à la main. Cela revient à tuer une mouche avec un marteau, mais je le ferai encore et encore dans le futur. Ce serait bien de ne pas avoir à prendre deux fois plus de temps.

Merci

14
JoshRibs

Trouver le "bus id" de vos cartes est facile, il suffit de lancer:

lspci | grep VGA

le résultat serait quelque chose comme:

01:08.0 VGA compatible controller: Number 9 Computer Company Revolution 4 (rev 02)

Alors "01: 08.0" est votre identifiant de bus. Si vous avez deux cartes, vous aurez deux lignes comme ça.

Ouvrez ensuite votre fichier /etc/X11/xorg.conf avec un éditeur de texte en tant que root. Modifiez-le pour qu'il contienne deux sections "Device". Un exemple de section de périphérique:

Section "Device"
        Identifier  "My video card 1"
        Driver      "ATI"
        BusID       "PCI:1:8:0"
EndSection

Identifiant est tout texte avec lequel vous souhaitez identifier votre carte vidéo. Vous en aurez besoin dans les sections suivantes du fichier xorg.conf. Driver est l'un des éléments suivants: apm, ATI, puces, cirrus, cyrix, fbdev, glide, glint, glint, i128, i740, imstt, intel, mga, néomagique, nv, openchrome, r128, radeon, restitution, savage, s3virge, siliconmotion , sisusb, sunbw2, suncg14, suncg3, suncg6, sunffb, sunleo, suntcx, tdfx, trident, tseng, vesa, vmware, vaudou, wsfb, xgi, xgixp. Choisissez-en un qui ressemble au type de chipset présent dans votre carte vidéo (la chaîne de lspci | grep VGA sera utile). Et le BusID que vous connaissez déjà. Créez deux de ces sections.

J'expliquerai comment configurer deux versions supérieures avec deux cartes vidéo. Vous devriez pouvoir l'étendre à quatre moniteurs une fois que vous avez compris le fonctionnement du fichier de configuration.

Créez ensuite deux sections "Moniteur". Certains comme cela devrait suffire:

Section "Monitor"
   Identifier  "My monitor 1"
   HorizSync   30-94
   VertRefresh 48-85
EndSection

Encore une fois, l’identifiant est celui que vous choisissez. Vous devez vérifier les taux de synchronisation horizontale et de rafraîchissement vertical dans le manuel d’instructions de votre moniteur pour connaître les deux autres paramètres requis.

Puis créez deux sections "Screen" comme ceci:

Section "Screen"
   Identifier  "My screen 1"
   Device      "My video card 1"
   Monitor     "My monitor 1"
   DefaultDepth    24
   SubSection "Display"
       Depth       24
       Modes       "1600x1200"
   EndSubSection
EndSection

Vous utilisez les identifiants que vous avez créés dans les sections précédentes, où 24 correspond à la profondeur de couleur souhaitée et, dans les modes, vous définissez la résolution souhaitée sur ce moniteur.

La dernière chose que vous voulez est de modifier votre section ServerLayout pour qu’elle ressemble à ceci:

Section "ServerLayout"
    Identifier  "Default Layout"
    Screen  0   "My screen 1"
    Screen  1   "My screen 2" RightOf "My screen 1"
    InputDevice "My keyboard"
    InputDevice "Configured Mouse"
EndSection

La majeure partie sera déjà là, la chose que vous devez ajouter est cette ligne:

Screen  1   "My screen 2" RightOf "My screen 1"

Où vous placez les identifiants des écrans que vous avez définis précédemment.

Ensuite, redémarrez votre serveur X et cela devrait fonctionner. S'il ne recherche pas les erreurs dans /var/log/Xorg.0.log ou un fichier journal similaire. Si vous voulez savoir comment créer de tels fichiers, cela devrait se trouver dans le manuel:

man xorg.conf

Si vous n'en avez pas sur votre système, une recherche Google "man xorg.conf" affichera de nombreuses ressources.

Cela devrait également être intéressant pour vous de lire: http://www.ghacks.net/2009/02/04/get-to-know-linux-understanding-xorgconf/

Ceci est pour Gentoo, mais montre de nombreux exemples utiles pour écrire un fichier xorg.conf: http://en.gentoo-wiki.com/wiki/X.Org/Dual_Monitors/ATI

13
miernik