[cg] intel et nvidia installés simultanément (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
Nnexxus
Hankyu
Messages : 10
Inscription : mer. 08 avr. 2009, 09:14

[cg] intel et nvidia installés simultanément (résolu)

Message par Nnexxus »

Bonjour à tous !

J'ai très récemment acheté un netbook Asus N10J. La particularité de ce netbook est d'être équipé simultanément d'un chipset graphique intel à mémoire partagée, et d'un chipset NVidia 9300M GS à mémoire dédiée. Concrètement, on a un switch matériel sur le côté de la machine qui permet de basculer de l'un à l'autre, moyennant un redémarrage de la machine (sous linux, un redémarrage du serveur X devrait suffire).

Après avoir joué quelques heures avec le windows XP préinstallé, j'ai déballé mon CD d'ArchLinux et j'ai attaqué les choses sérieuses :mrgreen: Après avoir bouclé l'installation de base, j'ai installé X et les pilotes Intel. Comme je ne connais pas encore trop mon matériel, j'ai lâchement repompé un xorg.conf taillé sur mesure pour le N10 avec chipset intel activé, trouvé sur ce post gigantesque : http://forum.notebookreview.com/showthr ... 0#graphics (à environ 1/3 de la hauteur de la page) Le xorg en question est accessible ici : http://allurgroceries.is-a-chef.com/n10/xorg.conf.intel. Un petit startx, ça roule.

Comme suggéré dans le post (qui s'applique à Debian/Ubuntu, mais j'ai essayé d'adapter à ma distrib préférée) j'ai fait une sauvegarde de /usr/lib/xorg/modules/extensions/libglx.so et /usr/lib/libGL.so.1.2 qui vont sauter lors de l'installation des pilotes NVidia et de l'implémentation OpenGL qui va avec.

J'installe donc nvidia. Sans surprise, je dois désinstaller xf86-video-intel, intel-dri et libgl. Très bien, je continue. Une fois l'installation terminée, je remet à la main mes sauvegardes de libglx.so et libGL.so.1.2 version intel. J'utilise cette fois un xorg.conf taillé pour le chipset nvidia, dispo ici : http://allurgroceries.is-a-chef.com/n10 ... onf.nvidia. Le switch matériel en position nvidia, ça marche nickel.

J'ai ensuite récupéré le script magique de Allurgroceries, l'auteur du tuto pour Debian/Ubuntu, qui permet de détecter le chipset qui est actif pour basculer sur le bon xorg.conf et la bonne implémentation OpenGL. Le script est dispo ici : http://allurgroceries.is-a-chef.com/n10/detectgpu (j'ai édité le path de lspci pour l'adapter à Arch). Le script semble bien marcher : quelle que soit la position du switch, il m'affiche le bon message quand je le lance.

Le plus dur semblait être fait, et pourtant je bute sur un problème bien idiot :? Pacman refuse obstinément de m'installer simultanément (xf86-video-intel,intel-dri,libgl) et (nvidia,nvidia-utils). Je m'en remet donc aux conseils avisés des gurus d'ArchLinux. Dois-je backuper à la main des fichiers (lesquels ?) et basculer d'une version à l'autre comme cela est déjà fait pour l'implémentation OpenGL ? Y'a-t-il moyen de modifier les en-têtes de paquets ou que sais-je encore pour que pacman veuille bien faire cohabiter les deux pilotes ?

Merci d'avance pour votre aide, et désolé pour le post-fleuve :oops:
Dernière modification par Nnexxus le ven. 26 juin 2009, 18:52, modifié 1 fois.
Cactus
Maître du Kyudo
Messages : 2073
Inscription : sam. 16 sept. 2006, 10:39
Localisation : 31 - Toulouse Nord

Re: [pilotes GPU] intel et nvidia installés simultanément ?

Message par Cactus »

Je n'arrive pas à comprendre ton problème...
Est-ce le changement de chipset qui bloque à cause de pacman ???
Je comprends qu'il puisse y avoir un conflit entre les 2 pilotes, mais il suffit d'insérer un pacman (ou yaourt) dans le script, non ?
NB : ok, je n'ai pas lu tes liens (c'est pas bien, je sais !), je suppose que le fameux script auto le prévoit.

Si tu peux être plus précis et clair... ;)
Nnexxus
Hankyu
Messages : 10
Inscription : mer. 08 avr. 2009, 09:14

