Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| ati_problemes [Le 14/05/2012, 22:47] – [Écran noir en sortie de veille] espace en trop 93.2.138.204 | ati_problemes [Le 31/05/2016, 17:41] (Version actuelle) – supprimée L'Africain | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | ||
| - | ---- | ||
| - | ====== Résolution des problèmes d' | ||
| - | |||
| - | <note warning> | ||
| - | |||
| - | ==== Informations sur les erreurs ==== | ||
| - | |||
| - | Consultez la sortie de //dmesg | grep fglrx//. Vous trouverez les logs des messages d' | ||
| - | |||
| - | |||
| - | |||
| - | ==== Reconfigurer X ==== | ||
| - | |||
| - | Voila l' | ||
| - | Ouvrir d' | ||
| - | Taper votre nom d' | ||
| - | |||
| - | < | ||
| - | |||
| - | < | ||
| - | |||
| - | <note tip> | ||
| - | Depuis [[: | ||
| - | </ | ||
| - | |||
| - | |||
| - | |||
| - | ==== AGP ==== | ||
| - | |||
| - | Si votre fichier ''/ | ||
| - | * Editez votre fichier ''/ | ||
| - | < | ||
| - | nvidia-agp # Ou bien le module selon votre chipset : intel-agp / via-agp / sis-agp | ||
| - | fglrx</ | ||
| - | en supprimant la ligne fglrx si vous l' | ||
| - | * Ensuite dans votre fichier ''/ | ||
| - | < | ||
| - | Driver | ||
| - | Option | ||
| - | |||
| - | <note critique> | ||
| - | |||
| - | Le pilote ATI version 8.12.10 est disponible dans Breezy, il devrait résoudre ce problème et permettre une amélioration des performances. | ||
| - | |||
| - | ==== Écran noir en sortie de veille | ||
| - | |||
| - | Pour ceux qui ont des problèmes avec Compiz activé, et ce à la sortie de veille, voila une solution : | ||
| - | Source : [[https:// | ||
| - | |||
| - | Pour faire simple : | ||
| - | Dans / | ||
| - | |||
| - | < | ||
| - | |||
| - | # Disable the builtin 00clear because we need to kill off all compiz | ||
| - | # instances before it does a chvt | ||
| - | HOOK_BLACKLIST=00clear</ | ||
| - | |||
| - | Dans /etc/pm /sleep.d/ créer un fichier **00compiz-fglrx**, | ||
| - | < | ||
| - | |||
| - | # This file is / | ||
| - | |||
| - | import os | ||
| - | import sys | ||
| - | import time | ||
| - | import cPickle as pickle | ||
| - | import tempfile | ||
| - | import re | ||
| - | from math import ceil | ||
| - | from subprocess import Popen, PIPE, check_call, CalledProcessError | ||
| - | |||
| - | # get the stdout from executing the command made up of elements of cmd_args | ||
| - | def backquote(cmd_args): | ||
| - | if type(cmd_args) is str: | ||
| - | cmd_args = cmd_args.split() | ||
| - | process = Popen(cmd_args, | ||
| - | out = process.communicate()[0].rstrip() | ||
| - | if process.returncode != 0: | ||
| - | raise CalledProcessError(process.returncode, | ||
| - | return out | ||
| - | |||
| - | def psinfo(pid, field): | ||
| - | return backquote((' | ||
| - | |||
| - | def proc(pid, part): | ||
| - | return open('/ | ||
| - | |||
| - | def psenviron(pid): | ||
| - | return dict( | ||
| - | x.split(' | ||
| - | for x in proc(pid,' | ||
| - | if ' | ||
| - | |||
| - | # Change the following to something like | ||
| - | # | ||
| - | # LOG_FILE_NAME='/ | ||
| - | # | ||
| - | # in order to see some debug output | ||
| - | LOG_FILE_NAME=None | ||
| - | |||
| - | logfile=None | ||
| - | def log(*args): | ||
| - | if not LOG_FILE_NAME: | ||
| - | return | ||
| - | global logfile | ||
| - | if not logfile: | ||
| - | logfile = open(LOG_FILE_NAME,' | ||
| - | logfile.write(' | ||
| - | logfile.flush() | ||
| - | |||
| - | class TimeOutError(Exception): | ||
| - | |||
| - | def try_kill(pid, | ||
| - | os.kill(pid, | ||
| - | for x in range(int(ceil(timeout/ | ||
| - | if not os.path.exists('/ | ||
| - | return | ||
| - | time.sleep(step) | ||
| - | raise TimeOutError, | ||
| - | |||
| - | number = re.compile(r' | ||
| - | stat_fields = re.compile( | ||
| - | r' | ||
| - | r' | ||
| - | r' | ||
| - | r' | ||
| - | r' | ||
| - | ])) | ||
| - | |||
| - | class NotCompiz(Exception): | ||
| - | |||
| - | def compiz_real_info(pid): | ||
| - | stat = stat_fields.match(open('/ | ||
| - | if stat.group(' | ||
| - | raise NotCompiz, ' | ||
| - | ppid = int(stat.group(' | ||
| - | return ppid, (psenviron(ppid), | ||
| - | |||
| - | # Given recorded information about the parent processes of killed | ||
| - | # compiz.real processes, " | ||
| - | def restart_compiz(compiz_info): | ||
| - | if compiz_info: | ||
| - | log(' | ||
| - | for pid, (env, | ||
| - | |||
| - | log(' | ||
| - | |||
| - | # Ensure we have the necessary environment to re-launch the parent process | ||
| - | if ' | ||
| - | |||
| - | # If the parent didn't die when compiz.real was killed, kill the parent now | ||
| - | try: try_kill(pid, | ||
| - | except: pass | ||
| - | | ||
| - | try: | ||
| - | check_call([' | ||
| - | |||
| - | except Exception, e: | ||
| - | log(' | ||
| - | log(traceback.format_exc()) | ||
| - | print >> | ||
| - | else: | ||
| - | log(' | ||
| - | |||
| - | def suspend(): | ||
| - | # locate all parent processes of compiz.real commands | ||
| - | all_pids = [int(f) for f in os.listdir('/ | ||
| - | compiz_info = {} | ||
| - | |||
| - | try: | ||
| - | # Gather up all the info about the processes that launch compiz.real | ||
| - | for pid in all_pids: | ||
| - | try: ppid, info = compiz_real_info(pid) | ||
| - | except: continue # Skip if not compiz.real or if already dead | ||
| - | try_kill(pid, | ||
| - | compiz_info[ppid] = info # Remember how to restart its parent | ||
| - | |||
| - | # write out everything we need to restart the compiz | ||
| - | # processes and restore the current virtual terminal | ||
| - | fd, pickle_file_name = tempfile.mkstemp(' | ||
| - | pickle.dump((backquote(' | ||
| - | log(' | ||
| - | |||
| - | # Keep a record of the name of the pickle file using | ||
| - | # facilities from pm-utils. Using repr below ensures that | ||
| - | # the filename is quoted in a way that should be | ||
| - | # appropriate for the shell | ||
| - | check_call([ | ||
| - | ' | ||
| - | '. ${PM_FUNCTIONS} && savestate compiz-fglrx ' | ||
| - | + repr(pickle_file_name)]) | ||
| - | except: | ||
| - | log(' | ||
| - | restart_compiz(compiz_info) | ||
| - | raise | ||
| - | | ||
| - | # Now switch the virtual terminal as would have been done by the | ||
| - | # 00clear hook. If done with compiz running, this kills resume | ||
| - | log(' | ||
| - | check_call([' | ||
| - | |||
| - | def resume(): | ||
| - | # Get all the information we need to re-start | ||
| - | pickle_file_name = backquote([ | ||
| - | ' | ||
| - | '. ${PM_FUNCTIONS} && restorestate compiz-fglrx' | ||
| - | |||
| - | saved_console, | ||
| - | restart_compiz(compiz_info) | ||
| - | |||
| - | # This is the functionality from the 00clear hook | ||
| - | log(' | ||
| - | check_call([' | ||
| - | check_call([' | ||
| - | |||
| - | # Try to make sure the screen wakes up and actually shows us the | ||
| - | # password dialog. Without this we might need to move the mouse | ||
| - | # to see it. Doesn' | ||
| - | # environment setup in order to be able to do this. | ||
| - | # check_call([' | ||
| - | |||
| - | # if we can't get rid of this file for any reason, it's not a | ||
| - | # serious problem, so do it last. | ||
| - | os.unlink(pickle_file_name) | ||
| - | |||
| - | |||
| - | # The check for an argument in the next line is a convenience for | ||
| - | # development, | ||
| - | # anything. | ||
| - | if __name__ == ' | ||
| - | |||
| - | log(' | ||
| - | log(' | ||
| - | |||
| - | try: | ||
| - | if sys.argv[1] in (' | ||
| - | suspend() | ||
| - | | ||
| - | elif sys.argv[1] in (' | ||
| - | resume() | ||
| - | |||
| - | elif sys.argv[1] == ' | ||
| - | # Nothing to say | ||
| - | pass | ||
| - | |||
| - | else: | ||
| - | raise AssertionError, | ||
| - | |||
| - | except Exception, e: | ||
| - | import traceback | ||
| - | log(sys.argv[0]+':', | ||
| - | |||
| - | # if anything failed, try to inhibit suspension. | ||
| - | if sys.argv[1] in (' | ||
| - | inhibit_file = os.environ.get(' | ||
| - | if inhibit_file: | ||
| - | log(' | ||
| - | open(inhibit_file,' | ||
| - | raise</ | ||
| - | |||
| - | N' | ||
| - | |||
| - | Un grand merci **techarcana** : [[https:// | ||
| - | |||
| - | Note : solution inefficace sur Ubuntu 11.04, Samsung NP305U1A, driver fglrx Catalyst 12.1 AMD Radeon HD 6320 Graphics. Ne se rallume correctement ni en veille, ni en hibernation. | ||
| - | ==== Problèmes avec certains jeux ===== | ||
| - | Avec certains jeux basés sur Quake 3 ([[: | ||
| - | vous pourrez également rencontrer quelques problèmes de contrôles au clavier (précédés d'une sorte de flash discret sur l' | ||
| - | |||
| - | SubSection " | ||
| - | Option | ||
| - | EndSubSection | ||
| - | #Load " | ||
| - | |||
| - | N' | ||
| - | |||
| - | ==== Applications utilisant Gstreamer ==== | ||
| - | |||
| - | Par exemple Totem. | ||
| - | |||
| - | Si Totem affiche une erreur " | ||
| - | < | ||
| - | | ||
| - | | ||
| - | </ | ||
| - | //J'ai trouvé cette réponse à mon problème sur un [[http:// | ||
| - | |||
| - | |||
| - | ==== Mauvaises couleurs avec les applications utilisant Gstreamer ==== | ||
| - | |||
| - | Si les couleurs de vos vidéos ne sont pas correctes par rapport à l' | ||
| - | |||
| - | Assurez-vous d' | ||
| - | |||
| - | Lancez les propriétés de Gstreamer: | ||
| - | |||
| - | gstreamer-properties | ||
| - | |||
| - | Dans l' | ||
| - | |||
| - | Dans la case Pipeline, remplacez le contenu par: | ||
| - | < | ||
| - | ffmpegcolorspace ! video/ | ||
| - | </ | ||
| - | |||
| - | ==== Vidéos ne s' | ||
| - | Lancez les propriétés de Gstreamer: | ||
| - | |||
| - | gstreamer-properties | ||
| - | Puis dans l' | ||
| - | |||
| - | |||
| - | ==== Accélération OpenGL ? ==== | ||
| - | |||
| - | Vous avez bien le fglrx chargé en module mais n'avez toujours pas d' | ||
| - | Exemple: | ||
| - | |||
| - | < | ||
| - | display: :0.0 screen: 0 | ||
| - | OpenGL vendor string: Mesa project: www.mesa3d.org | ||
| - | OpenGL renderer string: Mesa GLX Indirect | ||
| - | OpenGL version string: 1.4 (2.1 Mesa 7.0.1)</ | ||
| - | |||
| - | Il va vous falloir établir un simple lien symbolique par : | ||
| - | < | ||
| - | |||
| - | Pour que ça marche, il faudra redémarrer ! | ||
| - | |||
| - | |||
| - | |||
| - | <note important> | ||
| - | En résumé, si la commande : | ||
| - | DISPLAY=:0 glxinfo | grep render | ||
| - | renvoie "ATI renderer" | ||
| - | |||
| - | ==== DRI ou accélération 3D ==== | ||
| - | |||
| - | Si vous avez des problèmes relatifs au DRI ou à l' | ||
| - | |||
| - | < | ||
| - | (WW) fglrx(0): Kernel Module version does *not* match driver. | ||
| - | (EE) fglrx(0): incompatible kernel module detected - HW accelerated OpenGL will not work | ||
| - | </ | ||
| - | |||
| - | Alors, vérifiez que le paquet '' | ||
| - | < | ||
| - | sudo apt-get install linux-restricted-modules-$(uname -r) | ||
| - | </ | ||
| - | < | ||
| - | |||
| - | ==== Droits d' | ||
| - | |||
| - | Si fglrxinfo vous indique bien les pilotes ATI mais uniquement en root, vérifiez que le chemin d' | ||
| - | < | ||
| - | # chown root:video / | ||
| - | # chmod 750 / | ||
| - | </ | ||
| - | |||
| - | ou | ||
| - | |||
| - | < | ||
| - | # chown root:video / | ||
| - | # chmod 750 / | ||
| - | </ | ||
| - | |||
| - | selon l' | ||
| - | |||
| - | ==== Noyaux et architecture ==== | ||
| - | |||
| - | <note important> | ||
| - | |||
| - | Tapez : | ||
| - | < | ||
| - | Linux ubuntu 2.6.15-20-k7 #1 SMP PREEMPT Tue Apr 4 19:26:13 UTC 2006 i686 GNU/Linux | ||
| - | </ | ||
| - | Si vous avez un AMD64 comme moi, préférez le noyau k7 plutôt que le 686 : sans ça, j' | ||
| - | Rendez-vous donc dans synaptic, faites une recherche sur la chaîne // | ||
| - | |||
| - | |||
| - | ==== Plus de vidéo ==== | ||
| - | |||
| - | A noter que si la commande | ||
| - | < | ||
| - | sudo aticonfig --initial | ||
| - | </ | ||
| - | |||
| - | suivi du redémarrage fait planter votre serveur X ou votre écran ("out of range" | ||
| - | |||
| - | < | ||
| - | sudo dpkg-reconfigure xserver-xorg // reconfigure serveur X | ||
| - | sudo vi / | ||
| - | </ | ||
| - | |||
| - | et remplacer " | ||
| - | |||
| - | < | ||
| - | Section " | ||
| - | Identifier "ATI Technologies, | ||
| - | Driver " | ||
| - | BusID " | ||
| - | EndSection | ||
| - | </ | ||
| - | <note tip> | ||
| - | [[utilisateurs: | ||
| - | |||
| - | |||
| - | Edit: Commentaire réellement utile? | ||
| - | |||
| - | De plus j'ai moi même une x800 (R430) et c'est exactement l' | ||
| - | Après installation des pilotes propriétaires X plante au reboot et il n'y a pas d' | ||
| - | </ | ||
| - | |||
| - | |||
| - | ==== Lancer X lorsque le pilote plante ==== | ||
| - | |||
| - | //(Testé avec une Ati x850 sur 64 Bit)// | ||
| - | |||
| - | Si vous n' | ||
| - | |||
| - | * Lancer l' | ||
| - | * Sélectionner le pilote de serveur X nommé **vesa** au lieu du ati lors du 2ème écran. | ||
| - | * Terminer la configuration | ||
| - | * Lancer X | ||
| - | < | ||
| - | Il se peut que cela vous permette de lancer un serveur X (sans accélération 3D mais fonctionnel) de manière à tenter d' | ||
| - | |||
| - | ==== Le pilote est installé sous Hardy Heron mais n'est pas utilisé ==== | ||
| - | |||
| - | Si après avoir installé les pilotes propriétaires par le menu Administration, | ||
| - | |||
| - | Dans le fichier / | ||
| - | |||
| - | < | ||
| - | |||
| - | |||
| - | ==== Raies rouges et/ou vertes juste avant le login ==== | ||
| - | |||
| - | L' | ||
| - | Deux solutions s' | ||
| - | Commençons par quelques préliminaires communs aux deux solutions : | ||
| - | |||
| - | == Préliminaires == | ||
| - | Rester devant un écran freezé ne fera certainement pas avancer le problème. Redémarrez donc votre PC, puis sélectionnez le démarrage en " | ||
| - | Lorsque la console est prête, commencez par désinstaller tout ce qui a quelque-chose à voir avec fglrx grâce à la commande : | ||
| - | < | ||
| - | Si vous avez installé les pilotes Catalyst grâce aux binaires du sites ATI, il suffit de lancer le script de désinstallation : | ||
| - | < | ||
| - | Passons à la suite. | ||
| - | |||
| - | == Installation des pilotes RadeonHD == | ||
| - | Si vous avez opté pour les pilotes libres, voici la démarche à suivre. | ||
| - | Installez les pilotes : | ||
| - | < | ||
| - | Lorsque l' | ||
| - | < | ||
| - | <note important> | ||
| - | Dans la section " | ||
| - | |||
| - | == Réinstallation des pilotes fglrx == | ||
| - | Cette solution est la plus simple. Installez simplement les pilotes fglrx grâce à la commande : | ||
| - | < | ||
| - | Appuyez sur [Ctrl] D pour quitter la console, puis choisissez l' | ||
| - | |||
| - | == Cas de récidive == | ||
| - | Si l'une des deux solutions précédentes n'a pas fonctionné, | ||
| - | < | ||
| - | apt-get install xserver-xorg</ | ||
| - | Ceci peut être suivi d'un xfix dans le menu du Recovery Mode. | ||
| - | |||
| - | == Cas de multi-récidive == | ||
| - | Si fglrx ne semble pas décidé à vous laisser démarrer correctement votre PC, deux possibilités sont envisageables. Soit votre carte est trop ancienne et n'est plus supportée (dans ce cas, un passage à une version antérieure d' | ||
| - | |||
| - | ==== Gel de GDM / KDM à la déconnexion ou l' | ||
| - | |||
| - | <note tip>Pour réinitialiser, | ||
| - | |||
| - | < | ||
| - | |||
| - | ==== Plantage après mises à jour du système ==== | ||
| - | // | ||
| - | |||
| - | // | ||
| - | |||
| - | ---- | ||
| - | //**Si vous n'avez pas accès au mode sans echec **//(grub n’apparaît pas malgré la touche ESC ou SHIFT): | ||
| - | Tout d' | ||
| - | sudo cp / | ||
| - | redémarrer ensuite votre machine et il ne vous reste plus qu'à réinstaller votre driver graphique. | ||
| - | |||
| - | ===== Liens ===== | ||
| - | * [[http:// | ||
| - | * [[http:// | ||
| - | * [[http:// | ||
