Faire fonctionner le RX 480 avec AMDGPU sur Linux

Faire fonctionner le RX 480 avec AMDGPU sur Linux

Le RX 480 d'AMD est sorti depuis un peu plus d'une semaine maintenant, et en cette semaine. Bien sûr, Ubuntu 16.04 est officiellement soutenu par les pilotes Pro propriétaire d'AMD, mais qu'en est-il de tout le monde, et que se passe-t-il si vous voulez utiliser ces pilotes open source AMDGPU qui sont en préparation depuis si longtemps? Eh bien, c'est vraiment possible, mais ce n'est pas si facile.

AVERTISSEMENT: Voici des dragons, grands. Ils sont à peu près le genre que vous vous attendez à voir voler autour de Mereen, donc si vous ne voulez pas prendre la chance de casser votre installation et certains sourcils chantés, revenez maintenant.

Les bases

Les parties du pilote AMDGPU qui sont nécessaires pour faire fonctionner le RX 480 sont neuves, si nouvelles qu'elles sont dans des candidats à la publication et des référentiels GIT. Pour cette raison, ce guide va se concentrer sur Debian Sid, Ubuntu 16.04, et Arch Linux. C'est possible ailleurs, mais ces trois seront probablement les plus faciles et les moins frustrants.

Il y a une recette de base qui est nécessaire pour faire fonctionner le RX 480, et qui commence par une construction du noyau qui comprend la prise en charge du micrologiciel. La meilleure façon de le faire est d'utiliser un candidat de version de 4.7 des développeurs qui ont travaillé sur le support Polaris. La prochaine pièce du puzzle est Mesa 12.1. Il n'est disponible que sur git à ce stade. Les deux dernières choses sont une version de Libdrm égale ou plus récente que 2.4.68 et xf86-video-amdgpu (le nom du package diffère légèrement par distribution) égal ou plus récent que 1.1.0. S'ils sont construits à partir de Source, LLVM et Clang 3.7 ou mieux sont également nécessaires.

Construire le noyau

Obtenir la source

La première étape pour que le RX 480 travaille avec AMDGPU est d'obtenir un noyau qui le prend en charge. Il y a une branche du noyau disponible bien que Git qui fonctionnera parfaitement. Créez un répertoire de construction pour travailler et cloner la branche.

git clone -b drm-fixes-4.7 git: // personnes.Freedesktop.org / ~ AGD5F / Linux

Il faudra plusieurs minutes pour terminer, mais par la suite, la source sera disponible dans un dossier appelé linux. Avant d'aller plus loin, obtenez le firmware Polaris des blobs du référentiel d'Alex Deucher. Il peut être trouvé ici. Les Blob Polaris 10 sont ceux nécessaires pour le RX 480.

Il y a deux options pour les mettre, soit dans le firmware répertoire avec la source du noyau ou dans le répertoire racine à / lib / firmware Quoi qu'il en soit, créer un répertoire appelé amdgpu pour les mettre. Sur Arch, il pourrait déjà être là.

Mise à jour : À partir de maintenant, le noyau 4.7-RC7 prend également en charge AMDGPU. Vous pouvez utiliser la source à partir du noyau.org, et utilisez-le à la place.

Configuration du noyau

Les utilisateurs d'Arch Linux doivent passer à la documentation de l'arc sur les versions de noyau traditionnelles pour cette partie.
Il n'y a aucun sens à réinventer la roue. Vous pouvez le trouver ici. Pour Debian et Ubuntu, il y a des packages que vous devez installer en premier.

# apt-get install build-essentiel gcc-multilib linux-tairs ncurses-dev xz-utils Fakeroot kernel package # apt-get build-dep linux

Quand cela se termine, CD dans le dossier. Vous pouvez soit choisir de configurer entièrement le noyau à partir de zéro, soit copier la configuration existante. Pour copier la configuration, exécutez:

# cp / boot / config - $ (uname -r) .configurer

Quoi qu'il en soit, lorsque vous êtes prêt à configurer le noyau, exécutez faire des menuconfig. Ce guide ne va pas trop loin dans la configuration du noyau. Si vous n'êtes pas trop à l'aise avec cela, revenez en arrière et copiez la configuration.