Re: [pilotes GPU] intel et nvidia installés simultanément ?

Message par Nnexxus »

Merci pour ta réponse.
Si j'insère un pacman dans le script, ça va probablement dégrader mon temps de démarrage, vu qu'à chaque démarrage il faut exécuter le script pour détecter le GPU qui est branché. Après, c'est sûr que c'est la solution la plus propre, vu qu'on ne fait rien dans le dos du gestionnaire de paquets.

Entre temps, j'ai testé une autre solution. Dans le post pour Debian/Ubuntu, l'installation du pilote NVidia est faite "à la main", en récupérant un binaire sur le site de NVidia. Du coup, on installe le pilote en dehors du gestionnaire de paquets, et on évite le conflit. J'ai fait la même manip sous Arch, pour le moment, ça semble marcher correctement. Faut voir si c'est pratique à l'usage, vu que mon pilote NVidia ne se mettra pas à jour tout seul, et que mon pilote Intel risque de foutre un peu de bins lors de ses mises à jour par pacman.
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [pilotes GPU] intel et nvidia installés simultanément ?

Message par tuxce »

il y a conflit parce qu'ils utilisent chacun une implémentation d'opengl, celle de nvidia est fourni avec nvidia-utils, celle pour intel par libgl
du coup, si t'as installé les driver en dehors des paquets, à mon avis, t'a écrasé celle qu'utilise intel.

le mieux est d'utiliser yaourt/customizepkg afin de modifier les paquets pour que leur fichiers en commun soit placés autre part et à l'aide de ton script, tu lies à chaque fois sur le bon.

les fichiers sont /usr/lib/libGL* je crois
Nnexxus
Hankyu
Messages : 10
Inscription : mer. 08 avr. 2009, 09:14

Re: [pilotes GPU] intel et nvidia installés simultanément ?

Message par Nnexxus »

Merci pour ta réponse.

Effectivement, le conflit entre les paquets semble lié à leur implémentation OpenGL : Intel utilise l'implémentation "standard" et NVidia une implémentation maison. C'est pour ça que dans le tuto pour Debian, il est demandé de sauvegarder /usr/lib/xorg/modules/extensions/libglx.so et /usr/lib/libGL.so.1.2 en "version intel" avant d'installer le pilote NVidia, ce que j'ai fait. Et le script de basculement entre les GPU se charge déjà de lier les bonnes lib en fonction du GPU utilisé.

En l'état, ça semble marcher, mais j'ai installé les pilotes NVidia à la main, ce qui m'empêchera de bénéficier des mises à jour. Je vais creuser un peu la solution customizepkg, ça me semble quand même plus propre.

Merci pour vos pistes :copain:
Nnexxus
Hankyu
Messages : 10
Inscription : mer. 08 avr. 2009, 09:14

Re: [pilotes GPU] intel et nvidia installés simultanément ?

Message par Nnexxus »

Je n'ai pas accès à mon PC pour le moment, mais je me suis un renseigné sur customizepkg et les pkgbuilds en général.

J'ai une question concernant customizepkg : puis-je l'utiliser pour modifier directement des paquets, ou ne fonctionne-t-il que sur les pkgbuilds ?


Merci d'avance pour vos conseils.
Nnexxus
Hankyu
Messages : 10
Inscription : mer. 08 avr. 2009, 09:14

Re: [pilotes GPU] intel et nvidia installés simultanément ?

Message par Nnexxus »

