[conflits] cohabitation libgl-dri - nvidia-utils (résolu)

Mise à jour / Création /debug de paquetages
Répondre
Avatar de l’utilisateur
cloownix
Hankyu
Messages : 28
Inscription : dim. 28 oct. 2007, 02:05

[conflits] cohabitation libgl-dri - nvidia-utils (résolu)

Message par cloownix »

bonjour,

heureux propriétaire d'un vaio série SZ, j'ai 2 cartes graphiques : une i950 et une nvidia. Un petit commutateur permet de sélectionner.
J'aimerai pouvoir utiliser les deux.
Pas de problème avec l'intel : j'ai installé avec.

Code : Tout sélectionner

[ix@sz1m ~]$ yaourt -S nvidia
resolving dependencies... done.
looking for inter-conflicts... 
:: nvidia-utils conflicts with libgl-dri. Remove libgl-dri? [Y/n] n
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: nvidia-utils: conflicts with libgl-dri
Est-il possible de contourner ce problème ??
Dernière modification par cloownix le dim. 28 oct. 2007, 16:50, modifié 1 fois.
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Re: [conflits] cohabitation libgl-dri - nvidia-utils

Message par mélodie »

cloownix a écrit :Est-il possible de contourner ce problème ??
Pas à ma connaissance. J'ai aussi vu je ne sais plus où, cette incompatibilité reportée en tant que bug, mais rien de plus. Quoique peut-être...
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

salut,
j'ai eu, y a un moment un sz4, mais personnellement, je n'utilisais la intel qu'en déplacement pour une question d'autonomie, du coup, pas d'installation de l'acceleration 3D pour intel

pour prendre en compte le bon xorg au démarrage (j'avais pas réussi à le prendre en compte à chaud), j'avais fait un petit script qui détectait la carte avec lspci, tu peux peut etre faire la même chose pour créer des liens vers les bonnes librairies, mais c'est un peu barbare :P

EDIT: je viens de lire le lien de mélodie, c'est en gros ce qu'il propose
Avatar de l’utilisateur
cloownix
Hankyu
Messages : 28
Inscription : dim. 28 oct. 2007, 02:05

Message par cloownix »

@tuxce : pour moi c fluxbox sur batterie mais ça m'arrive de faire un détour par compiz-fusion pour faire baver les collègues déjà accros à vista :D
Je ne crois que personne n'a encore réussi à switcher à chaud.
Je ferrai le script qd ça marchera à la main.

@melodie : c'est exactement ça qu'il me faut, merci. Je regarde ça quand j'ai un peu plus de temps.

petite question annexe : qu'en sera-t-il des MàJ ?
Avatar de l’utilisateur
cloownix
Hankyu
Messages : 28
Inscription : dim. 28 oct. 2007, 02:05

Message par cloownix »

Voila, ça fonctionne à la man : il m'a suffit de

Code : Tout sélectionner

cp /usr/lib/libGL.so.1.2 /usr/lib/libGL.aiglx.so.1.2
et d'installer nvidia-utils (en enlevant libgl-dri)

Et ce script (qui pourrait être bcp plus élégant) fait le reste

Code : Tout sélectionner

VIDEO=`/usr/sbin/lspci |grep -c nVidia`

if [ "$VIDEO" = 1 ]; then
cp -f /etc/X11/xorg.conf.arch.speed /etc/X11/xorg.conf
rm /usr/lib/libGL.so
rm /usr/lib/libGL.so.1
rm /usr/lib/xorg/modules/extensions/libglx.so
ln -sf /usr/lib/xorg/modules/extensions/libglx.so.100.14.19 /usr/lib/xorg/modules/extensions/libglx.so
ln -sf /usr/lib/libGL.so.100.14.19 /usr/lib/libGL.so.1
ln -sf /usr/lib/libGL.so.100.14.19 /usr/lib/libGL.so
ln -sf /usr/lib/libGLcore.so.100.14.19 /usr/lib/libGLcore.so.1
else
cp -f /etc/X11/xorg.conf.arch.stamina /etc/X11/xorg.conf
rm /usr/lib/libGL.so
rm /usr/lib/libGL.so.1
rm /usr/lib/xorg/modules/extensions/libglx.so
ln -sf /usr/lib/libGL.aiglx.so.1.2 /usr/lib/libGL.so.1
ln -sf /usr/lib/libGL.aiglx.so.1.2 /usr/lib/libGL.so
rm /usr/lib/libGLcore.so.1
ln -sf /usr/lib/xorg/modules/extensions/libGLcore.xorg /usr/lib/xorg/modules/extensions/libGLcore.so
ln -sf /usr/lib/xorg/modules/extensions/libglx.xorg /usr/lib/xorg/modules/extensions/libglx.so
fi
Toujours la même question. libgl-dri n'étant plus installé, comment je peux automatiser la mise à jour de libGL.so.1.2 ?

Reste à le faire executer au boot et j'aurai compiz-fusion sur les 2 cartes. :D

EDIT : Voila, ça aussi c'est fait, je vais pouvoir retourner voir le jour :lol:
Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)