Type et fonctionnalités du processeur - - -> [*] MTRR (Mémoire Type Rester Register) Pridive des périphériques de support - - -> Options de pilotes génériques - - -> - * - Prise en charge de chargement du micrologiciel de l'espace utilisateur # Si vous souhaitez compiler le firmware dans l'utilisation de Ci-dessous, sinon, ne. .bin amdgpu / polaris10_mc.bin amdgpu / polaris10_me.bin amdgpu / polaris10_mec2.bin amdgpu / polaris10_mec.bin amdgpu / polaris10_pfp.bin amdgpu / polaris10_rlc.bin amdgpu / polaris10_sdma1.bin amdgpu / polaris10_sdma.bin amdgpu / polaris10_smc.bin amdgpu / polaris10_smc_sk.bin amdgpu / polaris10_uvd.bin amdgpu / polaris10_vce.bin) # Dans les deux sens, indiquez-vous où vous avez choisi de placer le répertoire racine des firmwares firmware (/ lib / firmware) # pour de nombreuses options suivantes, vous pouvez choisir entre compiller ou modules Graphics Support - - -> Direct Rendering Manager ( Xfree86 4.1.0 et support DRI supérieur) AMD GPU [*] Activer AMDGPU pour CIK Parts Sound Card Prise en charge - - -> Advanced Linux Sound Architecture - - -> [*] PCI Sound Devices PCI [*] Prise en charge le chargement du correctif d'initialisation pour HD-Audio Votre carte son build HDMI / DisplayPort HD-Audio Codec pris en charge (2048) Taille de tampon pré-allocée pour le pilote HD-Audio 

Ce qui précède est l'ensemble des options de configuration nécessaires pour que AMDGPU fonctionne. Le reste du noyau est à vous. Sur Debian, si vous copiez la configuration, l'un des développeurs a décidé d'exiger une clé pour construire le noyau. Pour contourner cela (il y a probablement un moyen plus sécurisé de gérer cela), commentez la ligne l'exigeant dans le .configurer. Pour le trouver, ouvrez simplement le fichier dans un éditeur qui prend en charge la recherche et la recherche de @debian.

Construire et installer le noyau

Maintenant que le noyau est configuré, il est temps de construire les packages du noyau. Pour ce faire, exécutez les deux commandes suivantes.

$ make-kpkg Clean $ fakeroot make-kpkg - initrd --revision = 1.0.AMDGPU KERNEL_IMAGE KERNEL_HEADERS -J 9 

Le -J 9 devrait être le nombre de noyaux de processeur sur le système plus un. Cela aidera à réduire le long processus de compilation du noyau.

Après la compilation, il y en aura deux .packages deb situés dans le répertoire parent de la construction.
CD dans ce répertoire et installer les packages sous forme de racine.

# dpkg -i linux-image-4.7*.Deb # dpkg -i linux-headers-4.7*.deb 

Les noms exacts des packages créés seront légèrement différents de ceux ci-dessus, mais les commandes ci-dessus devraient fonctionner. Sinon, vous pouvez toujours saisir les noms complets des packages. Une fois les packages installés et que vous êtes sûr qu'ils ont correctement installé, redémarrez.

Mesa

La dernière Mesa absolue (12.1 En ce qui concerne ceci) est nécessaire pour que AMDGPU fonctionne correctement. La meilleure façon d'installer Mesa diffère en fonction de la distribution utilisée, donc la partie suivante est décomposée par la distribution.

Debian

Debian n'a pas de version emballée de Mesa 12.1, il doit donc être tiré directement du référentiel Git et construit. Avant de le faire, assurez-vous que toutes les dépendances pour construire Mesa sont installées.

# apt-get build-Dep Mesa # apt-get install llvm-3.9 LLVM-3.9-dev Clang-3.9 Clang-3.9-dev libxvmc-dev libxcb-xvmc0-dev libvdpau-dev libomxil-bellagio-dev 

Essayer de courir llvm-config. Si cela ne fonctionne pas, vous devez lier LLVM-Config-3.9 à LLVM-Config.

ln -s / usr / bin / llvm-config-3.9 / usr / bin / llvm-config

Choisissez un répertoire pour cloner le référentiel Mesa et le cloner. Alors CD dans le répertoire Mesa.