A la réflexion, je crains que le bidouillage de paquets ne soit pire qu'une installation "à la main" des pilotes NVidia. Je vais donc conserver mon installation actuelle, et je verrai à l'usage si c'est problématique pour les mises à jour.
Passage du topic en résolu ! :chinois:
Nnexxus
Hankyu
Messages : 10
Inscription : mer. 08 avr. 2009, 09:14

Re: [pilotes GPU] intel et nvidia installés simultanément (rés.)

Message par Nnexxus »

Mise à jour :

Bon, finalement cela ne me convenait pas. J'ai donc compilé vos deux suggestions pour obtenir une solution que je trouve satisfaisante. Si quelqu'un d'autre possède un Asus N10, voici la procédure que j'ai suivie :
  • Créer un /etc/customizepkg.d/nvidia qui contient :

    Code : Tout sélectionner

    remove#depends#nvidia-utils
    Cela permettra d'installer seulement le paquet nvidia, nécessaire au démarrage correct de la machine lorsque le switch est en position nvidia, sans avoir à installer nvidia-utils qui est en conflit avec libgl
  • Installer le paquet nvidia avec yaourt. Le paquet sera modifié à la volée par customizepkg
  • Installer aussi les pilotes intel, si ce n'est pas déjà fait : xf86-video-intel, intel-dri, libgl
  • Créer les deux xorg.conf correspondants aux deux GPU, et les placer dans /etc/X11/xorg.conf.intel et xorg.conf.nvidia
  • Placer ce script dans /etc/rc.d/detectgpu, le rendre exécutable et l'ajouter aux démons dans rc.conf, avant un éventuel démarrage de serveur X

    Code : Tout sélectionner

    #!/bin/bash                                        
    VIDEO=`/usr/sbin/lspci|grep -c nVidia`
    rm /etc/X11/xorg.conf
    if [ "$VIDEO" == 1 ]; then
        echo NVidia GPU detected
        OPENGL_DEJA_INSTALLE=`pacman -Q libgl 2>/dev/null|grep -c libgl`
        if [ "$OPENGL_DEJA_INSTALLE" == 1 ]; then
    	echo Switching OpenGL implementation to nvidia-utils
    	pacman -Rd libgl
        	echo y|pacman -S nvidia-utils
        fi
        ln -s /etc/X11/xorg.conf.nvidia /etc/X11/xorg.conf
        echo NVidia GPU environment installed.
    else
        echo Intel GPU detected
        OPENGL_DEJA_INSTALLE=`pacman -Q nvidia-utils 2>/dev/null|grep -c nvidia-utils`
        if [ "$OPENGL_DEJA_INSTALLE" == 1 ]; then
    	echo Switching OpenGL implementation to libgl
    	pacman -Rd nvidia-utils
    	echo y|pacman -S libgl
        fi
        ln -s /etc/X11/xorg.conf.intel /etc/X11/xorg.conf
        echo Intel GPU environment installed.
    fi
    
  • Au final, les deux pilotes sont installés simultanément (grâce à la modif du paquet nvidia par customizepkg) et au démarrage, on teste la présence de la bonne implémentation openGL. Si l'implémentation openGL n'est pas adaptée au chipset actuellement branché, on la désinstalle pour mettre la bonne, le tout sans intervention de l'utilisateur. Normalement, ce système ne devrait pas trop souffrir lors des mises à jour, mais je n'ai pas encore eu l'occasion de tester ça.
nemsia
newbie
Messages : 2
Inscription : ven. 12 mars 2010, 14:48

Re: [cg] intel et nvidia installés simultanément (résolu)

Message par nemsia »

Bonjour et merci pour ces explications très utiles,
J'ai légèrement modifier la procédure d'installation des drivers:
  • installation du driver nvidia:

Code : Tout sélectionner

pacman -Sy nvidia
  • suppréssion de nvidia-utils

Code : Tout sélectionner

pacman -Rd nvidia-utils
  • installation du driver intel avec libgl:

