6 votes

Wine avec le pilote propriétaire Nvidia sur Ubuntu 64 bits

J'ai Ubuntu 18.04 64-bit avec le pilote NVidia propriétaire installé. Lorsque j'essaie de démarrer une application graphique Windows, j'obtiens l'erreur suivante :

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  151 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  257
  Current serial number in output stream:  256

Après avoir surfé sur des problèmes similaires sur les communautés SO, j'ai réalisé que cela était probablement dû au fait que Wine utilise des librairies graphiques 32 bits.

Le problème est que le programme d'installation des pilotes 32 bits propriétaires de NVidia vérifie l'architecture et fait échouer l'installation (bien que j'aie installé le paquet multiarch-support).

Existe-t-il un moyen de contourner ce problème en préservant les pilotes propriétaires ? Ou si ce n'est pas le cas, quelle serait la manière la plus robuste de mettre en place ces librairies ?

Gracias.

2voto

Alexey Fufaev Points 121

Je connais ce problème et je l'ai résolu.
J'utilise un système d'exploitation plus récent, mais les commandes peuvent être similaires.

Vous devrez peut-être exécuter cette commande si vous n'avez pas encore de paquets 32 bits :

dpkg --add-architecture i386

Vous devez installer manuellement toutes les bibliothèques 32 bits de Nvidia pour exécuter des jeux et des programmes 32 bits. Si vous n'installez pas tous les fichiers, vous obtiendrez une erreur avec "swrast".

J'utilise ces commandes pour moi, et elles fonctionnent.

sudo apt install nvidia-driver-430:i386 libnvidia-gl-430:i386 xserver-xorg-video-nvidia-430:i386 libnvidia-cfg1-430:i386 libnvidia-ifr1-430:i386 libnvidia-decode-430:i386 libnvidia-encode-430:i386 nvidia-settings
sudo apt install nvidia-driver-430 libnvidia-gl-430 nvidia-utils-430 xserver-xorg-video-nvidia-430 libnvidia-cfg1-430 libnvidia-ifr1-430 libnvidia-decode-430 libnvidia-encode-430 nvidia-settings

Après cela :

  1. Changez 430 pour votre version du pilote 64bit déjà installé.
  2. Si un fichier ne peut pas être installé ou s'il est déjà installé, il suffit de le supprimer de la liste et de poursuivre l'opération.
  3. Vérifiez soigneusement dans Synaptic la présence de fichiers avec libnvidia y nvidia-driver

Leurs auteurs peuvent périodiquement modifier les noms des fichiers ou en ajouter de nouveaux. J'espère qu'il n'y a pas de changement du 430 au 440.

PS : Au lieu de apt vous pouvez utiliser

sudo aptitude install .... 

Bien sûr, j'utilise PPA

sudo add-apt-repository ppa:graphics-drivers/ppa

(sudo apt-get update est nécessaire).

PPS : Avez-vous une seule carte graphique ?
Ou deux cartes dans un carnet ?
Si vous en avez deux, vous devez utiliser nvidia-prime o bumblebee y optirun pour exécuter des applications comme celle-ci :

optirun wine

Vous pouvez obtenir le nom de votre carte vidéo en exécutant :

inxi -G" or "glxinfo | grep OpenGL

Pour tester la partie 32 bits du pilote Nvidia, il suffit d'exécuter n'importe quel programme Wine 32 bits. Même Héros 3 .

1voto

WinEunuuchs2Unix Points 91128

Il n'est pas garanti que cela résolve votre problème, mais les mêmes erreurs se sont produites en 2014 :

La solution à l'époque (lire le lien complet) consistait à créer un nouveau lien symbolique.

0voto

Ruksolari Points 66

Y a-t-il une raison de ne pas passer à la nouvelle LTS ? Si les pilotes NVidia continuent de poser problème, il faut peut-être passer à Pop OS ou jeter un coup d'œil à leurs pilotes... https://support.system76.com/articles/upgrade-ubuntu/

0voto

hlg Points 101

Après plusieurs tentatives pour appliquer les solutions des réponses à cette question et à d'autres questions similaires, j'ai trouvé celle qui a permis de résoudre mon cas particulier.

  1. Téléchargez le dernier pilote NVidia 64 bits propriétaire sur le site de NVidia.
  2. Démarrer Ubuntu en mode cmd sous root : https://askubuntu.com/a/859640/924671
  3. Exécuter le programme d'installation
  4. À un moment donné, le programme d'installation vous demandera si vous souhaitez installer les bibliothèques de compatibilité 32 bits. Répondre [Oui]
  5. Lorsque l'on vous demande si vous voulez écraser les fichiers existants (il y a probablement plusieurs endroits où cela est possible), confirmez l'option
  6. Reboot

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X