5 votes

Ubuntu 18.04.1 LTS R9 390X amdgpu guide / résumé des tests

Je ne peux pas obtenir amdgpu à charger comme pilote. Au lieu de cela, il charge toujours radeon .

Mise en place :

  • Ubuntu 18.04.1 LTS

  • i7-5830k

  • 2x R9 390X

7voto

audacus Points 131

Il s'agit d'un guide et d'un résumé des tests pour activer l'amdgpu (au lieu de radeon ) sur Ubuntu 18.04.1 ayant une R9 390X installé et essayé différents noyaux.

Après avoir lu este et lire/regarder Guide Level1Techs et bien d'autres, j'ai finalement réussi à charger amdgpu au lieu de radeon. Les étapes suivantes montrent comment y parvenir.

Problème

Je veux jouer à des jeux sous Linux via DXVK en utilisant un pilote open source (pas amdgpu-pro). Comme DXVK ne fonctionne qu'avec le pilote amdgpu, j'ai dû me débarrasser de Ubuntu qui chargeait radeon en permanence.

Mon installation

  • Ubuntu 18.04.1 LTS

  • i7-5830k

  • R9 390X (en fait 2, mais cela ne devrait pas avoir d'importance)

Comment

I. Les nouveaux conducteurs

@NOT-TESTED : Il devrait également fonctionner avec les pilotes officiels fournis avec l'installation d'Ubuntu 18.04.1. Si vous ne souhaitez pas utiliser de pilotes non officiels, passez cette étape.

@NOTE : Téléchargez des pilotes non officiels plus récents de PPA pour obtenir de meilleures performances dans DXVK. Ils peuvent être instables.

Installez le dernier pilote à partir de https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers :

sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt update && sudo apt dist-upgrade
sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386

@ERROR les dépendances non satisfaites : installez d'abord les pilotes d'origine :

sudo add-apt-repository --remove ppa:oibaf/graphics-drivers
sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386

@ATTENTION : Assurez-vous que vous n'avez pas un autre PPA de pilote graphique comme ppa:paulo-miguel-dias/tabla ajouté. Vous pouvez vérifier ses pilotes tabla : STABLE o UNSTABLE

@ERROR erreur générale due au PPA : Purgez les PPA des pilotes graphiques pour revenir aux pilotes d'origine et faire le ménage :

sudo apt install ppa-purge && aptitude
sudo ppa-purge ppa:oibaf/graphics-drivers
sudo apt autoremove && sudo apt autoclean

Vous pouvez recommencer.

II. Configuration de Xorg

Créez un fichier de configuration xorg qui sera chargé automatiquement au démarrage :

/usr/share/X11/xorg.conf.d/<nr-name>.conf par exemple 42-amdgpu.conf

#/usr/share/X11/xorg.conf.d/42-amdgpu.conf
Section "Device"
    Identifier "AMDGPU"
    Driver "amdgpu"
    Option "AccelMethod" "glamor"
    Option "DRI" "3"
EndSection

@NOT-TESTED : Ajoutez-le à la liste déjà existante 10-amdgpu.conf fichier. Il peut être écrasé par l'installation du pilote.

@OPTION : Vous pouvez également l'ajouter à /etc/X11/xorg.conf o /etc/xorg.conf .

III. Liste noire radeon

Créer un fichier de liste noire avec le module qui doit être mis sur liste noire :

/etc/modprobe.d/<name>.conf par exemple blacklist-radeon.conf

#/etc/modprobe.d/blacklist-radeon.conf
blacklist radeon

@OPTION : Il est possible d'utiliser des blacklist.conf en ajoutant simplement blacklist radeon quelque part.

IV. Configuration de Grub

Ajoutez ou modifiez ces paramètres dans la configuration de Grub. /etc/default/grub :

#/etc/default/grub
...
GRUB_GFXMODE=1920x1080x32
GRUB_CMDLINE_LINUX_DEFAULT="radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 amdgpu.dc=1 amdgpu.dpm=1 amdgpu.modeset=1"
...

@DID-NOT-WORK : J'ai fait une copie de la 40_custom dans /etc/grub.d/ . Il n'a pas fonctionné lorsque je l'ai placé dans 40_amdgpu au lieu de /etc/default/grub . (voir le /etc/grub.d/README pour plus d'informations)

V. Mettre à jour Grub et le ramdisk initial.

Laissez les changements ci-dessus prendre effet :

sudo update-grub2 && sudo update-initramfs -u -k all

y

reboot

VI. Vérifier

Pour vérifier que le pilote amdgpu a été chargé et est en cours d'utilisation, exécutez une ou plusieurs des commandes suivantes :

lsmod | egrep 'Used|amdgpu'

sudo lspci -v | grep amdgpu -B 19

sudo lshw -c video | grep amdgpu -B 10 -A 1

Exécutez une application de test Vulkan :

sudo apt install vulkan-utils

y

vulkan-smoketest

