amdgpu-pro-install sur Ubuntu GNOME 16.04 avec R9 285 et RX 480

8

J'ai un problème d'installation du AMD GPU PROpilote pour mon système Ubuntu Gnome 16.04. L'écran devient noir après l'installation et le redémarrage. L'image en mode GUI est incomplète et principalement noire avec de petites parties vacillantes de l'écran de connexion. Le curseur de la souris est visible.

Je peux accéder à ttyet le désinstaller.

J'ai téléchargé le pilote depuis le lien du site officiel d'AMD . Ils disent qu'elle est compatible avec ma carte graphique: AMD Radeon ™ R9 285 Graphics . J'ai suivi le guide d'installation fourni sur le site Web. L'installation se termine sans problème et après redémarrage, l'écran est noir.

La course à pied uname -rdonne:

4.4.0-28-generic

La course à pied dpkg -l amdgpu-prodonne:

dpkg-query: no packages found matching amdgpu-pro

La course à pied ./amdgpu-pro-installdonne:

Reading package lists... Done
Building dependency tree
...........................
Reading state information... Done
The following packages were automatically installed and are no longer required:
  gcc-5-base:i386 libdrm-radeon1:i386 libdrm2:i386 libelf1:i386
  libssl1.0.0:i386 libstdc++6:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386
  libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386
  libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386
  libxfixes3:i386 libxshmfence1:i386 libxxf86vm1:i386 linux-headers-4.4.0-21
  linux-headers-4.4.0-21-generic linux-image-4.4.0-21-generic
  linux-image-extra-4.4.0-21-generic
Use 'sudo apt autoremove' to remove them.
......................
Reading package lists... Done
deb file:/var/opt/amdgpu-pro/ ./ 
Reading package lists... Done
W: The repository 'file:/var/opt/amdgpu-pro ./ Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-4.4.0-21 linux-headers-4.4.0-21-generic
  linux-image-4.4.0-21-generic linux-image-extra-4.4.0-21-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  amdgpu-pro-clinfo amdgpu-pro-computing amdgpu-pro-core amdgpu-pro-firmware
  amdgpu-pro-graphics amdgpu-pro-libopencl-dev amdgpu-pro-libopencl-dev:i386
  amdgpu-pro-libopencl1 amdgpu-pro-libopencl1:i386 amdgpu-pro-opencl-icd
  amdgpu-pro-opencl-icd:i386 amdgpu-pro-vulkan-driver
  amdgpu-pro-vulkan-driver:i386 libdrm-amdgpu-pro-amdgpu1
  libdrm-amdgpu-pro-amdgpu1:i386 libdrm2-amdgpu-pro libdrm2-amdgpu-pro:i386
  libegl1-amdgpu-pro libegl1-amdgpu-pro:i386 libgbm1-amdgpu-pro:i386
  libgbm1-amdgpu-pro libgl1-amdgpu-pro-dev libgl1-amdgpu-pro-dev:i386
  libgl1-amdgpu-pro-dri libgl1-amdgpu-pro-dri:i386 libgl1-amdgpu-pro-glx:i386
  libgl1-amdgpu-pro-glx libgles2-amdgpu-pro libgles2-amdgpu-pro:i386
  libvdpau-amdgpu-pro libvdpau-amdgpu-pro:i386 xserver-xorg-video-amdgpu-pro
The following NEW packages will be installed
  amdgpu-pro amdgpu-pro-clinfo amdgpu-pro-computing amdgpu-pro-core
  amdgpu-pro-dkms amdgpu-pro-firmware amdgpu-pro-graphics
  amdgpu-pro-lib32:i386 amdgpu-pro-libopencl-dev amdgpu-pro-libopencl-dev:i386
  amdgpu-pro-libopencl1 amdgpu-pro-libopencl1:i386 amdgpu-pro-opencl-icd
  amdgpu-pro-opencl-icd:i386 amdgpu-pro-vulkan-driver
  amdgpu-pro-vulkan-driver:i386 libdrm-amdgpu-pro-amdgpu1
  libdrm-amdgpu-pro-amdgpu1:i386 libdrm2-amdgpu-pro libdrm2-amdgpu-pro:i386
  libegl1-amdgpu-pro libegl1-amdgpu-pro:i386 libgbm1-amdgpu-pro:i386
  libgbm1-amdgpu-pro libgl1-amdgpu-pro-dev libgl1-amdgpu-pro-dev:i386
  libgl1-amdgpu-pro-dri libgl1-amdgpu-pro-dri:i386 libgl1-amdgpu-pro-glx:i386
  libgl1-amdgpu-pro-glx libgles2-amdgpu-pro libgles2-amdgpu-pro:i386
  libvdpau-amdgpu-pro libvdpau-amdgpu-pro:i386 xserver-xorg-video-amdgpu-pro