Message par wain »

cloownix a écrit :Toujours la même question. libgl-dri n'étant plus installé, comment je peux automatiser la mise à jour de libGL.so.1.2 ?
il faut customiser le PKGBUILD. Crée 2 fichiers /etc/customizepkg.d/libl-dri et /etc/customizepkg.d/nvidia. Dedans il faut mettre une petite ligne du genre

Code : Tout sélectionner

replace#global#machin#bidule
de manière à ce que le fichier libGL.so.xx soit renommé au moment de la création du paquetage.
Il faut aussi supprimer le conflit avec libgl-dri dans le PKGBUILD nvidia.

Code : Tout sélectionner

remove#conflicts#libgl-dri
Par la suite, un simple yaourt -Su provoquera la recompilation de ces deux paquetages si une mise à jour est disponible.
Avatar de l’utilisateur
cloownix
Hankyu
Messages : 28
Inscription : dim. 28 oct. 2007, 02:05

Message par cloownix »

ça semble élégant comme solution.
Je ne suis pas encore un as des PKGBUILD, mais je regarde ça dès que j'ai le temps.
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Message par mélodie »

Hou la la !!! cloownix, puisque tu suis, pourrais-tu faire un howto avec un exemple concret : disons, le tien, pour que tous ceux qui arrivent après puissent s'en inspirer ? Tu pourrais ensuite le déposer sur le wiki ! :)
Avatar de l’utilisateur
cloownix
Hankyu
Messages : 28
Inscription : dim. 28 oct. 2007, 02:05

Message par cloownix »

oui, il faudra. Comme tout le monde, je manque de temps. Et il y a encore plein de choses qui ne me conviennent pas. Mais je le met sur mon TODO. Et il faut encore que je comprenne le post de wain. Je crois que ça veut dire encore pas mal de lecture :wink:
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Message par mélodie »

cloownix a écrit :je manque de temps. Et il y a encore plein de choses qui ne me conviennent pas. Mais je le met sur mon TODO. Et il faut encore que je comprenne le post de wain.
Disons, ce n'est pas parce que j'ai donné une piste que j'ai compris ce qu'il faut faire par exemple, mais si déjà tu commences à faire un tutoriel précis sur ce que tu as fait jusqu'ici, ça peut se compléter ensuite par étape.

Puis tu pourras ensuite poster au sujet de tes essais, si nécessaire, jusqu'à ce que tout soit tel que tu le souhaite.
Avatar de l’utilisateur
cloownix
Hankyu
Messages : 28
Inscription : dim. 28 oct. 2007, 02:05

Message par cloownix »

@wain : j'ai fais une petite recherche sur customizepkg et je suis tombé chez toi. T'aurais pu me dire.
Tu dois avoir qq liens vers de la doc...
Et comme il est déjà tard, j'ai une question bête. Comment je peux récupérer facilement les PKGBUILD de current extra et community ?
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Message par marc[i1] »

cloownix a écrit :Comment je peux récupérer facilement les PKGBUILD de current extra et community ?
Pour compiler un paquetage situé dans core/extra/community

Code : Tout sélectionner

$ yaourt -Sb foo
Pour compiler un paquetage de AUR :

Code : Tout sélectionner

$ yaourt foo
Pour télécharger le PKGBUILD :

Code : Tout sélectionner

$ yaourt -G foo
plus d'info :

Code : Tout sélectionner

$ man yaourt
ou

Code : Tout sélectionner

$ yaourt --help
:)
Ne vous emmerdez plus, emmerdez les autres.
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Message par mélodie »

marc[i1] a écrit : plus d'info :

Code : Tout sélectionner

$ man yaourt
Justement à ce sujet, où il est passé ce man ?
$man yaourt
Il n'y a pas de page de manuel pour yaourt.
:?:
Avatar de l’utilisateur
Skunnyk
Maître du Kyudo
Messages : 1137
Inscription : mer. 06 sept. 2006, 21:31
Localisation : IRC
Contact :

Message par Skunnyk »

Chezmoicamarche©®
Normalement le man de yaourt est présent depuis plusieurs versions !
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Message par mélodie »

Skunnyk a écrit :Chezmoicamarche©®
Normalement le man de yaourt est présent depuis plusieurs versions !
Bon, je reverrais ça quand je ferais des upgrades.
Avatar de l’utilisateur
cloownix
Hankyu
Messages : 28
Inscription : dim. 28 oct. 2007, 02:05

Message par cloownix »

Ici aussi Etrange, je crois qu'hier soir ce n'était pas le cas ou il était vraiment temps que j'aille me coucher.

J'avais essayé yaourt -Sbw mais apparement il y a des subtilités :wink:

[vacances]à bientôt[/vacances] :lol:
Avatar de l’utilisateur
cloownix
Hankyu
Messages : 28
Inscription : dim. 28 oct. 2007, 02:05

Message par cloownix »

:bravo::bravo::bravo: wain t'es un as ! :bravo::bravo::bravo:
trop bon customize-pkg. :D
Même plus besoin de cp libGL.so.1.2

