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
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
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)
@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.
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
.
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.
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)
Laissez les changements ci-dessus prendre effet :
sudo update-grub2 && sudo update-initramfs -u -k all
y
reboot
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
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.
4.18-4.18.19
Pour obtenir 4.18
Les noyaux fonctionnent :
Sauvegardez vos fichiers de firmware actuels :
sudo cp -r /lib/firmware /lib/firmware-$(uname -r)
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
Extraire des fichiers :
tar -xvzf linux-firmware_1.76.tar.gz
Allez dans la direction du nouveau firmware :
cd linux-firmware
Installez le micrologiciel :
sudo make install
Redémarrer
reboot
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
warning: many gpus have a maximum temperature of 95°C / 203°F
exceeding that can damage your gpu, look at your config twice!
é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
mettre le service en
/etc/systemd/system
prenez le script de github : lien
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
mettre le script en /usr/bin/amdgpu-fancontrol
activer le service
sudo systemctl daemon-reload
sudo systemctl enable amdgpu-fancontrol.service
sudo systemctl start amdgpu-fancontrol.service
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.