Comment installer les pilotes nVidia avec Bumblebee sur Ubuntu 14.04

Réponses:

26

NB: ce post est le résultat de plusieurs jours passés à lire divers trucs sur le web, alors prenez-le à vos risques et périls. Il a été testé sur Ubuntu 12.04 / 12.10 / 13.04 / 13.10 / 14.04 (tous 64 bits) avec la carte graphique nVidia GT650M. N'hésitez pas à ajouter des commentaires et suggestions


Installez nVidia et Bumblebee

1. Tout d'abord, nous devons supprimer tous les pilotes vidéo de l'ordinateur:

sudo apt-get remove --purge nvidia*

Ensuite, bourdonnez au cas où si vous l'avez installé précédemment:

sudo apt-get remove --purge bumblebee*

Nous devons également supprimer tous les nouveaux pilotes avec:

sudo apt-get --purge remove xserver-xorg-video-nouveau

Pour être sûr d'avoir supprimé l'intégralité des éléments, essayez de taper dpkg -l | grep nvidiaet dpkg -l | grep bumblebee: il ne devrait rien retourner. Car dpkg -l | grep nouveauil est probable qu'il renvoie quelques lignes en disant libdrm-nouveauXXXXX; pour l'instant, ignorez-les.

2. Ensuite, nous devons nous assurer que tous les en-têtes tapent:

sudo apt-get install linux-source && sudo apt-get install linux-headers-$(uname -r)

3. La prochaine chose à faire est de mettre sur liste noire les nouveaux pilotes restants et certains autres packages qui pourraient causer des problèmes:

sudo cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf.bak
 sudo gedit /etc/modprobe.d/blacklist.conf

Ajout des lignes suivantes à la fin du fichier:

# Necessary to install nvidia drivers
blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidia-173-updates
blacklist nvidia-96-updates
alias nvidia nvidia_current_updates
alias nouveau off
alias lbm-nouveau off
options nouveau modeset=0

Enregistrez et quittez.

4. Maintenant, exécutez les commandes ubuntu les plus connues

sudo apt-get update && sudo apt-get dist-upgrade -y

5. A partir de maintenant, nous travaillons sur tty. Ouvrez la console tty1 avec CTRL + ALT + F1 et connectez-vous avec votre nom d'utilisateur et votre mot de passe. Exécutez ensuite:

sudo service lightdm stop

Nous allons maintenant installer les pilotes. Exécuter:

sudo apt-get install nvidia-XXX-updates nvidia-settings

