Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
radeon [Le 12/05/2017, 22:19]
tony_p [Vitesse du ventilateur] création
radeon [Le 28/04/2018, 11:15] (Version actuelle)
Ligne 1: Ligne 1:
 +{{tag>​carte_graphique amd-ati catalyst}}
  
 +----
 +====== Le pilote libre Radeon ======
 +
 +
 +Le pilote libre Radeon est dédié au support de certaines carte graphique [[:​AMD-ATI]]. Il se présente comme une alternative crédible au [[:​catalyst|pilote propriétaire]] fourni par le constructeur.\\
 +En effet, suite au rachat de ATI par AMD, les spécifications techniques des cartes sont maintenant en accès libre. Cela a permis à la communauté d'​accélérer la création de différents pilotes entièrement libre dont la famille Radeon.
 +
 +Le pilote libre Radeon se charge par défaut, au moment du démarrage, quand une carte ATI/AMD supportée est détectée. Mais ce pilote peut facilement être remplacé par le pilote propriétaire fourni par le constructeur en allant dans les //​[[:​gnome-control-center|paramètres système]] -> Pilotes additionnels//​. Effectivement,​ le pilote libre ne couvre pas encore la totalité des fonctionnalités fournies par le pilote ATI/AMD, notamment dans le domaine de la 3d. Le retard est variable en fonction du type de carte et de la version du pilote. ​
 +
 +À noter que le développement des pilotes est très dynamique et que ce retard se comble rapidement. Et chaque nouvelle version d'​Ubuntu apporte la dernière version du pilote stable et le lot de nouveautés et de corrections qui vont avec.
 +
 +<note tip>AMD vient de publier le code source de l'UVD (Unified Video Decoder ) à la communauté Open source le 11 Avril 2013. Ainsi, la prise en charge complète de l'​accélération matérielle sera disponible à partir du noyau 3.10.</​note> ​
 +
 +
 +===== Connaître sa carte graphique =====
 +
 +==== Identifier sa carte graphique avec lspci ====
 +
 +Pour  cela il suffit de taper dans votre [[:​terminal]] la [[:​commande_shell|commande]] suivante:
 +<​code>​lspci -nn | grep VGA</​code>​
 +La commande doit renvoyer quelque chose dans ce style:
 +<​code>​01:​00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI RV670 [Radeon HD 3870] [1002:​9501]</​code>​
 +Ici la carte est donc une Radeon HD 3870 équipée d'une puce RV670, le dernier nombre (9501) étant l'​identifiant (ID) de la carte.
 +
 +Pour savoir dans quelle famille de pilotes se trouve votre carte, reportez-vous à [[http://​wiki.x.org/​wiki/​RadeonFeature#​Decoder_ring_for_engineering_vs_marketing_names|ce tableau]]. Ici il s'agit donc du pilote R600 qui s'​occupe de la puce RV670. Et en fonction de cela, vous pouvez savoir quelles sont les fonctionnalités supportées par le tout dernier pilotes, en lisant la page [[http://​wiki.x.org/​wiki/​RadeonFeature|Radeon Feature]].
 +
 +==== Plus d'​informations sur les capacités supportées avec glxinfo ====
 +La commande glxinfo va aussi vous permettre de récupérer des infos intéressantes:​
 +<​code>​glxinfo</​code>​
 +<​code>​
 +direct rendering: Yes  \\(support de l'​accélération graphique Oui)
 +OpenGL vendor string: X.Org \\(notre bienfaiteur,​ la fondation X.org)
 +OpenGL renderer string: Gallium 0.4 on AMD RV670 \\(Gallium embarque le pilote radeon)
 +OpenGL version string: 2.1 Mesa 8.0.2 \\(la version de Mesa et le support complet de OpenGL 2.1)
 +OpenGL shading language version string: 1.20 \\(La version de glsl supportée) </​code>​
 +
 +Ainsi qu'un détail des extensions [[wpfr>​OpenGL]] utilisables par votre carte:
 +
 +<​code>​OpenGL extensions:
 +    GL_ARB_multisample,​ GL_EXT_abgr,​ GL_EXT_bgra,​ GL_EXT_blend_color, ​
 +    GL_EXT_blend_minmax,​ GL_EXT_blend_subtract,​ GL_EXT_copy_texture ......</​code>​
 +Certaines font déjà partie des spécifications d'​OpenGL 3, mais comme il en manque quand même, le support complet n'est valable que pour la version 2.1.
 +
 +À noter que certain logiciel ou jeux peuvent ne pas se charger parce qu’il manque une extension. Cette liste vous aidera peut être à trouver laquelle.
 +
 +==== Et aussi ====
 +
 +  * Il existe un [[:​man|manuel]] pour les pilotes Radeon accessibles en tapant dans un [[:​terminal]]:<​code>​man radeon</​code>​
 +  * La version du paquet incorporant les pilotes se trouve en tapant: <​code>​apt-cache show xserver-xorg-video-ati</​code>​
 +
 +===== Installer une version plus récente des pilotes =====
 +<note important>​ Attention, la suite comporte des risques et peut provoquer des crashs.</​note>​
 +
 +==== Installer la version Git ====
 + 
 +[[:​Git|Git]] vous permet de bénéficier des dernières modifications de radeon et donc d'une quantité importante de nouvelles fonctionnalités et corrections de BUGS. Cependant, de nouveaux BUGS peuvent être introduits. Cette méthode d'​installation est donc réservée aux utilisateurs avancés, testeurs et autres enthousiastes. ​
 +
 +<note important>​Depuis que la version git nécessite //​xorg-macros//​ version 1.8, pour pouvoir [[:​compilation|compiler]] sous [[:​lucid|Ubuntu 10.04]], il faut préalablement installer le paquet **xutils-dev_7.5+4_i386.deb** ​ disponible [[https://​launchpad.net/​ubuntu/​+archive/​primary/​+files/​xutils-dev_7.5%2B4_i386.deb|ici]]</​note>​
 +
 +Avant de pouvoir installer la "​version git", il faut s'​assurer que les paquets suivants soient bien installés sur le système :
 +
 +[[:​tutoriel:​comment_installer_un_paquet|Installez les paquets]] **[[apt>​build-essential,​git-core,​configure-debian,​automake,​autoconf,​xorg-dev,​libtool,​libdrm-dev,​mesa-common-dev,​xutils-dev|build-essential git-core configure-debian automake autoconf xorg-dev libtool libdrm-dev mesa-common-dev xutils-dev]]**\\
 +soit pour les adeptes de la ligne de [[:​commande_shell|commande]] avec l'​outil [[:​apt-get]] :
 +<​code>​sudo apt-get install build-essential git-core configure-debian automake autoconf xorg-dev libtool libdrm-dev mesa-common-dev xutils-dev xutils</​code>​
 +
 +Ensuite, il faut récupérer la dernière version du pilote grâce à GIT
 +<​code>​git clone git://​anongit.freedesktop.org/​git/​xorg/​driver/​xf86-video-ati</​code>​
 +
 +puis la compiler :
 +<​code>​
 +cd xf86-video-ati/;​ ./​autogen.sh --prefix=/​usr;​ make; sudo make install </​code>​
 +
 +===== Configuration de l'​affichage =====
 +À une époque il était courant de modifier le fichier **/​etc/​X11/​xorg.conf** pour activer une option ou ajouter un second moniteur. Mais depuis quelques versions d'​Ubuntu ce fichier de configuration de [[:Xorg]] est divisé en plusieurs morceaux et de nombreuses options ne sont plus fonctionnelles.\\
 +Il est maintenant conseillé d'​utiliser la bibliothèque [[:xrandr]] qui permet d'​ajouter un moniteur ou de tourner l'​affichage de son écran en quelques commandes.
 +
 +==== Purger une installation non fonctionnelle ====
 +
 +Vues les difficultés que posent encore les cartes graphiques, difficultés qui se contournent souvent par des manipulations à la main, il arrive régulièrement que l'on se retrouve à nouveau dans une situation graphique non fonctionnelle. Cela arrive en particulier lors de migration d'une version d'​Ubuntu à une autre. ​
 +Le pilote libre [[:radeon]] offrant des performances de plus en plus satisfaisantes,​ il est intéressant de l'​essayer à nouveau dans une telle situation, puisqu'​il est libre, maintenu par la communauté et se mettra donc à jour automatiquement via le gestionnaire de paquets. Le paragraphe suivant propose de purger toutes ​
 +les tentatives d'​installations de pilotes précédentes,​ de configurer correctement le pilote [[:radeon]] et de relancer le serveur graphique. Les commandes supposent que vous utilisez [[:​lightdm]] comme [[::​fenetre_de_connexion]],​ ce qui est le cas par défaut. ​
 +Le fichier de configuration du Display Manager est **/​etc/​X11/​default-display-manager** que l'on peut afficher avec la commande
 +<​code>​ cat /​etc/​X11/​default-display-manager</​code>​
 +Si votre [[::​fenetre_de_connexion]] n'est pas [[:​lightdm]],​ remplacer les lignes correspondantes en conséquence. ​
 +
 +Pour réaliser cette opération, voici la démarche. Passer en session terminale tty1 en appuyant simultanément sur <​ctrl>​+<​alt>​+<​F1>​. Renseignez votre login et mot de passe. ​
 +À partir de là, vous pouvez stopper votre serveur graphique qui se trouve lui en <​ctrl>​+<​alt>​+<​F7>​ :​
 +<​code>​sudo service lightdm stop</​code>​
 +Supprimer toutes les possibles installations préalables de drivers pour votre carte AMD-ATI. Avant de lancer la première commande, vérifier que le dossier **/​usr/​share/​ati/​** existe par 
 +<​code>​cd /​usr/​share/​ati/</​code>​ Si tel n'est pas le cas, alors vous n'avez pas besoin de lancer cette commande. ​
 +<​code>​
 +sudo sh /​usr/​share/​ati/​fglrx-uninstall.sh
 +sudo apt-get remove --purge fglrx*
 +sudo apt-get remove --purge xserver-xorg-video-ati xserver-xorg-video-radeon  ​
 +sudo apt-get install xserver-xorg-video-radeon
 +sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core ​
 +sudo dpkg-reconfigure xserver-xorg
 +</​code>​
 +Nous allons maintenant générer un nouveau **xorg.conf**. Pour cela, commencer par sauvegarder la version courante de ce fichier (on ne sait jamais) :
 +<​code>​sudo mv /​etc/​X11/​xorg.conf /​etc/​X11/​xorg.conf.bak</​code>​
 +puis déplacez vous dans un endroit où vous avez tous les droits, par exemple votre **/home**
 +<​code>​cd </​code>​
 +et lancer la commande de configuration du **xorg.conf**
 +<​code>​sudo Xorg -configure</​code>​
 +En cas de message d'​erreur ne permettant pas d'​exécuter cette commande, supprimer le fichier à l'​origine de ce blocage: ​
 +<​code>​sudo rm /​tmp/​.X0-lock</​code>​
 +Puis réexécuter la commande précédente,​ qui devrait vous avoir généré un fichier nommé **xorg.conf.new** à l'​endroit même, même si la commande a terminé par une erreur. ​
 +Il vous faut maintenant éditer ce fichier pour vous assurer qu'il n'y a qu'une seule **section "​Device"​** qui pointe vers le driver [[:radeon]]
 +<​code>​
 +[...]
 +Section "​Device"​
 +    [...]
 +    Driver ​       "​radeon"​
 +EndSection
 +</​code>​
 +Enfin, placez le nouveau fichier **xorg.conf** au bon endroit
 +<​code>​sudo cp xorg.conf.new /​etc/​X11/​xorg.conf</​code>​
 +et relancer le serveur graphique
 +<​code>​sudo service lightdm start</​code>​
 +===== Gestion de l'​énergie/​performance=====
 +
 +Il y a maintenant moyen d'​avoir une gestion de l'​énergie assez efficace et comparable à celle du pilote propriétaire grâce au KMS (Kernel-based mode-setting).
 +
 +Trois méthodes s’offrent à vous:
 +
 +==== Gestion dynamique matérielle ====
 +
 +<note important>​Attention,​ vous avez besoin du noyau linux 3.11 et de firmwares récents pour utiliser cette méthode (donc Ubuntu 13.10 ou plus récent)</​note>​
 +
 +Cette méthode ne fonctionne qu'à partir des cartes HD2000 (r600) et plus récentes. Elle utilise la gestion de l'​énergie au niveau matériel, ce qui peut entraîner un gain de performance et une baisse de la consommation énergique. Cette méthode permet quelques fois d'​obtenir des températures équivalentes à celle du pilote propriétaire,​ mais aussi plus basses que dans le cas des autres méthodes utilisées.
 +
 +
 +
 +Pour activer le dpm, il faut activer son support dans le noyau.
 +<​note>​ Le dmp est activé par défaut avec le noyau linux 3.13  (donc Ubuntu 14.04) sur les cartes radeon HD 4000 (sauf 4200), HD 5000, HD 6000 (sauf HD 6900), HD 7000 (sauf HD 7790), HD 8000 (sauf HD 8770), R7 250X et inférieur, R7 265,  R9 280X et supérieur (sauf R9 295X2). Aucune manipulation n'est nécessaire avec cette version d'​Ubuntu avec ces cartes. Le dmp n'est pas activé avec  l'igp intégré Radeon HD 3450</​note> ​
 +
 +Pour vérifier si DPM est déjà activé, il suffit de taper :
 +<​code>​sudo cat /​sys/​kernel/​debug/​dri/​64/​radeon_pm_info</​code>​
 +
 +S'il apparaît des lignes proches de celles-ci :
 +<​code>​uvd ​   vclk: 0 dclk: 0
 +power level 0    sclk: 11000 mclk: 25200 vddc: 900</​code>​
 +
 +Cela veut dire que DPM est déjà activé.
 +
 +<note warning>​Attention,​ on modifie ici des options de démarrage, une manipulation non compatible peut empêcher votre machine de démarrer.</​note>​
 +
 +Vous pouvez le faire en ajoutant la commande "​radeon.dpm=1"​ au fichier de configuration ​ /​etc/​default/​grub:​
 +
 +[[:​tutoriel:​comment_modifier_un_fichier|Ouvrez le fichier]] **/​etc/​default/​grub** avec des droits d'​administration.
 +
 +Repérez la ligne
 +<​code>​GRUB_CMDLINE_LINUX_DEFAULT="​quiet splash"</​code>​
 +
 +Modifiez la en:
 +<​code>​GRUB_CMDLINE_LINUX_DEFAULT="​quiet splash radeon.dpm=1"</​code>​
 +
 +Puis enregistrez.
 +
 +Il reste alors à mettre grub à jour:
 +<​code>​sudo update-grub</​code>​
 +
 +L'​effet sera actif au prochain démarrage.
 +
 +Au cas où ubuntu ne démarre plus, il est conseillé de tester avec :
 +<​code>​GRUB_CMDLINE_LINUX_DEFAULT="​radeon.dpm=1"</​code>​
 +
 +==== Gestion dynamique logicielle ====
 +
 +La méthode dynamique "​dynpm"​ est plus moderne et plus efficace que celle par profiles. Elle ne fonctionne pas sur toutes les cartes graphiques.
 +Elle modifie dynamiquement les fréquences (ram + core) et le voltage de la carte.
 +
 +Pour le rendre automatique au démarrage, vous pouvez commencer par créer un fichier dans init.d:
 +
 +[[:​tutoriel:​comment_modifier_un_fichier|Créez le fichier]] **/​etc/​init.d/​ati-power-save** avec des droits d'​administration.
 +
 +Vous ajoutez ces lignes dans le fichier:
 +
 + <​code>#​!/​bin/​sh
 + 
 +# ATI power save
 +echo dynpm > /​sys/​class/​drm/​card0/​device/​power_method</​code>​
 +
 +Vous l'​enregistrez puis le rendez exécutable:​
 +
 + <​code>​sudo chmod +x /​etc/​init.d/​ati-power-save </​code>​
 +
 +Il reste à créer les liens qui permettrons au script d'​être exécuté à chaque démarrage:
 +
 + <​code>​sudo update-rc.d ati-power-save defaults 99 </​code>​
 +
 +==== Gestion de l'​énergie par profils ====
 +
 +La méthode par profils est basée sur 5 profils de gestion plus basiques mais qui fonctionne sur une gamme de matériel plus large.
 +
 +Les 5 profils sont:
 +  * "​default":​ Horloges et voltages par défaut (option que vous avez si vous ne faites rien)
 +  * "​auto":​ Passer en mode "​high"​ quand le système est sur secteur et "​mid"​ quand il est sur batterie.
 +  * "​low":​ Force les fréquences et voltages les plus bas. Peut poser des problèmes sur certains matériels car il correspond au mode d'​affichage dpms innactif
 +  * "​mid":​ Force un mode de puissance moyenne.
 +  * "​high":​ Force les fréquences et voltages au plus haut accessible (sans overclocking).
 +
 +Pour le rendre automatique au démarrage, vous commencer par créer un fichier dans init.d:
 +
 +[[:​tutoriel:​comment_modifier_un_fichier|Créez le fichier]] **/​etc/​init.d/​ati-power-save** avec des droits d'​administration.
 +
 +Vous y ajoutez ensuite les lignes:
 +
 + <​code>#​!/​bin/​sh
 + 
 +# ATI power save
 +echo profile > /​sys/​class/​drm/​card0/​device/​power_method
 +echo low > /​sys/​class/​drm/​card0/​device/​power_profile</​code>​
 +
 +(remplacez low par le mode voulu).
 +
 +Vous l'​enregistrez puis le rendez exécutable:​
 +
 + <​code>​sudo chmod +x /​etc/​init.d/​ati-power-save </​code>​
 +
 +Il reste à créer les liens qui permettrons au script d'​être exécuté à chaque démarrage:
 +
 + <​code>​sudo update-rc.d ati-power-save defaults 99 </​code>​
 +
 +
 +
 +
 +Les commandes contenues dans les scripts peuvent êtres utilisées seules pour un effet jusqu'​à extinction de la machine.
 +
 +
 +
 +Sources pour l’économie d'​énergie:​
 +
 +  * **(en)** [[http://​xorg.freedesktop.org/​wiki/​RadeonFeature/​|Radeon Features]]
 +
 +  * **(en)** [[http://​www.phoronix.com/​scan.php?​page=news_item&​px=MTQyNDE|Méthode dpm]]
 +  * **(en)** [[http://​www.techytalk.info/​ubuntu-open-source-ati-radeon-driver-power-usage-tweaks/​|Méthodes dynpm et profiles]]
 +
 +===== Vitesse du ventilateur =====
 +Bien que les fonctionnalités de gestion de l'​énergie ci-dessus devraient bien gérer les vitesses du ventilateur,​ certaines cartes peuvent rester trop bruyante au repos (idle). Dans ce cas, si votre carte le supporte, vous pouvez changer la vitesse du ventilateur manuellement.
 +<note warning>​**Attention :**
 +  * Gardez à l'​esprit que la méthode suivante configure la vitesse du ventilateur à une valeur fixe, donc qu'​elle ne s'​ajustera pas automatiquement en fonction de la sollicitation du GPU, ce qui peut entraîner une surchauffe en cas de forte charge.
 +  * Vérifiez la température du GPU lorsque vous appliquez des valeurs inférieures à la norme. ​
 +</​note>​
 +Procédez comme suit pour activer le réglage manuel de la vitesse du ventilateur de votre carte graphique (ou du premier GPU dans le cas d'une configuration multi GPU).
 + <​code>​sudo sh -c "echo 1 > /​sys/​class/​drm/​card0/​device/​hwmon/​hwmon0/​pwm1_enable"</​code>​
 +Ensuite, réglez la vitesse souhaitée du ventilateur de 0 à 255, ce qui correspond à 0-100% de la vitesse du ventilateur (la commande suivante le règle à environ 25%):
 +<​code>​sudo sh -c "echo 64 > /​sys/​class/​drm/​card0/​device/​hwmon/​hwmon0/​pwm1"</​code>​
 +
 +Source
 +  * **(en)** [[https://​wiki.archlinux.org/​index.php/​ATI#​Fan_Speed|ATI:​ Fan Speed]]
 +=====Décodage vidéo matériel=====
 +[[:​vaapi#​Pilote libre Radeon|Voir le chapitre Radeon de la page VA-API]].
 +===== Problèmes connus =====
 +
 +<note important>​Certaines cartes anciennes empêchent le démarrage du CD d'​installation de Ubuntu 14.04.</​note>​
 +C'est par exemple le cas de la carte ATI Mobility Radeon 4650 HD mais d'​autres cartes de la même famille souffrent du même problème de gestion de dpm.
 +
 +Il faut dans ce cas passer le paramètres "​nomodeset"​ au démarrage du CD d'​installation puis "​radeon.dpm=0"​ à grub après installation pour activer correctement le pilote radeon.
 +
 +Voir cette page [[:​toshiba_satellite_p300-27z#​installation_sous_kubuntu_1404|cette page]] pour plus de détails avec un exemple sur la carte ATI Mobility Radeon 4650 HD
 +===== Liens externes =====
 +
 +  * **(fr)**[[wpfr>​Radeon]]
 +  * **(en)**[[http://​dri.freedesktop.org/​wiki/​Radeon|Portail Radeon]] sur le site de la fondation freedesktop
 +  *  **(en)**[[http://​www.x.org/​wiki/​RadeonFeature|La liste des fonctionnalités supportées par type de carte]]
 +  * **(en)**[[http://​developer.amd.com/​download/​pc_vendor_id/​pages/​default.aspx|Liste de modèle/​puce/​ID officielle]]
 +  * **(en)**[[http://​wiki.x.org/​wiki/​Radeon%20ASICs|Liste de Famille/​modèle/​ID]]
 +  * **(en)**[[http://​www.pcidatabase.com/​|Site]] pour identifier le modèle en fonction de l'​identifiant du device
 +  * **(en)**[[http://​phoronix.com/​forums/​forumdisplay.php?​43-Open-Source-AMD-ATI-Linux|Forum spécialisé open-source AMD/ATI linux]] sur le site phoronix
 +  * **(en)**[[http://​cgit.freedesktop.org/​mesa/​mesa/​tree/​docs/​GL3.txt|Site]] pour suivre l'​avancement du support OpenGL 3 et suivant
 +  * **(en)**[[http://​cgit.freedesktop.org/​mesa/​mesa/​log/​|Site]] pour suivre l'​évolution des différents pilotes.
 +  * **(en)**[[http://​www.techytalk.info/​ubuntu-open-source-ati-radeon-driver-power-usage-tweaks/​|Ubuntu open source ATI radeon driver power usage tweaks]]. Si le GPU de votre radéon HD s'​emballe ainsi que son ventilateur.
 +  * **(en)**[[http://​notes.richdougherty.com/​2012/​03/​ati-radeon-gpu-power-management-in.html|ATI Radeon GPU power management in Ubuntu Natty]]. Même sujet que le lien précédent.
 +
 +----
 + //​Contributeurs : [[utilisateurs:​Stemp]],​ [[utilisateurs:​Id2ndR]],​ Neothor, [[utilisateurs:​_Enchained]],​ [[utilisateurs:​Smarter]],​ quent57, [[utilisateurs:​mAx0r1311]] , Réécriture compléte juillet 2012: [[utilisateurs:​kao_chen]],​ [[utilisateurs:​olivier_v]]//​
  • radeon.txt
  • Dernière modification: Le 28/04/2018, 11:15
  • (modification externe)