[Carte Graphique] Optimus - Désactiver la carte NVidia

Reconnaissance et configuration du matériel / kernel linux
driquet
newbie
Messages : 2
Inscription : lun. 28 mars 2011, 15:17

[Carte Graphique] Optimus - Désactiver la carte NVidia

Message par driquet »

Bonjour à tous,

Je suis (un heureux) possesseur d'un Asus ULV80.
Celui-ci a la technologie Optimus, c'est à dire qu'il y a une combinaison de 2 cartes graphiques (l'une Nvidia, l'autre Intel).

De base, les deux cartes graphiques sont allumées, je cherche un moyen de désactiver la carte Nvidia, qui m'est inutile.
Ainsi, la consommation d'énergie se verait grandement diminue (enfin, j'espère !).

Quelqu'un en sait plus sur cette techno ou comment désactiver une carte ?

Merci d'avance.
D.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17624
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Carte Graphique] Optimus - Désactiver la carte NVidia

Message par benjarobin »

Tout d'abord je ne suis pas sûre que l'on parle du même PC, je possède un ul80vt qui ne contient pas la technologie optimus, mais l'ancienne technologie...

Supposons que l'on parle du même PC, il faut réaliser ces étapes:
  • On considère que X tourne correctement avec les drivers intel. On ne possède aucun problème de ce coté.
  • Il faut ensuite bien vérifier que le Pc ne contient aucune trace de nvidia / nouveau.
  • Ensuite il fait rajouter dans le rc.conf dans la section MODULES : !nouveau
  • Modifier le menu.lst et rajouter à la fin de la ligne kernel : nouveau.modeset=0
  • Si ce n'est pas déjà fait, modifier /etc/mkinitcpio.conf pour avoir dedans : MODULES="intel_agp i915" cela permet d'avoir KMS d'intel au plus tôt.
  • Puis régénérer l'initramfs: mkinitcpio -p kernel26
  • redémarrer, vérifier que tout fonctionne normalement.
Il va falloir compiler ensuite le module qui permet de désactiver la carte intel.
C'est une version très alégé d'acpi_call-git spécifique au PC asus (enfin plutôt à la carte graphique et comment elle est déclaré).

Code : Tout sélectionner

yaourt -S nvidia-g210m-acpi
Il faudra recompiler le tout avec cette même commande a chaque changement de version majeur du kernel.
On pourrait faire un déamon comme pour nvidia sur AUR, mais je n'ai pas eu le courage :)

Tu peux vérifier ta consommation électrique (en étant sur batterie, sur secteur on ne peut pas l'obtenir) par

Code : Tout sélectionner

cat /proc/acpi/battery/BAT*/*
Attention si toutes les étapes précédentes n'ont pas été bien faite, ton PC crashera tout simplement.
Donc pour faire un test réaliste, ne démarre pas X, reste en init 3.
Attend 10 secondes, lance le cat.
Puis fait le modprobe du module: modprobe nvidia-g210m-acpi (de mémoire, un doute sur le nom du module)
Finalement relance le cat et compare la consommation qui devrai chuter d'environ 4 Watts.

Il nous reste plus qu'a chargé automatiquement le module au démarrage.
Pour cela j'ai créé un daemon au lieu de le mettre dans la section MODULE du rc.conf.
En effet si on charge trop tôt le module, on a un crash aléatoire du kernel :(

Pour le script du daemon il va falloir attendre ce soir, :)
Dernière modification par benjarobin le lun. 28 mars 2011, 15:56, modifié 1 fois.
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
driquet
newbie
Messages : 2
Inscription : lun. 28 mars 2011, 15:17

Re: [Carte Graphique] Optimus - Désactiver la carte NVidia

Message par driquet »

Merci pour ta réponse complète et rapide.
Je teste ça et je vous tiens au courant.

D.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17624
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Carte Graphique] Optimus - Désactiver la carte NVidia

Message par benjarobin »

Voila le script/daemon pour désactiver la carte au démarrage:
cat /etc/rc.d/disableNvidia

Code : Tout sélectionner

#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

success_d=0

case "$1" in
   start)
        stat_busy "Discativating Nvidia Cart"
        modprobe nvidia_g210m_acpi && success_d=1
        #add_daemon disableNvidia
        if [ $success_d -eq 1 ]; then
                stat_done
        else
                stat_fail
        fi
        ;;
  rmmod)
        stat_busy "Reactiavting Nvidia Cart"
        modprobe -r nvidia_g210m_acpi && success_d=1
        if [ $success_d -eq 1 ]; then
                rm_daemon disableNvidia
                stat_done
        else
                stat_fail
        fi
        ;;
  *)
        echo "usage: $0 {start|rmmod}"  
esac
exit 0
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Répondre