@melodie : un début de futur howto. :lol:

Code : Tout sélectionner

yaourt -Sb libgl-dri nvidia-utils && yaourt -S nvidia
après avoir collé tout ça au bon endroit (ainsi que les fichiers de conf de xorg) et ajouté libglx.select au rc.conf.

Et si j'ai bien compris yaourt -Su doit mettre tout ça à jour (yaourt se souvient qu'il a compilé le paquet ?)

Code : Tout sélectionner

[ix@sz1m ~]$ cat /etc/customizepkg.d/libgl-dri 
remove#conflicts#'libgl'

Code : Tout sélectionner

[ix@sz1m ~]$ cat /etc/customizepkg.d/nvidia-utils 
remove#conflicts#'libgl'
remove#conflicts#'libgl-dri'

Code : Tout sélectionner

[ix@sz1m ~]$ cat /etc/X11/xorg_conf_arch 
VIDEO=`/usr/sbin/lspci |grep -c nVidia`

rm /usr/lib/libGL.so 2>/dev/null
rm /usr/lib/libGL.so.1 2>/dev/null
rm /usr/lib/xorg/modules/extensions/libglx.so

if [ "$VIDEO" = 1 ]; then
        cp -f /etc/X11/xorg.conf.arch.speed /etc/X11/xorg.conf
        ln -sf /usr/lib/xorg/modules/extensions/libglx.so.100.14.19 /usr/lib/xorg/modules/extensions/libglx.so
        ln -sf /usr/lib/libGL.so.100.14.19 /usr/lib/libGL.so.1
        ln -sf /usr/lib/libGL.so.100.14.19 /usr/lib/libGL.so
        ln -sf /usr/lib/libGLcore.so.100.14.19 /usr/lib/libGLcore.so.1
else
        cp -f /etc/X11/xorg.conf.arch.stamina /etc/X11/xorg.conf
        ln -sf /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1
        ln -sf /usr/lib/libGL.so.1.2 /usr/lib/libGL.so
        rm /usr/lib/libGLcore.so.1 2>/dev/null
        ln -sf /usr/lib/xorg/modules/extensions/libGLcore.xorg /usr/lib/xorg/modules/extensions/libGLcore.so
        ln -sf /usr/lib/xorg/modules/extensions/libglx.xorg /usr/lib/xorg/modules/extensions/libglx.so
fi

Code : Tout sélectionner

[ix@sz1m ~]$ cat /etc/rc.d/libglx.select 
#!/bin/bash

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

PID=`pidof -o %PPID /etc/X11/xorg_conf_arch`
case "$1" in
  start)
    stat_busy "selecting opengl"
    /etc/X11/xorg_conf_arch
    if [ $? -gt 0 ]; then
      stat_fail
    else
      add_daemon xorg_conf_arch
      stat_done
    fi
    ;;
 stop)
   stat_busy "stopping opengl"
    if [ $? -gt 0 ]; then
     stat_fail
    else
     rm_daemon xorg_conf_arch
     stat_done
    fi 
    ;;
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
  *)
    echo "usage: $0 {start|stop|restart}"  
esac
exit 0
Merci à tous

Jj'suis vraiment très agréablement surpris par pacman/yaourt.
Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)

Message par wain »

cloownix a écrit :J'avais essayé yaourt -Sbw mais apparement il y a des subtilités :wink:
Euh le 'w' ne se mélange pas avec 'b". Si tu veux récupérer le pkbuild d'un programme, tapes simplement par exemple: yaourt -G libgl
cloownix a écrit ::bravo::bravo::bravo: wain t'es un as ! :bravo::bravo::bravo:
trop bon customize-pkg. :D
Même plus besoin de cp libGL.so.1.2
Merci merci :chinois:
cloownix a écrit :

Code : Tout sélectionner

yaourt -Sb libgl-dri nvidia-utils && yaourt -S nvidia
après avoir collé tout ça au bon endroit (ainsi que les fichiers de conf de xorg) et ajouté libglx.select au rc.conf.
Ici aussi, le "b" n'est plus nécessaire car yaourt vérifie l'existance d'un fichier /etc/customizepkg.d/logiciel, et s'il le trouve alors il procède à la compilation du paquetage plutôt qu'à son téléchargement.
cloownix a écrit :Et si j'ai bien compris yaourt -Su doit mettre tout ça à jour (yaourt se souvient qu'il a compilé le paquet ?)
C'est ça! comme indiqué ci-dessus, yaourt trouve le fichier de conf pour customiser le PKGBUILD, donc il recompile à partir des sources.
Avatar de l’utilisateur
cloownix
Hankyu
Messages : 28
Inscription : dim. 28 oct. 2007, 02:05

Message par cloownix »

wain a écrit :ci aussi, le "b" n'est plus nécessaire car yaourt vérifie l'existance d'un fichier /etc/customizepkg.d/logiciel, et s'il le trouve alors il procède à la compilation du paquetage plutôt qu'à son téléchargement.
C'est noté.
Répondre