Depuis 2002, je suis un grand admirateur des ordinateurs portables Lenovo ThinkPad et pour la première fois depuis 15 ans, j’ai opté pour une marque différente de portable. En fait, c’est mon récent penchant pour les jeux vidéo qui ont fait pencher la balance vers une marque différente. Les portables Lenovo, bien que robustes et performants, ne sont pas livrés avec de bonnes cartes graphiques. J’ai donc porté mon choix vers un modèle ayant une carte graphique récente et performante. Soit un Gigabyte P55W v7.
En installant Debian Linux sur ce portable, j’ai rencontré plusieurs problématiques que je vais détailler dans différents articles. Pour commencer, je vais aborder le sujet de la carte graphique Nvidia Optimus.
Pour ceux qui ne connaissent pas la technologie Optimus et qui veulent en apprendre davantage, je vous invite à lire la page suivante. Sachez que le modèle P55w possède donc deux cartes graphiques. L’une étant une carte graphique Intel intégrée et l’autre, une carte graphique Nvidia dédiée. Sachez aussi que Nvidia Optimus n’est pas une technologie très bien supportée dans Linux. Pour toute sorte de raisons techniques qui dépassent de loin le sujet de cet article, cette technologie rend les choses beaucoup plus compliquées qu’il ne devrait être nécessaire.
Une fois l’installation de Debian complétée, votre système utilisera la carte graphique Intel intégrée pour effectuer tout le travail. Pour obtenir plus de performance, il faudra alors se salir les mains et reconfigurer le tout.
Voici les différents choix afin de rendre fonctionnel un portable avec Optimus.
Pour mettre en place cette dernière solution, j’ai suivi les recommandations dans la documentation de Nvidia.
D’abord, on installe les pilotes propriétaires de la carte graphique nvidia:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install nvidia-driver libgl1-nvidia-glx:i386
Il faut ensuite créer un nouveau fichier /etc/X11/xorg.conf
avec le contenu suivant. Celui-ci permet de configurer les deux cartes graphiques pour utiliser la carte Nvidia en permanence puis envoyer le résultat à la carte graphique Intel qui se chargera de l’afficher sur le moniteur.
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:01:00:0"
Option "Coolbits" "28"
Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2233; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x1"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Ensuite, il faut créer deux fichiers /usr/share/gdm/greeter/autostart/optimus.desktop
et /etc/xdg/autostart/optimus.desktop
avec le contenu suivant:
[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer
Pour finir, on doit redémarrer le portable pour prendre en charge les modifications. Si tout va bien, vous devriez être en mesure de vous connecter à votre session sans problème.
Il est possible de vérifier si votre configuration est bonne en exécutant la commande suivante:
glxinfo | grep vendor
Qui devrait produire le résultat suivant:
server glx vendor string: NVIDIA Corporation
client glx vendor string: NVIDIA Corporation
OpenGL vendor string: NVIDIA Corporation
Autre lecture: