amdgpu-pro-install unter Ubuntu GNOME 16.04 mit R9 285 und RX 480

8

Ich habe ein Problem bei der Installation des AMD GPU PROTreibers für mein Ubuntu Gnome 16.04-System. Der Bildschirm wird nach der Installation und dem Neustart schwarz. Das Bild im GUI-Modus ist unvollständig und größtenteils schwarz mit kleinen flackernden Teilen des Anmeldebildschirms. Der Mauszeiger ist sichtbar.

Ich kann darauf zugreifen ttyund es deinstallieren.

Ich habe den Treiber vom offiziellen AMD-Website- Link heruntergeladen . Sie sagen, dass es mit meiner Grafikkarte kompatibel ist: AMD Radeon ™ R9 285 Graphics . Ich habe die Installationsanleitung auf der Website befolgt. Die Installation wird problemlos abgeschlossen und nach dem Neustart ist der Bildschirm schwarz.

Laufen uname -rgibt:

4.4.0-28-generic

Laufen dpkg -l amdgpu-progibt:

dpkg-query: no packages found matching amdgpu-pro

Laufen ./amdgpu-pro-installgibt:

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.

Frage: Wie gehe ich vor, wo soll ich nach einer fehlerhaften Abhängigkeit suchen oder nach etwas, das den Treiber daran hindert, ordnungsgemäß zu laufen, wie soll es funktionieren?

Bisher habe ich Folgendes versucht:

  • Ich habe mit HDMI und DisplayPort getestet und beide liefern die gleichen Ergebnisse.

  • Versucht mit sudo dpkg --add-architecture i386und sudo apt -get update.

dmesgAusgabe: (Ich habe Ausschnitte aus dem dmesgProtokoll eingefügt, die bei der Identifizierung des Problems hilfreich sein könnten.)

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_
quelle
2
Da der Link, von dem Sie den Treiber heruntergeladen haben, angibt, dass es sich bei dem Treiber um eine Beta handelt, ist es durchaus möglich, dass dies tatsächlich ein Treiberfehler ist. Haben Sie versucht, das Problem an AMD zu melden, einschließlich der vollständigen dmesg-Ausgabe und des Inhalts von / var /log/Xorg.0.log Datei? Sie sind möglicherweise in einer viel besseren Position, um Ihnen bei Problemen mit ihrem experimentellen Treibercode zu helfen, als jeder andere hier.
MttJocy
Ich bin auf das Abhängigkeitsproblem bei einer Neuinstallation von Ubuntu 16.04 gestoßen (ohne Gnome). Das Problem hing offensichtlich mit i386-Paketen zusammen, aber ich war mir nicht sofort sicher, wie ich es lösen sollte. Zum Glück hat mich Ihre Frage darauf aufmerksam gemacht, sudo dpkg --add-architecture i386und das hat den Trick getan. Vielen Dank!
thinkmassive

Antworten:

4

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

Zuerst habe ich ein Ubuntu 16.04-Tagessystem mit seinem gepackten Xenial-Kernel ausprobiert. Obwohl dieser gepackte AMDGPU-Binärtreiber DKMS verwendet, besteht eine fehlerhafte Kompatibilität mit dem Code dieses Kerneltreibers gegen Linux 4.4. Aufgrund einiger Änderungen in der DRM-Kernel-Oberfläche von Linux 4.4 ist das Erstellen des DKMS-Moduls fehlgeschlagen . Dies sollte von AMD behoben werden, sobald Bridgman in den Foren feststellte, aber für den Moment bestand die einfache Lösung darin, nur Linux 4.2 auf der Ubuntu 16.04-Box zu installieren

Ich habe die einfache Lösung nicht ausprobiert, aber ich habe die schwierige früher am Tag gefunden, und sie hat bei mir ohne Probleme funktioniert.

Jedoch Wenn Sie dies versuchen , Ihr System zu sichern Ich empfehle diese , bevor Sie versuchen.

Das Problem für AMDGPU-PRO unter Ubuntu GNOME ist, dass COGL nicht korrekt kompiliert werden kann.

Es gibt eine Patch-Datei dafür:

Fix COGL für AMDGPU-PRO-Treiber von 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;