0 to upgrade, 35 to newly install, 0 to remove and 0 not to upgrade.
Need to get 0 B/84.0 MB of archives.
After this operation, 400 MB of additional disk space will be used.

Question: Comment procéder, où dois-je rechercher une dépendance défectueuse ou quelque chose qui empêche le pilote de fonctionner correctement, comment le faire fonctionner?

Jusqu'à présent, j'ai essayé ceci:

  • J'ai testé avec HDMI et DisplayPort et les deux donnent les mêmes résultats.

  • Essayé avec sudo dpkg --add-architecture i386et sudo apt -get update.

dmesgsortie: (J'ai inclus des extraits du dmesgjournal qui pourraient être utiles pour identifier le problème.)

amdgpu: module verification failed: signature and/or required key missing - tainting kernel
[drm] amdgpu kernel modesetting enabled.
AMD IOMMUv2 driver by Joerg Roedel <[email protected]>
AMD IOMMUv2 functionality not available on this system
fb: switching to amdgpudrmfb from VESA VGA
amdgpu 0000:01:00.0: Invalid ROM contents
ATOM BIOS: C76601
amdgpu 0000:01:00.0: VRAM: 2048M 0x0000000000000000 - 0x000000007FFFFFFF (2048M used)
amdgpu 0000:01:00.0: GTT: 2048M 0x0000000080000000 - 0x00000000FFFFFFFF
amdgpu 0000:01:00.0: amdgpu: using MSI.
[drm] amdgpu: irq initialized.
Can't find requested voltage id in vdd_dep_on_sclk table!
amdgpu: powerplay initialized
amdgpu 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000080000008, cpu addr 0xffff880425497008
[drm] [FeatureOverride_overriden feature]   Overridden FEATURE_ENABLE_GPU_SCALING is enabled now
fbcon: amdgpudrmfb (fb0) is primary device
amdgpu 0000:01:00.0: fb0: amdgpudrmfb frame buffer device
[drm] Initialized amdgpu 3.2.0 20150101 for 0000:01:00.0 on minor 0
KB_
la source
2
Étant donné que le lien à partir duquel vous avez téléchargé le pilote indique que le pilote est une version bêta, il est tout à fait possible que cela puisse en fait être un bogue du pilote, avez-vous essayé de signaler le problème à AMD, y compris la sortie dmesg complète et le contenu de / var Fichier /log/Xorg.0.log? Ils pourraient bien être bien mieux placés pour vous aider à résoudre les problèmes liés à leur code de pilote expérimental que quiconque ici.
MttJocy
J'ai rencontré le problème de dépendance sur une nouvelle installation d'Ubuntu 16.04 (n'utilisant pas Gnome). Le problème était évidemment lié aux packages i386, mais je ne savais pas immédiatement comment le résoudre. Heureusement, votre question m'a renseigné sudo dpkg --add-architecture i386et cela a fait l'affaire. Merci!
thinkmassive

Réponses:

4

Citation de http://www.phoronix.com/scan.php?page=article&item=amd-gpu-pro&num=1

Au début, j'essayais un système quotidien Ubuntu 16.04 avec son noyau Xenial emballé. Cependant, même si ce pilote binaire AMDGPU empaqueté utilise DKMS, la compatibilité avec le code de ce pilote du noyau contre Linux 4.4 est cassée. En raison de certains changements dans l'interface du noyau DRM de Linux 4.4, la construction du module DKMS a échoué . Cela devrait être corrigé par AMD dès que Bridgman l'a noté dans les forums, mais pour l'instant, la solution facile consistait simplement à installer Linux 4.2 sur la boîte Ubuntu 16.04

Je n'ai pas essayé la solution facile, mais j'ai trouvé la solution plus tôt dans la journée, et cela a fonctionné pour moi sans problème.

Cependant, si vous essayez cela, je vous recommande de sauvegarder votre système avant d'essayer.

Le problème pour AMDGPU-PRO sur Ubuntu GNOME est que COGL ne parvient pas à compiler correctement.

il y a un fichier patch pour cela:

Correction des pilotes COGL pour AMDGPU-PRO par Ashley Sommer. https://gist.github.com/ashleysommer/25118d366bf8c1608f3b1a64bc52d4e5

    --- a/cogl/driver/gl/gl/cogl-driver-gl.c
    +++ b/cogl/driver/gl/gl/cogl-driver-gl.c
    @@ -403,9 +403,13 @@
                                   &ctx->glsl_minor);
         }

    -  if (COGL_CHECK_GL_VERSION (ctx->glsl_major, ctx->glsl_minor, 1, 2))
    -    /* We want to use version 120 if it is available so that the
    -     * gl_PointCoord can be used. */
    +  if (COGL_CHECK_GL_VERSION (ctx->glsl_major, ctx->glsl_minor, 1, 5))
    +    ctx->glsl_version_to_use = 150;
    +  else if (COGL_CHECK_GL_VERSION (ctx->glsl_major, ctx->glsl_minor, 1, 4))
    +    ctx->glsl_version_to_use = 140; 
    +  else if (COGL_CHECK_GL_VERSION (ctx->glsl_major, ctx->glsl_minor, 1, 3))
    +    ctx->glsl_version_to_use = 130; 
    +  else if (COGL_CHECK_GL_VERSION (ctx->glsl_major, ctx->glsl_minor, 1, 2))
         ctx->glsl_version_to_use = 120;
       else
         ctx->glsl_version_to_use = 110;