$ git clone git: // anongit.Freedesktop.org / mesa / mesa $ CD Mesa 

Une fois à l'intérieur du répertoire, configurez, compilez et installez Mesa.

$ ./ autogène.sh --prefix = / usr --enable-texture-float --libdir = / usr / lib / x86_64-linux-gnu / --with-gallium-drivers = radeonsi, swraSt --with-egl-plateformes = drm, X11 --enable-GlX-TLS --enable-shared-glapi --enable-glx --enable-driglx-direct --enable-gles1 --enable-gles2 --enable gbm --enable-openmax --enable -xa --enable-Osmesa --with-radeonsi-llvm-compiler --enable-sysfs --enable-vdpau --enable-xvmc --enable-openmax --enable-nine $ Make -j9 # faire installer l'installation 

Cette chaîne de configuration ridiculement longue configure essentiellement Mesa pour inclure les pilotes Radeonsi et les ajouts utiles qui en feront une expérience plus complète. Encore une fois le -J9 référence le nombre de cœurs de processeur plus un. La bonne chose est qu'après ces commandes, Mesa sera installée. Le mal est qu'il ne sera pas sous la forme d'un .Deb et ne sera pas aussi facile à gérer.

Ubuntu

Sur Ubuntu, le processus d'installation de la dernière version de Mesa a été rendu extrêmement facile grâce à l'utilisation du Padoka PPA. Ajoutez simplement le PPA, mettez à jour et installez Mesa.

$ sudo add-att-repository ppa: paulo-miguel-dias / mesa $ sudo apt-get update $ sudo apt-get install mesa 

Arch Linux

Bienvenue aux utilisateurs de l'arc! Vous ne l'avez pas aussi facile que les Ubuntu, mais il y a des forfaits disponibles dans l'AUR. Avant de le faire, assurez-vous que votre ordinateur est configuré pour utiliser l'AUR et que vous avez Sudo configurer sur votre compte d'utilisateur. Ce guide suppose également que les forfaits sont en cours:

$ makepkg -sri

Tirez et installez les packages suivants de l'AUR dans l'ordre dans lequel ils apparaissent.

llvm-svn lib32-llvm-svn mesa-git lib32-mesa-git 

Faire attention. Cela prendra un long temps. LLVM est un grand logiciel. Si, pour une raison quelconque, certains packages ne sont pas automatiquement installés, ils seront dans leurs dossiers de construction respectifs et peuvent être installés manuellement.

# Pacman -u Package-Name.pkg.le goudron.xz

Installation de LIBDRM / AMDGPU

C'est presque fini! La seule chose à faire est d'installer Libdrm et XF86-video-amdgpu. À ce stade, ils devraient être facilement disponibles pour le gestionnaire de packages des trois distributions.

Debian et Ubuntu

# apt-get install libdrm-amdgpu1 libdrm2 xserver-xorg-video-amdgpu

Arch Linux

# Pacman -s libdrm xf86-video-amdgpu

Une fois les packages installés, vous pouvez écrire dans une configuration Xorg. Il ne semble pas être obligatoire avec AMDGPU, mais peut aider pour certaines options, comme Dri. Cette configuration de base devrait fonctionner.

Section "Device" Identifier "AMDGPU" Driver "AMDGPU" Option "AccelMethod" "Glamour" Option "DRI" "3" ENDINDE section 

Après cela écrit et enregistré, vous pouvez redémarrer votre ordinateur et voir si tout a fonctionné. Ces moteurs sont, bien sûr, très expérimentaux. Il peut y avoir des bogues, une erreur de configuration ou n'importe quelle multitude de problèmes. Si, cependant, ils fonctionnent, vous serez l'un des premiers à profiter d'une pile de pilotes presque entièrement open source qui rivalise facilement sur les options de source fermée. Il est assez clair que si ces pilotes peuvent rester à jour dans le code grand public, AMD sera une option très forte pour les utilisateurs de Linux à l'avenir.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Choses à installer sur Ubuntu 22.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Manipulation de Big Data pour le plaisir et le profit Partie 1
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Ubuntu 20.04 Guide
  • Téléchargement Linux
  • Manipulation des mégadonnées pour le plaisir et le profit Partie 3