Page 1 sur 1
[cg] intel et nvidia installés simultanément (résolu)
Publié : mar. 23 juin 2009, 20:00
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

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

Re: [pilotes GPU] intel et nvidia installés simultanément ?
Publié : mar. 23 juin 2009, 21:50
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...

Re: [pilotes GPU] intel et nvidia installés simultanément ?
Publié : mar. 23 juin 2009, 22:09
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.
Re: [pilotes GPU] intel et nvidia installés simultanément ?
Publié : mar. 23 juin 2009, 22:18
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
Re: [pilotes GPU] intel et nvidia installés simultanément ?
Publié : mer. 24 juin 2009, 08:19
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

Re: [pilotes GPU] intel et nvidia installés simultanément ?
Publié : mer. 24 juin 2009, 14:39
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.
Re: [pilotes GPU] intel et nvidia installés simultanément ?
Publié : ven. 26 juin 2009, 18:51
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 !

Re: [pilotes GPU] intel et nvidia installés simultanément (rés.)
Publié : dim. 28 juin 2009, 17:43
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 :
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.
Re: [cg] intel et nvidia installés simultanément (résolu)
Publié : ven. 12 mars 2010, 15:33
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:
- suppréssion de nvidia-utils
- installation du driver intel avec libgl:
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.
Re: [cg] intel et nvidia installés simultanément (résolu)
Publié : ven. 12 mars 2010, 23:07
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
Re: [cg] intel et nvidia installés simultanément (résolu)
Publié : mer. 03 nov. 2010, 21:38
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???
Re: [cg] intel et nvidia installés simultanément (résolu)
Publié : lun. 18 avr. 2011, 19:50
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
Re: [cg] intel et nvidia installés simultanément (résolu)
Publié : lun. 18 avr. 2011, 20:58
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
Re: [cg] intel et nvidia installés simultanément (résolu)
Publié : lun. 18 avr. 2011, 21:04
par FoolEcho