Il y a un guide de l'utilisateur illwieckz sur la façon d'appliquer le correctif ici:

https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/amd-linux/881527-amdgpu-pro-16-30-released-with-rx-480-support/page5

Choses à faire:

Vous devez reconstruire le libcogl20package. Comme je n'ai pas pu reconstruire les coglpackages avec succès , je viens de remplacer le libcogl.sobinaire lui-même.

 sudo apt-get build-dep cogl

si vous obtenez: E: Unable to find a source package for cogl

 sudo gedit /etc/apt/sources.list

et ajoutez ceci à la fin du fichier:

 # COGL
 deb-src ftp://ftp.de.debian.org/debian/ stable main contrib

suivant:

 sudo apt-get update &&  sudo apt-get build-dep cogl

installez quelques packages requis pour construire cogl:

 sudo apt-get install devscripts libcogl-gst-dev

puis continuez:


 The following commands I executed from the home directory,
 because of permission errors and `command is not found`
 errors I was getting.

 apt-get source cogl
 cd cogl-1.22.0
 wget -O /tmp/cogl.patch https://gist.githubusercontent.com/ashleysommer/25118d366bf8c1608f3b1a64bc52d4e5/raw/e35e535e7ea9684538a63fe6ea0eb2709b1813f1/cogl_driver_gl_gl_cogl-driver-gl.c
 patch -p1 < /tmp/cogl.patch
 dpkg-source --commit
 debuild -us -uc -j$(nproc)

Si la construction se termine avec succès pour vous, il vous suffit d'installer le libcogl20fichier deb généré (dans le répertoire parent) avec gdebiou dpkg:

 sudo dpkg -i libcogl20_1.22.0-2_amd64.deb

Si elle échoue pour vous comme elle a échoué pour moi, il reste une autre option, vous pouvez faire comme moi.

Puisque de mon côté, la construction a échoué sur une partie inutile, mais la bibliothèque corrigée a été bien construite, je viens de remplacer le binaire à la main:

