web-dev-qa-db-fra.com

Un SSD, deux ordinateurs (avec différentes cartes vidéo). Meilleure approche pour les pilotes vidéo?

J'ai un seul SSD I dual-boot avec Windows 7/Ubuntu 11.10. Je change quotidiennement ce lecteur entre deux ordinateurs. L'un est un ordinateur portable avec graphiques Intel intégrés. L'autre est un bureau avec une carte vidéo NVIDIA.

Je veux que le bon pilote soit utilisé et que l'accélération 3D soit activée automatiquement lorsque je démarre dans Ubuntu sur l'un ou l'autre ordinateur. Comment puis-je y parvenir?

Lorsque je démarre Ubuntu avec mon ordinateur portable, la plupart des pilotes démarrent normalement, mais le pilote vidéo GM965 ne se charge pas, donc l'accélération 3D reste désactivée. Les journaux montrent que le pilote NVIDIA émet une erreur sur l'indisponibilité (on dirait qu'il force le pilote NVIDIA).

Est-il normal qu'Ubuntu 11.10 & Xorg n'ait pas de nos jours le même comportement que Windows 7? Lorsque je démarre Windows 7, le bon pilote est chargé par identification PCI et les paramètres de résolution sont chargés via DDC à partir du moniteur. Je pense que Xorg peut faire la même chose que lorsque vous démarrez un CD live.

Afin de diagnostiquer, j'ai besoin de savoir comment configurer le pilote vidéo sur les déploiements Xorg modernes qui déconseillent /etc/X11/xorg.conf

Quelqu'un a-t-il des idées pour m'aider?

Merci d'avance

Bodhi.zazens answer est un pas dans la bonne direction, mais vous ne pourrez peut-être pas utiliser GL les capacités de votre carte Intel (par exemple les effets de bureau).

Un script plus raffiné qui utilise l'ID de fournisseur de nVidia et corrige les chemins de bibliothèque GL est illustré ci-dessous. Avant d'installer ce script, vous devez enregistrer la configuration de nvidia xorg dans /etc/X11/xorg.conf.nvidia. Sur la machine nvidia, exécutez les commandes ci-dessous:

Sudo nvidia-xconfig
Sudo mv /etc/X11/xorg.conf{,.nvidia}

Le script ci-dessous doit être enregistré sous /etc/init/auto-gfx-card.conf. Lors de la copie, veillez à ne pas mettre d'espace après les barres obliques inverses de fin.

description "autoconfigure graphics card settings"
start on (filesystem and (starting lightdm or starting kdm or starting gdm))
script
    # If any nVidia device is found, assume it to be a graphics card
    if [ -n "$(lspci -d10de:)" ]; then
        for Arch in x86_64-linux-gnu i386-linux-gnu; do
            # since nvidia drivers have a higher priority, it'll
            # automatically selected as the best available version
            update-alternatives --quiet --force --auto ${Arch}_gl_conf || true
        done
        # create the symlink, overwriting existing links if necessary
        ln -sf /etc/X11/xorg.conf.nvidia /etc/X11/xorg.conf
    else
        # restore Intel GL capabilities
        for Arch in x86_64-linux-gnu i386-linux-gnu; do
            update-alternatives --quiet --force --set \
                ${Arch}_gl_conf /usr/lib/$Arch/mesa/ld.so.conf 2>/dev/null || true
        done
        # remove the symlink if any
        rm -f /etc/X11/xorg.conf
    fi
end script

Aucune autre commande n'est nécessaire pour activer cette tâche Upstart.

4
Lekensteyn

C'est un hack désordonné, et il y a probablement une méthode plus propre (c'est-à-dire écrire un script d'init Nice upstart), mais ...

En supposant que le pilote nvidia et la carte Intel fonctionnent;)

Utilisez un script dans /etc/rc.local pour utiliser le bon xorg.conf. La carte Intel ne devrait pas avoir besoin d'un xorg.conf, donc enregistrez le nvidia xorg.conf fonctionnel dans say/etc/X11/xorg.conf.nvida

Pendant l'exécution de la machine nvidia

Sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.nvidia

Ajoutez ensuite ceci à /etc/rc.local

# determine if we have a nvidia card, $VIDEO will be an empty sting with the intel card
VIDEO=$(lspci | grep nVidia)

# test if $VIDEO is empty, and move xorg.conf if needed
if [ -n "$VIDEO" ]
    then
        # if xorg.conf exists, remove it.
        [[ -e /etc/X11/xorg.conf ]] && rm -f /etc/X11.xorg.conf
    else
        # if xorg.conf does not exist copy it
        [[ -e /etc/X11/xorg.conf ]] || cp /etc/X11/xorg.conf.nvidia /etc/X11/xorg.conf
 fi

 # restart lightdm, need to modify for kdm or gdm
 /etc/init.d/lightdm restart

En fonction de la vitesse d'exécution de rc.local, vous pourrez peut-être ignorer le redémarrage de lightdm ou, s'il s'exécute trop tôt, vous devrez peut-être ajouter une mise en veille.

Si vous avez besoin d'un xorg.conf pour la carte Intel, modifiez simplement le script pour mettre le bon xorg.conf en place.

Le seul autre problème potentiel serait si le module du noyau nvidia entre en conflit avec le pilote Intel (peu probable), dans ce cas, nous aurions besoin de mettre les pilotes sur liste noire, ce qui peut être fait avec une strophe personnalisée dans grub.

3
Panther

C'est probablement une mauvaise idée . Vous ne pouvez pas utiliser le pilote NVIDIA avec les graphiques Intel intégrés de votre ordinateur portable. Puisque vous avez l'habitude inhabituelle de partager un seul SSD entre deux ordinateurs différents, vous devriez probablement vous en tenir au `` plus petit dénominateur commun '', qui est le pilote vidéo par défaut.

Si vous souhaitez toujours installer et configurer les pilotes NVIDIA restreints, faites-le sur le bureau, qui dispose d'une carte vidéo compatible.

Cliquez sur l'icône d'engrenage, en haut à droite de votre écran et choisissez 'Paramètres système ...' puis cliquez sur 'Pilotes supplémentaires'. Cela vous montrera tous les pilotes propriétaires disponibles ou activés de NVIDIA, comme ceci:

NVIDIA Drivers enabled

Pour accéder aux paramètres de la carte après avoir installé les pilotes, tapez 'NVIDIA' dans le tableau de bord, comme ceci:

NVIDIA settings dash

Cela fait apparaître l'écran des paramètres du pilote. Apportez les modifications que vous souhaitez ici, puis cliquez sur le fichier de configuration "Enregistrer dans X, comme illustré ici:

NVIDIA X config

Pour en savoir plus sur la configuration de X, voici Ubuntu X/Config page wiki

Sachez que si vous procédez ainsi, vous risquez de rencontrer des problèmes sur l'ordinateur portable, qui ne possède pas de carte NVIDIA.

1
Tom Brossman