amdgpu-pro-install on Ubuntu GNOME 16.04 with R9 285 and RX 480


8

AMD GPU PROUbuntu Gnome 16.04システム用のドライバーのインストールに問題があります。インストールして再起動すると、画面が黒くなる。GUIモードの画像は不完全で、ほとんどが黒く、ログイン画面の小さなちらつき部分があります。マウスカーソルが表示されます。

にアクセスしttyてアンインストールできます。

AMDの公式サイトリンクからドライバをダウンロードしました。彼らはそれが私のグラフィックカードと互換性があると言います:AMD Radeon™R9 285グラフィックス。ウェブサイトにあるインストールガイドをたどりました。インストールは問題なく完了し、再起動後、画面が黒くなります。

実行uname -rすると:

4.4.0-28-generic

実行dpkg -l amdgpu-proすると:

dpkg-query: no packages found matching amdgpu-pro

実行./amdgpu-pro-installすると:

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.

質問:続行するにはどうすればよいですか、ドライバの正常な実行を妨げる障害のある依存関係や何かをどこで探すべきですか、それを機能させるにはどうすればよいですか?

これまでのところ私はこれを試しました:

  • HDMIとDisplayPortでテストしましたが、どちらも同じ結果が得られます。

  • しようとしましたsudo dpkg --add-architecture i386sudo apt -get update

dmesg出力:(dmesg問題の特定に役立つ可能性があるログのスニペットを含めました。)

amdgpu: module verification failed: signature and/or required key missing - tainting kernel
[drm] amdgpu kernel modesetting enabled.
AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de>
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

2
ドライバーをダウンロードしたリンクから、ドライバーがベータ版であることが示されていることを考えると、これは実際にはドライバーのバグである可能性があります。完全なdmesg出力と/ varの内容を含めて、問題をAMDに報告してみましたか/log/Xorg.0.logファイル?彼らは、実験的なドライバーコードに関する問題について、ここにいる誰よりもはるかに良い立場にいるでしょう。
MttJocy 16

Ubuntu 16.04の新規インストールで依存関係の問題が発生しました(Gnomeを使用していません)。問題は明らかにi386パッケージに関連していましたが、解決方法はすぐにはわかりませんでした。幸いなことに、あなたの質問が私を助けてくれましたsudo dpkg --add-architecture i386。ありがとう!
thinkmassive 2017年

回答:


4

http://www.phoronix.com/scan.php?page=article&item=amd-gpu-pro&num=1からの引用

最初は、パッケージされたXenialカーネルを備えたUbuntu 16.04デイリーシステムを試していました。ただし、このパッケージされたAMDGPUバイナリドライバーはDKMSを使用しますが、Linux 4.4に対するこのカーネルドライバーのコードとの互換性が失われています。Linux 4.4の DRMカーネルインターフェイスにいくつかの変更があったため、DKMSモジュールの構築に失敗しました。これは、Bridgmanがフォーラムで言及した時点でAMDによって修正される予定ですが、今のところ、簡単な修正は、Ubuntu 16.04ボックスにLinux 4.2をインストールすることでした。

簡単な修正は試しませんでしたが、その日の早い段階で難しい修正を見つけましたが、問題なく動作しました。

ただし、これを試行する場合は、試行する前にシステムをバックアップすることをお勧めします。

Ubuntu GNOME上のAMDGPU-PROの問題は、COGLが正しくコンパイルできないことです。

そのためのパッチファイルがあります:

Ashley SommerによるAMDGPU-PROドライバーのCOGLを修正します。 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;

ユーザーillwieckzによる、修正の適用方法に関するガイドがここにあります。

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

やる事:

libcogl20パッケージを再構築する必要があります。coglパッケージを正常に再構築できなかったため、libcogl.soバイナリ自体を置き換えただけです。

 sudo apt-get build-dep cogl

あなたが取得する場合: E: Unable to find a source package for cogl

 sudo gedit /etc/apt/sources.list

これをファイルの最後に追加します:

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

次:

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

ビルドに必要ないくつかのパッケージをインストールしますcogl

 sudo apt-get install devscripts libcogl-gst-dev

次に続行:


 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)

ビルドが正常に終了した場合は、生成されたlibcogl20debファイルを(親ディレクトリに)gdebiまたはでインストールするだけですdpkg

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

それが私のために失敗したようにそれがあなたのために失敗した場合、別のオプションが残っています、あなたは私がしたように行うことができます。

私の最後では、不要な部分でビルドが失敗しましたが、パッチを当てたlibは正常にビルドされたので、手作業でバイナリを置き換えました。

コード:

 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

デスクトップが数秒間フリーズします。

パッケージからのファイルを上書きしたため、将来の更新で上書きされないように、パッケージを「保持」するようにマークしました。同じ理由で、パッケージを正常にビルドした場合も保持することをお勧めします。 。

コード:

sudo apt-mark hold libcogl20

あなたが汚いことを元に戻したいなら、あなたはただしなければなりません:

コード:

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

プロのヒント、debsumsツール(debsumsパッケージから)を使用して、パッケージからlibcogl.soを実行しているか、または私のような高速でダーティなパッチを適用しているかどうかを確認できます。

コード:

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

パッケージを正常にビルドしてdpkgでインストールした場合、debsumsは文句を言わないでしょう。

amdgpu-proインスタレーションの最後の部分は次のようになります


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!

2016年10月9更新:RX 480の使用。

ここに画像の説明を入力してください

4.4.0-36-genericカーネルでのインストールは成功です 。

しかし、カーネルのモジュール構築は4.8.0-rc5失敗します。

次のことを確認してください。 sudo apt-mark hold libcogl20

このコマンドは、gnome package updaterコンパイルさlibgogl20れたものを新しいバージョンに置き換えないようにします。

また、一部のパッケージはの最新バージョンなどに依存しているため、他のパッケージがインストールされないcoglようにします。

この問題の正式な修正を待つ必要があります。それまでは、amdgpu-proドライバーを動作させるための良い方法Ubuntu Gnome 16.04です。


1
魅力のように動作します、ありがとう。状況によっては、最初にさらにパッケージをインストールする必要がある場合があることに注意してください。ビルドプロセス中にどちらが通知されます。その場合は、後でビルドプロセスをもう一度開始する必要があります。また、デフォルトの利用可能なUbuntuリポジトリ以外の別のリポジトリ(debianリポジトリなど)を追加する必要はなく、推奨されていません。apt-get updatebuild-debステップの前にを実行しなかったか、sources.listですでに利用可能なdeb-srcリポジトリを有効化/コメント解除していません。最初にそれをチェックしてから、apt-get updateもう一度繰り返します。
飼料
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.