web-dev-qa-db-fra.com

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

Je ne parviens pas à charger amdgpu en tant que pilote. Au lieu de cela, il charge toujours radeon.

Installer:

  • Ubuntu 18.04.1 LTS

  • i7-5830k

  • 2x R9 390X

2
audacus

Ceci est un guide et un résumé de test pour permettant à amdgpu (au lieu de radeon ) sous Ubuntu 18.04. 1 ayant un R9 390X installé et essayant divers noyaux.

Après avoir lu this et lu/visionné Guide Level1Techs et beaucoup d'autres, j'ai finalement réussi à faire charger amdgpu au lieu de radeon. Les étapes suivantes montrent comment accomplir cela.

Problème

Je veux jouer à des jeux sur Linux via DXVK en utilisant un pilote open source (pas amdgpu-pro). Comme DXVK ne fonctionne qu'avec le pilote amdgpu, je devais me débarrasser d’Ubuntu tout le temps de chargement de la radeon.

Ma configuration

  • Ubuntu 18.04.1 LTS

  • i7-5830k

  • R9 390X (en fait 2, mais ne devrait pas importer)

Comment

I. Nouveaux conducteurs

@ NOT-TESTED: Il devrait également fonctionner avec les pilotes officiels livrés avec l'installation Ubuntu 18.04.1. Si vous ne souhaitez pas exécuter de pilotes non officiels, ignorez cette étape.

@ REMARQUE: Téléchargez les nouveaux pilotes non officiels de PPA pour obtenir de meilleures performances en DXVK. Peut être instable.

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 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 de ne pas disposer d'un autre PPA de pilote graphique tel que ppa: paulo-miguel-dias/mesa ajoutée. Vous pouvez vérifier ses pilotes Mesa: STABLE ou UNSTABLE

@ ERREUR erreur générale due à un PPA: Purger le ou les PPA (s) du pilote graphique pour revenir à l'original pilotes et nettoyage:

_Sudo apt install ppa-purge && aptitude
Sudo ppa-purge ppa:oibaf/graphics-drivers
Sudo apt autoremove && Sudo apt autoclean
_

Vous pouvez recommencer.

II. Configuration 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 ceci au fichier _10-amdgpu.conf_ déjà existant. Peut être écrasé par l’installation du pilote.

@ OPTION: Vous pouvez également ajouter ceci à _/etc/X11/xorg.conf_ ou _/etc/xorg.conf_.

III. Liste noire radeon

Créez un fichier de liste noire avec le module qui sera sur la 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 fichiers _blacklist.conf_ déjà existants en ajoutant simplement _blacklist radeon_ quelque part.

IV GRUB configuration

Ajoutez ou modifiez ces paramètres dans la configuration 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 copié le fichier _40_custom_ dans _/etc/grub.d/_. Cela ne fonctionnait pas 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. Update GRUB et le ramdisk initial

Laissez les modifications ci-dessus prendre effet:

_Sudo update-grub2 && Sudo update-initramfs -u -k all
_

et

_reboot
_

VI. Vérifier

Pour vérifier que le pilote amdgpu est chargé et est utilisé, 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
_

et

_vulkan-smoketest
_

VII.I Test avec de nouveaux noyaux (à partir de 2018-11-19)

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

Pour installer d'autres noyaux, j'ai utilisé l'utilitaire de mise à jour du noyau 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!_ Ubuntu 18.04.1 noyau par défaut de LTS

_4.17.5_ _WORKING!_ noyau utilisé dans cette vidéo

_4.18.0_ _WORKAROUND!_ noyau par défaut actuel d'Ubuntu 19.10 Disco (2018-11-19)

_4.18.15_ _WORKAROUND!_ dernier noyau 4.18.x avec modifications apportées à amdgpu

_4.18.19_ _WORKAROUND!_ dernier noyau 4.18.x

_4.19_ _FAILURE!_ écran noir ou dmesg:

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

_4.19.1_ _FAILURE!_ écran noir 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 encore enquêté sur les erreurs des noyaux _4.19.x_.

VII.II Solution de contournement

4.18-4.18.19

Pour que les noyaux _4.18_ fonctionnent:

  1. Sauvegardez vos fichiers de firmware actuels:

    _Sudo cp -r /lib/firmware /lib/firmware-$(uname -r)
    _
  2. Téléchargez le firmware linux 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 le nouveau répertoire de firmware:

    _cd linux-firmware
    _
  5. Installez le firmware:

    _Sudo make install
    _
  6. Redémarrage

    _reboot
    _
4
audacus

VII.II Test avec les nouveaux noyaux (à partir du 2019-02-15)

Voici un résumé de mes tests:

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

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

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

4.20.12WORKING! paramètre de noyau dpm omis

5.00.00WORKING! paramètre de noyau dpm omis

VIII Ecrire un service de contrôle de ventilateur pour les jeux silencieux

    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 dans

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

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

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

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

4.2. optionnel: change le mappage temp/tours

TEMPS=( 55000 65000 80000 90000 )
PWMS=(   10   70     153   255 )

4.3 vérifier le répertoire pour s'assurer qu'il existe

  1. placez le script dans/usr/bin/amdgpu-fancontrol

  2. activer le service

    Sudo systemctl daemon-reload
    Sudo systemctl enable amdgpu-fancontrol.service
    Sudo systemctl start amdgpu-fancontrol.service
    
2
Teoman