VII.I Test avec des noyaux plus récents (à partir de 2018-11-19)

J'ai essayé de démarrer différents noyaux après les étapes ci-dessus.

Pour installer d'autres noyaux, j'ai utilisé le Utilitaire de mise à jour du noyau d'Ubuntu :

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt update
sudo apt install ukuu

Voici le résumé de mes tests :

4.15.0 WORKING! Noyau par défaut d'Ubuntu 18.04.1 LTS

4.17.5 WORKING! noyau utilisé dans cette vidéo

4.18.0 WORKAROUND! Noyau actuel par défaut d'Ubuntu 19.10 Disco (2018-11-19)

4.18.15 WORKAROUND! le dernier noyau 4.18.x avec des changements pour amdgpu

4.18.19 WORKAROUND! dernier noyau 4.18.x

4.19 FAILURE! blackscreen ou dmesg :

[drm:dm_pp_get_static_clocks [amdgpu]] *ERROR* DM_PPLIB: invalid powerlevel state: 0!

4.19.1 FAILURE! blackscreen ou dmesg :

drm:dm_pp_get_static_clocks [amdgpu]] *ERROR* DM_PPLIB: invalid powerlevel state: 0!
drm:amdgpu_vce_ring_test_ring [amdgpu]] *ERROR* amdgpu: ring 12 test failed
drm:amdgpu_device_init.cold.28 [amdgpu]] *ERROR* hw_init of IP block <vce_v2_0> failed -110
amdgpu 0000:05:00.0: amdgpu_device_ip_init failed
amdgpu 0000:05:00.0: Fatal error during GPU init

4.19.2 FAILURE! dmesg :

Direct firmware load for amdgpu/hawaii_mc.bin failed with error -2

@NOTE : Je n'ai pas enquêté davantage sur les erreurs de la 4.19.x encore des noyaux.

VII.II Solution de rechange

4.18-4.18.19

Pour obtenir 4.18 Les noyaux fonctionnent :

  1. Sauvegardez vos fichiers de firmware actuels :

    sudo cp -r /lib/firmware /lib/firmware-$(uname -r)
  2. Téléchargez le linux-firmware d'Ubuntu 19.10 Disco (la version actuelle de Disco utilise le noyau 4.18.0 par défaut) à partir de https://packages.ubuntu.com/en/disco/linux-firmware ou :

    wget http://archive.ubuntu.com/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.176.tar.gz
  3. Extraire des fichiers :

    tar -xvzf linux-firmware_1.76.tar.gz
  4. Allez dans la direction du nouveau firmware :

    cd linux-firmware
  5. Installez le micrologiciel :

    sudo make install
  6. Redémarrer

    reboot

6voto

quantumPoop Points 1

VII.II Test avec des noyaux plus récents (à partir de 2020-01-01)

Voici un résumé de mes tests :

4.18.16 WORKING! Mint 19.1 avec tous les paramètres du noyau mentionnés et Radeon sur liste noire

4.18.17 - 4.18.20 BLACKSCREEN! La mise à jour du micrologiciel n'a pas résolu le problème

4.18.17 - 4.18.20 NOT TESTED! omettre le paramètre du noyau dpm

4.20.12 WORKING! paramètre du noyau dpm omis

5.00.00 WORKING! Paramètre du noyau dpm omis

5.2.21 RECOMMENDED! WORKING! amdgpu.dpm=1 est corrigé et fonctionne

VIII Écrivez un service de contrôle des ventilateurs pour résoudre les problèmes de bégaiement et pour jouer en silence.

    warning: many gpus have a maximum temperature of 95°C / 203°F
    exceeding that can damage your gpu, look at your config twice! 
  1. écrire un service avec le nom de fichier : amdgpu-fancontrol.service

    [Unit]
    Description=amdgpu-fancontrol
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/amdgpu-fancontrol
    
    [Install]
    WantedBy=multi-user.target
  2. mettre le service en

    /etc/systemd/system
  3. prenez le script de github : lien

  4. changer les paramètres de script si vous voulez

4.1. changer tous les chiffres de zéro à un si vous avez également un graphique intégré.

/sys/class/drm/card1/device/hwmon/hwmon1/

4.2. modifier le mappage température/révolutions. La modification de la vitesse du ventilateur interfère avec le rendu. C'est pourquoi les valeurs doivent être maintenues constantes afin qu'aucune interpolation n'ait lieu entre les deux. La dernière valeur sera choisie comme vitesse maximale du ventilateur pour la protection contre la surchauffe.

TEMPS=( 60000 65000 80000 95000 96000 )
PWMS=(   170   170   170   170   255  )

4.3 vérifiez le répertoire pour vous assurer de son existence

  1. mettre le script en /usr/bin/amdgpu-fancontrol

  2. activer le service

    sudo systemctl daemon-reload
    sudo systemctl enable amdgpu-fancontrol.service
    sudo systemctl start amdgpu-fancontrol.service

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