Ubuntu Gnome 16.04システムのAMD GPU PRO
ドライバーのインストールに問題があります。インストールおよび再起動後に画面が黒くなる。 GUIモードの画像は不完全で、ほとんどが黒で、ログイン画面の小さなちらつき部分があります。マウスカーソルが表示されます。
tty
にアクセスしてアンインストールできます。
AMDの公式Webサイトからドライバーをダウンロードしました link 。彼らは私のグラフィックスカードと互換性があると言います:AMD Radeon™R9 285 Graphics。ウェブサイトで提供されているインストールガイドに従いました。インストールは問題なく完了し、再起動後に画面が黒くなります。
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 i386
およびSudo 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 <[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
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モジュールの構築に失敗しました。これは、ブリッジマンがフォーラムで指摘したように、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があります。
やる事:
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)
ビルドが正常に終了した場合、生成された
libcogl20
debファイルを(親ディレクトリに)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は文句を言いません。
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年9月10日更新: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
で動作するようにする良い方法であるまで、この問題の公式な修正を待つ必要があります。