où XXX est le dernier pilote stable. J'utilise les pilotes 331, mais j'ai lu quelque part que les 343 sont disponibles en téléchargement (je ne sais pas s'ils sont stables).

NB: Avec les dernières versions de pilotes, il s'installe également nvidia-primepar défaut. Cette technologie est destinée à basculer automatiquement entre Intel et la carte graphique nVidia sans intervention de l'utilisateur. Pour ce faire, il laisse les deux cartes allumées. Optimus, d'autre part, n'allume la carte graphique nVidia qu'avec une demande explicite de l'utilisateur; il se traduit par une consommation d'énergie nettement inférieure par rapport à l'amorçage.

Personnellement, je préfère optimus à prime, mais si vous ne vous souciez pas de l'énorme gaspillage d'énergie, arrêtez-vous ici. Sinon, vous avez deux options:

  • supprimer complètement prime ( sudo apt-get remove --purge nvidia-prime);

  • laissez-y le prime; dans la section "Prime with optimus", nous verrons comment faire fonctionner optirun aussi avec prime installé

6. Maintenant, nous devons installer bumblebee et les packages virtualgl avec

sudo apt-get install bumblebee bumblebee-nvidia virtualgl virtualgl-libs virtualgl-libs-ia32:i386 virtualgl-libs:i386

Ensuite, nous devons ajouter notre utilisateur dans le groupe des bourdons avec:

sudo usermod -a -G bumblebee $USER

Et puis redémarrez le PC.

7. Connectez-vous sur votre compte utilisateur, ouvrez une nouvelle fenêtre de terminal et tapez:

cd /etc/bumblebee
ls -Al

Parmi les différents fichiers listés, il devrait en exister deux en particulier: bumblebee.confet xorg.nvidia.conf. Faisons une copie de sauvegarde des deux avec:

sudo cp FILE_NAME FILE_NAME.bak

Vous devez remplacer FILE_NAME par le nom réel du fichier. Ensuite, allons modifier le premier fichier avec sudo gedit bumblebee.conf, en ajoutant (le tout sans guillemets)

  • Section [bumblebeed]: après "Driver =" insérer "nvidia"
  • Section [nvidia-driver]: après "KernelDriver =" insérer "nvidia-XXX-updates"
  • Section [nvidia-driver]: après "LibraryPath =" insert "/ usr / lib / nvidia-XXX-updates, / usr / lib / nvidia-331-updates: / usr / lib32 / nvidia-XXX-updates"
  • Section [nvidia-driver]: après "XorgModulePath =" insert "/ usr / lib / nvidia-XXX-updates / xorg, / usr / lib / xorg / modules"

Assurez-vous que le "XorgConfFile" sous [nvidia-driver] est égal à "/etc/bumblebee/xorg.conf.nvidia" (encore une fois, sans guillemets), puis enregistrez et fermez gedit.

Maintenant, nous devons éditer l'autre fichier avec sudo gedit xorg.conf.nvidia(dans ce cas, nous devons également insérer les guillemets !!). Remplacez Option "ConnectedMonitor" "DFP"par Option "UseDisplayDevice" "none", enregistrez et quittez.

8. Exécutez gedit /etc/modprobe.d/bumblebee.confet assurez-vous que toutes les lignes contenant blacklist <something>ne sont pas commentées (c'est-à-dire qu'elles ne commencent pas par #).

9. À ce stade, exécutez la commande suivante

sudo service bumblebeed start

S'il renvoie une erreur, essayez d'exécuter à nouveau la commande avec redémarrage plutôt que de démarrer. Si vous avez encore des erreurs, quelque chose comme:

restart: Unknown job: bumblebeed

C'est probablement quelque chose qui ne va pas dans le fichier bumblebee.conf; revérifiez donc l'étape 7.

Si à la place le résultat est similaire à:

bumblebeed start/running, process XXXXX

Vous avez bientôt terminé l'installation du bourdon!

10. Maintenant, nous pouvons simplement exécuter optirun glxspheresou optirun glxspheres64. Si tout fonctionne comme prévu, vous avez une sortie comme celle-ci:

$ optirun glxspheres64
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 650M/PCIe/SSE2
182.253407 frames/sec - 203.394802 Mpixels/sec
182.940725 frames/sec - 204.161849 Mpixels/sec
....

Pour vérifier que nous utilisons réellement nvidia-drivers, ouvrez un autre terminal en optirun <application>cours d'exécution, puis tapez sudo lshw -c display | grep driver. Le résultat devrait être quelque chose comme ça.

configuration: driver=nvidia latency=0
configuration: driver=i915 latency=0

Si, en revanche, vous fermez toutes les applications démarrées avec optirunelle, seuls les pilotes Intel devraient s'afficher. C'est ça!!


Installer l'interface utilisateur de Bumblebee

Grâce à cette réponse de Pavak Paul, voici les instructions pour ajouter l'interface utilisateur bumblebee sur Ubuntu 14.04 pour gérer les applications à ouvrir à l'aide de nVidia.

1. Installez l'indicateur d'application Python:

sudo apt-get install python-appindicator

2. Installez Git:

sudo apt-get install git

3. Créez un répertoire pour git:

mkdir git && cd git

4. Consultez le référentiel:

git clone https://github.com/Bumblebee-Project/bumblebee-ui.git
cd bumblebee-ui
sudo ./INSTALL

5. Allez dans Startup Applications et ajoutez bumblebee-indicator [cliquez sur Add, puis insérez le nom et le commentaire que vous voulez; insérer bumblebee-indicatordans la boîte de commande et cliquer sur Ajouter).

6. Redémarrez.


Prime avec optimus

Si vous souhaitez avoir la possibilité d'utiliser également nvidia-primeparfois, essayez de suivre les instructions ci-dessous.

1. Pour éviter bumblebeedde démarrer au démarrage, exécutez:

echo "manual" | sudo tee /etc/init/bumblebeed.override

2. Ce point est le plus problématique; il empêche bumblebee de mettre les pilotes nVidia sur liste noire et devrait entraîner un gel de la session graphique. Essayez-le à vos risques et périls! Courir:

sudo gedit /etc/modprobe.d/bumblebee.conf

Et commentez la ligne contenant vos pilotes nVidia XXX. Cela devrait aboutir à quelque chose comme ça.

# XXX
#blacklist nvidia-XXX
#blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

3. Redémarrez le système et lancez nvidia-settings. La situation finale est la suivante:

Si vous sélectionnez "Intel (Power save)" dans nvidia-settings, vous n'avez que la carte graphique Intel activée par défaut. Vous devez toujours exécuter une application avec optirunpour utiliser la carte graphique nVidia

sudo service bumblebeed start
optirun <application>

Si vous souhaitez plutôt utiliser le profil "Nvidia (Performance)", sélectionnez-le dans nvidia-settings, puis connectez-vous / déconnectez-vous et tout devrait fonctionner automatiquement. La seule chose est que vous n'avez pas à lancer le bumblebeeddémon avec ce profil sélectionné car cela pourrait causer des problèmes.

En cas de problème:

1. Si vous souhaitez utiliser uniquement nvidia-prime:

sudo apt-get --purge remove bumblebee*

Redémarrez ensuite.

2. Si vous souhaitez utiliser uniquement optimus sans supprimer nvidia-prime, modifiez à nouveau le fichier précédent:

sudo gedit /etc/modprobe.d/bumblebee.conf

Décommentation (suppression du caractère #) des lignes précédemment modifiées:

# XXX
blacklist nvidia-XXX
blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

Et redémarrage. Dans ce cas, vous pouvez laisser Bumblebeed fonctionner au démarrage:

sudo rm /etc/init/bumbebeed.override
tigerjack89
la source
1
J'ai suivi les instructions sur Ubuntu 14.04, mais mon écran devient noir après l'écran de démarrage et je ne parviens pas à me connecter. À l'aide de Dell xps l502x, nvidia gfrc gt540m.
DeepSidhu1313
1
Etes-vous sûr d'avoir suivi toutes les instructions depuis le début? Quoi qu'il en soit, appuyez sur CTRL + ALT + F1 pour accéder au tty, puis entrez vos informations de connexion et redémarrez depuis le début.
tigerjack89
1
Ok j'ai résolu le problème en utilisant vblank_mode=0 primusrun ./glxgearsou nous pouvons utiliser vblank_mode=0 optirun -b primus ./glxgears. merci :)
DeepSidhu1313
1
veuillez noter que j'ai dû installer xorg-edgers ppa pour obtenir les packages virtualgl. Il n'y avait pas disponible dans une installation propre Ubuntu 14.04
Ubuntuser
1
C'est de loin le didacticiel le plus récent sur lequel je vote. J'ai vérifié et cela fonctionne pour 17.10. Bon travail.
Doodloo