Code : Tout sélectionner

pacman -Sy xf86-video-intel
et le script de Nnexxus modifier /etc/rc.d/detectgpu:

Code : Tout sélectionner

#!/bin/bash
VIDEO=`/usr/sbin/lspci|grep -c nVidia`
if [ "$VIDEO" == 1 ]; then
	echo NVidia GPU detected
	ln -sf /etc/X11/xorg.conf.nvidia /etc/X11/xorg.conf
	OPENGL_DEJA_INSTALLE=`pacman -Q libgl 2>/dev/null|grep -c libgl`
	if [ "$OPENGL_DEJA_INSTALLE" == 1 ]; then
	echo Switching OpenGL implementation to nvidia-utils
	pacman -Rd libgl
	echo y|pacman -S nvidia-utils
	fi
else
echo Intel GPU detect
ln -sf /etc/X11/xorg.conf.intel /etc/X11/xorg.conf
OPENGL=`pacman -Q libgl 2>/dev/null|grep -c libgl`
if [ $OPENGL != 1 ]; then
	pacman -Rd nvidia-utils
	echo y|pacman -S libgl
fi
fi
C'est une bonne solution en attendant le support des multi-gpus.
Merci encore et à bientôt.
Avatar de l’utilisateur
mum1989
Chu Ko Nu
Messages : 454
Inscription : sam. 11 oct. 2008, 23:19

Re: [cg] intel et nvidia installés simultanément (résolu)

Message par mum1989 »

C'est une bonne solution en attendant le support des multi-gpus.
à propos voici un article sur phoronix (si tu ne l'as pas encore lu) qui indiquerais que le support les multi gpu serait proche (kernel 2.6.34) :
http://www.phoronix.com/scan.php?page=n ... &px=ODA1OQ
msieur piero
newbie
Messages : 7
Inscription : lun. 01 nov. 2010, 08:48

Re: [cg] intel et nvidia installés simultanément (résolu)

Message par msieur piero »

Est-ce que ces "futurs drivers" intègreront les solutions "pré-optimus"(avec un switch manuel)?

Rien n'est moins sûr...

J'ai commendé un alienware m11x et compte faire un dual-boot archlinux/seven...

La lecture de ce topic s'est avérée instructive,mais un peu flippante (je commence à me dépatouiller avec la ligne de commande, mais je ne suis pas un cador non plus...).

Pensez-vous qu'il risque d'y avoir beaucoup d'adaptation en perspective???
morissoletourto
newbie
Messages : 7
Inscription : lun. 18 avr. 2011, 19:42

Re: [cg] intel et nvidia installés simultanément (résolu)

Message par morissoletourto »

Bonjour

Je possède moi aussi un N1Ojb et je voudrais mettre le driver nouveau à la place du nvidia

après avoir lu vos différents post, j'ai tenté des bidouilles sur le script detectgpu, qui normalement devrait être plus simple, mais je butte

voici le script

##
#!/bin/bash
VIDEO=`/usr/sbin/lspci|grep -c Intel`
if [ "$VIDEO" == 16 ]; then
echo NVidia GPU detected
ln -sf /etc/X11/xorg.nvidia.conf /etc/X11/xorg.conf
else
echo Intel GPU detected
ln -sf /etc/X11/xorg.intel.conf /etc/X11/xorg.conf
fi

et la réponse au démarrage est : line 10: syntax error near unexpected token 'fi'

pourriez vous m'aidez , merci d'avance
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17573
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [cg] intel et nvidia installés simultanément (résolu)

Message par benjarobin »

Merci de créer un autre sujet car apparemment il n'y aucun lien avec le sujet actuel. De toute façon on ne déterre jamais un sujet résolu, tout au pire on créer un nouveau sujet pointant vers celui-ci
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [cg] intel et nvidia installés simultanément (résolu)

Message par FoolEcho »

«The following statement is not true. The previous statement is true.» :nage:
Répondre