Problème jeux 3d

Résolu/Fermé
vincegbx Messages postés 33 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 25 février 2013 - 14 janv. 2010 à 17:21
mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 - 28 janv. 2010 à 12:10
Bonjour,
Le rendu 3D est impraticable pour les jeux avec ma config Ubuntu karmic 64 bits, même avec des options basiques. Open Arena par exemple fonctionnait très bien sous ma précédente installation Jaunty.
Je possède une carte nvidia 7800 GTX (dernier driver 195 installé et précédents 190 et 185 essayés).
J'ai essayé de désactiver, sans succès les effets compiz.

La commande console pour savoir si la 3d est activée, glxinfo | grep "direct rendering" donne NO mais YES avec en mode administrateur "sudo", est-ce normal ?

Autre piste, j'ai le message suivant en lançant Sauerbraten "no vertex buffer object extension" "rendering using the openGL assembly path"

enfin voici mon xorg édité avec nvidia settings.
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 1.0 (buildd@actinium) Wed Dec 23 23:28:57 UTC 2009


Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection

Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
Load "dri"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "LG L1919S"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
Option "DPMS" "on"
# HorizSync source: edid, VertRefresh source: edid
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 7800 GTX"
EndSection

Section "Screen"

# Removed Option "metamodes" "1280x1024_60 +0+0; nvidia-auto-select +0+0"
# Removed Option "metamodes" "1280x1024_75 +0+0; 1280x1024_60 +0+0; nvidia-auto-select +0+0"
# Removed Option "metamodes" "1280x1024_60 +0+0; 1280x1024_75 +0+0; nvidia-auto-select +0+0"
# Removed Option "TwinView" "true"
# Removed Option "metamodes" "1280x1024_60 +0+0; nvidia-auto-select +0+0"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "NoLogo" "True"
Option "TwinView" "0"
Option "TwinViewXineramaInfoOrder" "CRT-0"
Option "metamodes" "nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Section "Extensions"
Option "Composite" "enable"
EndSection
A voir également:

7 réponses

mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 7 748
14 janv. 2010 à 19:32
La commande console pour savoir si la 3d est activée, glxinfo | grep "direct rendering" donne NO mais YES avec en mode administrateur "sudo", est-ce normal ?

Non, c'est d'ailleurs pour ça que les effets de bureau et les jeux 3D ne marchent pas. Un sudo n'a pas de sens dans ce contexte car un utilisateur n'a pas besoin de droits root pour lancer une application en 3D. Ca sent le driver nvidia mal installé.

Comment ça marche ? (permet de localiser le problème)

La gestion graphiques sous linux est décomposée en couche. De la plus proche du matérielle à la plus proche de l'utilisateur :

- la couche matérielle : ta carte 3D nvidia en l'occurrence.

- la couche kernel : le kernel + les modules (dont le module nvidia que tu cherches à installer fait partie ; pour info, un module est un fichier ".ko" qui n'est rien d'autre qu'un morceau de kernel chargé dynamiquement). Les modules sont rangés quelque part dans /lib/modules. Ils sont chargés conformément à ce qui est configuré dans /etc/modules. Sous ubuntu, le module ".ko" est fourni par les paquets "nvidia-glx...". Sous debian il faut le construire par exemple avec module-assistant. Dans les deux cas on peut le récupérer au travers du script fourni par nvidia. Tout ceci est détaillé dans la deuxième partie de ma réponse.

- la couche x (x = graphics) : le serveur X (xorg) sert à afficher le mode graphique. On l'appelle souvent X11 (car on est à la 11ème version). Il est généralement lancé au travers d'un service, gdm ou kdm (rangé dans /etc/init.d). C'est à ce niveau qu'intervient le driver libre nv (xserver-xorg-video-nv), mais celui-ci ne permet pas d'avoir d'accélération 3D contrairement au driver propriétaire (nvidia). Le driver utilisé par xorg (nv ou nvidia) est spécifié dans /etc/X11/xorg.conf. Si ce fichier n'existe pas ou ne le précise pas, xorg utilisera probablement nv.

- le gestionnaire de fenêtres : kwin pour KDE, metacity pour gnome (anciennement, on distinguait compiz et beryl pour la 3D ; aujourd'hui kwin intègre le support 'compiz', pour metacity je ne sais pas). C'est à ce niveau que tu actives ou non les effets "composites" (bureaux 3D).

- les applications graphiques : tes jeux 3D en particulier...

Diagnostic et réparation

1) En fait il faudrait vérifier si le module nvidia est chargé :

lsmod | grep nvidia


Exemple :

(mando@aldur) (~) $ lsmod | grep nvidia
nvidia               9576396  36
i2c_core               20812  12 asb100,nvidia,tvaudio,tda7432,msp3400,tuner_simple,tuner,bttv,i2c_algo_bit,v4l2_common,tveeprom,i2c_nforce2
nvidia_agp              5860  1
agpgart                30836  2 nvidia,nvidia_agp


Dans cet exemple il est chargé. Si rien n'apparaît il n'est pas chargé chez toi. Dans ce cas il faut le charger :

sudo modprobe nvidia


... et vérifier que tout va bien :

lsmod | grep nvidia
dmesg | tail


Si tout à l'air en ordre, on enchaîne (étape 3). Sinon passe à l'étape 2, car il faut revoir ton installation de driver nvidia.

2) Pour cette étape, plusieurs solutions s'offrent à toi (2a et 2b). Personnellement je te conseille la version 2a, la version 2b n'est à utiliser qu'en cas de nécessité. Commence par mettre à jour ton système et sauver la configuration du serveur X (xorg) :

sudo aptitude update
sudo aptitude safe-upgrade
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.bak