Code:

 sudo cp -a debian/tmp/usr/lib/x86_64-linux-gnu/libcogl.so.20.4.1 /usr/lib/x86_64-linux-gnu/libcogl.so.20.4.1

Le bureau se fige pendant quelques secondes.

Étant donné que j'ai écrasé un fichier provenant d'un package, j'ai marqué le package comme «suspendu» pour être sûr qu'une future mise à jour ne le remplacerait pas, c'est une bonne idée de le conserver également si vous avez correctement construit le package, pour la même raison. .

Code:

sudo apt-mark hold libcogl20

Si vous voulez revenir sur les choses sales, il vous suffit de faire:

Code:

 sudo apt-mark unhold libcogl20
 sudo apt-get install --reinstall libcogl20

Pro-tip, vous pouvez utiliser l'outil debsums (à partir du paquet debsums) pour vérifier si vous exécutez un libcogl.so à partir d'un paquet ou d'un correctif rapide et sale comme moi:

Code:

 debsums -s libcogl20
 debsums: changed file /usr/lib/x86_64-linux-gnu/libcogl.so.20.4.1 (from libcogl20:amd64 package)

Si vous avez réussi à construire le package et à l'installer à la manière de dpkg, debsums ne se plaindra pas.

La dernière partie de l'installation amdgpu-pro ressemble à ceci


Setting up amdgpu-pro (16.30.3-315407) ...

Setting up amdgpu-pro-dkms (16.30.3-315407) ...

Loading new amdgpu-pro-16.30.3-315407 DKMS files...

First Installation: checking all kernels...

Building for 4.4.0-36-generic and 4.8.0-rc5

Building for architecture x86_64

Building initial module for 4.4.0-36-generic

Done.


amdgpu:

Running module version sanity check.

- Original module

- Installation

- Installing to /lib/modules/4.4.0-36-generic/updates/dkms/


depmod....


DKMS: install completed.

Building initial module for 4.8.0-rc5

ERROR: Cannot create report: [Errno 17] File exists:
 '/var/crash/amdgpu-pro-dkms.0.crash'

Error! Bad return status for module build on kernel: 4.8.0-rc5 (x86_64)
Consult /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/make.log for more information.

update-initramfs: deferring update (trigger activated)

Setting up amdgpu-pro-lib32:i386 (16.30.3-315407) ...

Processing triggers for libc-bin (2.23-0ubuntu3) ...

Processing triggers for initramfs-tools (0.122ubuntu8.1) ...

update-initramfs: Generating /boot/initrd.img-4.8.0-rc5

Warning: Not updating LILO; /etc/lilo.conf not found!

Mise à jour 10-9-2016 : utilisation du RX 480.

entrez la description de l'image ici

L'installation est un succès avec un 4.4.0-36-genericnoyau,

mais la construction du module pour le noyau 4.8.0-rc5échoue.

Assurez-vous que vous avez: sudo apt-mark hold libcogl20

Cette commande empêche le gnome package updaterde remplacer le compilé libgogl20par une version plus récente.

Il empêche également l'installation d'autres packages car certains packages dépendent d'une version plus récente de cogletc.

Nous devons juste attendre un correctif officiel pour ce problème, jusque-là, c'est un bon moyen de faire fonctionner le amdgpu-propilote Ubuntu Gnome 16.04.

KB_
la source
1
Fonctionne comme un charme, merci. Notez qu'en fonction de votre situation, vous devrez peut-être d'abord installer d'autres packages. On vous dira lequel pendant le processus de construction. Si c'est le cas, il vous suffit de recommencer le processus de construction par la suite. De plus, l'ajout d'un référentiel différent des référentiels Ubuntu disponibles par défaut (comme votre référentiel Debian) n'est pas nécessaire et n'est pas recommandé. Soit vous n'avez effectué aucune opération apt-get updateavant l'étape build-deb, soit vous n'avez pas activé / décommenté les référentiels deb-src déjà disponibles dans sources.list. Vérifiez d'abord cela, suivi de apt-get updatenouveau.
Forage