Es gibt eine Anleitung von Benutzer illwieckz, wie das Update hier angewendet wird :

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

Dinge die zu tun sind:

Sie müssen das libcogl20Paket neu erstellen. Da ich die coglPakete nicht erfolgreich neu erstellen konnte, habe ich nur die libcogl.soBinärdatei selbst ersetzt.

 sudo apt-get build-dep cogl

wenn du bekommst: E: Unable to find a source package for cogl

 sudo gedit /etc/apt/sources.list

und fügen Sie dies am Ende der Datei hinzu:

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

Nächster:

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

Installieren Sie einige Pakete, die zum Erstellen erforderlich sind cogl:

 sudo apt-get install devscripts libcogl-gst-dev

dann fahre fort:


 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)

Wenn der Build für Sie erfolgreich beendet wird, müssen Sie nur die generierte libcogl20Deb-Datei (im übergeordneten Verzeichnis) mit gdebioder installieren dpkg:

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

Wenn es für Sie fehlschlägt, wie es für mich fehlgeschlagen ist, gibt es noch eine andere Option, die Sie tun können, wie ich es getan habe.

Da der Build an meinem Ende an einem unnötigen Teil fehlgeschlagen ist, aber die gepatchte Bibliothek einwandfrei erstellt wurde, habe ich die Binärdatei nur von Hand ersetzt:

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

Der Desktop friert für einige Sekunden ein.

Da ich eine Datei, die aus einem Paket stammt, überschrieben habe, habe ich das Paket als "Halten" markiert, um sicherzustellen, dass ein zukünftiges Update es nicht überschreibt. Es ist aus dem gleichen Grund eine gute Idee, es auch zu halten, wenn Sie das Paket erfolgreich erstellt haben .

Code:

sudo apt-mark hold libcogl20

Wenn Sie die schmutzigen Dinge zurücksetzen möchten, müssen Sie nur Folgendes tun:

Code:

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

Tipp: Mit dem Debsums-Tool (aus dem Debsums-Paket) können Sie überprüfen, ob Sie eine libcogl.so aus einem Paket oder einem schnell und schmutzig gepatchten wie mir ausführen:

Code:

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

Wenn Sie das Paket erfolgreich erstellt und auf dpkg-Weise installiert haben, werden sich Debsums nicht beschweren.

Der letzte Teil der amdgpu-pro-Installation sieht so aus


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!

Update 10-9-2016 : Verwenden von RX 480.

Geben Sie hier die Bildbeschreibung ein

Die Installation ist ein Erfolg mit einem 4.4.0-36-genericKernel,

Die Modulerstellung für den Kernel 4.8.0-rc5schlägt jedoch fehl.

Stell sicher dass du hast: sudo apt-mark hold libcogl20

Dieser Befehl verhindert, gnome package updaterdass der kompilierte ersetzt wirdlibgogl20 durch eine neuere Version ersetzt wird.

Es verhindert auch, dass andere Pakete installiert werden, da einige Pakete von einer neueren Version von abhängen cogl usw. .

Wir müssen nur auf eine offizielle Lösung für dieses Problem warten. Bis dahin ist dies ein guter Weg, um den amdgpu-proFahrer zum Arbeiten zu bringen Ubuntu Gnome 16.04.

KB_
quelle
1
Funktioniert wie ein Zauber, danke. Beachten Sie, dass Sie je nach Situation möglicherweise zuerst weitere Pakete installieren müssen. Während des Erstellungsprozesses wird Ihnen mitgeteilt, welche. In diesem Fall müssen Sie den Erstellungsprozess anschließend erneut starten. Das Hinzufügen eines anderen Repositorys als der standardmäßig verfügbaren Ubuntu-Repositorys (wie Ihres Debian-Repositorys) ist nicht erforderlich und wird nicht empfohlen. Entweder haben Sie apt-get updatevor dem Build-Deb-Schritt keine ausgeführt oder Sie haben die Deb-src-Repositorys, die bereits in der Datei source.list verfügbar sind, nicht aktiviert / auskommentiert. Überprüfen Sie dies zuerst, gefolgt von einem apt-get updateerneuten.
Futter