2a) Sous ubuntu, les drivers nvidia sont mis à disposition de paquets nvidia-glx.... sous ubuntu) et tu n'es a priori pas sensé passer par le script fourni par le site de nvidia. Toutes les informations sont ici :
http://doc.ubuntu-fr.org/nvidia

Si tu avais été sous debian, il aurait fallu par exemple passer par module-assistant :
https://forums.commentcamarche.net/forum/affich-37604206-installer-les-pilotes-nvidia-sous-linux-debian

Si tu ne t'en sors pas, passe à l'étape 2)b), sinon passe à l'étape 3.

2)b) on utilise le script fourni par nvidia (supposons qu'il soit dans /home/mando). Pour cela passe en mode texte (ctrl alt f1) et identifie toi. Dans ce qui suit, si tu utilises KDE remplace "gdm" par "kdm".

Tape :

export CC="gcc-4.3"
sudo /etc/init.d/gdm stop
/home/mando/NVIDIA*


Après moult opérations, le script nvidia devrait te proposer de corriger la configuration du serveur X (xorg), chose qu'il faut effectivement faire... Passe à l'étape 4.

3) Une fois le module correctement chargé, ton serveur X (xorg) a ses chances pour supporter la 3D. Il faut alors le reconfigurer grâce à nvidia-xconfig. Si tu as utilisé le script fourni par nvidia (2b), cette étape a déjà été faite et tu peux passer à directement l'étape 4.

sudo nvidia-xconfig


4) Il ne reste plus qu'à relancer le serveur X, pour que celui-ci tienne compte des modifications apportées au fichier /etc/X11/xorg.conf corrigé par nvidia-xconfig :

sudo /etc/init.d/gdm start


Si le mode graphique ne marche plus, on peut revenir à l'étape 2 en tapant :

sudo cp /etc/X11/xorg.conf.bak /etc/X11/xorg
sudo /etc/init.d/gdm restart


5) Si le mode graphique est lancé avec succès, on peut vérifier que la 3D est bien prise en charge :

glxinfo | grep -i render


Typiquement ça ressemble à ceci :

(mando@aldur) (~) $ glxinfo | grep -i render
direct rendering: Yes
OpenGL renderer string: GeForce 6600 GT/AGP/SSE/3DNOW!
    GL_NVX_conditional_render, GL_SGIS_generate_mipmap, GL_SGIS_texture_lod,


Dans ce cas c'est gagné, les bureaux 3D et les jeux 3D devraient fonctionner...

6) Si tout marche, vérifie dans /etc/modules que le module nvidia est chargé au démarrage, sinon celui-ci ne sera pas chargé au prochain redémarrage. Dans ton cas, cette étape est a priori superflue, car elle concerne les utilisateurs debian qui sont passés par module-assistant. Le script nvidia ou le paquet ubuntu devrait déjà avoir corrigé ce fichier pour toi. Au cas où, si tu as besoin de le corriger :

sudo nano /etc/modules


Voici par exemple à quoi ressemble le mien :

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

loop
sbp2
bttv
nvidia

# phone
ehci_hcd

#sensors
# I2C adapter drivers
i2c-nforce2
# Chip drivers
asb100

# telecommande
lirc_dev


(ce fichier ici présent est rempli spécifiquement à mon matériel, la seule ligne qui te concerne pour ce problème est la ligne "nvidia"). Pour sauver et quitter : ctrl x.

Bonne chance
1
vincegbx Messages postés 33 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 25 février 2013
15 janv. 2010 à 14:35
j'ai essayé par la méthode du site Ubuntu, rien n'à faire... En revanche je confirme que les effets de bureau fonctionnent, notamment le cube 3D. C'est seulement les jeux qui coincent
0
mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 7 748
15 janv. 2010 à 19:12
Quels genre de jeux ? Est-ce que le "glxinfo | grep -i render" dit que le direct rendering est actif ?
0
merci de votre aide. Comme je le disais, la réponse est au glxinfo | grep -i render est NO ...mais YES en tapant la commande en mode administrateur. sudo. avec mon install karmic koala 64 bits, aucun jeu ne prend l'accélération graphique, par exemple open orena ou sauerbrauten qui passaient très bien sous Jaunty.
D'autre part en en activant logiciel de DJ Mixxx, j'ai eu ce message :

direct rendering is not enabled on your machine.

This means that the waveform displays will be very
slow and take a lot of CPU time. Either update your
configuration to enable direct rendering, or disable
the waveform displays in the control panel by
selecting "Simple" under waveform displays.
NOTE: In case you run on NVidia hardware,
direct rendering may not be present, but you will
not experience a degradation in performance.

est-ce à dire que mon pb de mauvais rendu ne viendrait pas de cette option?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 7 748
18 janv. 2010 à 00:49
Justement, tant que glxinfo ne marche pas correctement, ça ne sert à rien de tenter de faire marcher un jeu. Pour moi c'est ton driver de carte 3D nvidia qui est mal installé.

Passe en mode texte (ctrl alt f1) et tape ;

sudo /etc/init.d/gdm stop
sudo rmmod nvidia
sudo modprobe nvidia
sudo /etc/init.d/gdm start


Ensuite reporte-moi le résultat de ces commandes :

sudo cat /var/log/Xorg.0.log
lsmod | grep nvidia
sudo dmesg | tail
dpkg -l | grep -i nvidia


Bonne chance
0
vincegbx Messages postés 33 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 25 février 2013
28 janv. 2010 à 11:46
excuse-moi pour ma réponse tardive, mais j'avais pas reçu l'avis dans ma boite aux lettres.
Après mise à jour et bidouilles diverses dont la tienne, tout est rentré dans l'ordre.
Merci encore.
0
mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 7 748
28 janv. 2010 à 12:10
Eh bien c'est parfait :-)

Bonne continuation
0