amdgpu-pro-install на Ubuntu GNOME 16.04 с R9 285 и RX 480

У меня есть проблема при установке AMD GPU PRO драйвер для моей системы Ubuntu Gnome 16.04. Экран чернеет после установки и перезагрузки. Изображение в режиме GUI является неполным и главным образом черным с маленькими мерцающими частями экрана входа в систему. Курсор мыши видим.

Я могу получить доступ tty и удалите его.

Я загрузил драйвер со ссылки официального сайта AMD. Они говорят, что это совместимо с моей видеокартой: Графика Radeon™ R9 285 AMD. Я следовал руководству по установке, предоставленному на веб-сайте. Установка завершается без проблемы и после того, как перезапуск, экран будет черным.

Выполнение 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 <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
8
задан 11 September 2016 в 04:46

1 ответ

Кавычка из http://www.phoronix.com/scan.php?page=article&item=amd-gpu-pro&num=1

Сначала я пробовал Ubuntu 16.04 ежедневная система ее упакованным Гостеприимным ядром. Однако даже при том, что это упаковало двоичное использование драйвера AMDGPU DKMS, существует поврежденная совместимость с кодом этого драйвера ядра против Linux 4.4. Из-за некоторых изменений в интерфейсе ядра DRM Linux 4.4, создавая модуль DKMS перестал работать. Это должно быть скоро зафиксировано AMD как Bridgman, отмеченный на форумах, но на данный момент, легкая фиксация просто устанавливала Linux 4.2 на поле Ubuntu 16.04

Я не попробовал легкую фиксацию, но я нашел твердый ранее в день, и это работало на меня без проблемы.

Однако, Если Вы делаете попытку этого, я рекомендую создать резервную копию Вашей системы прежде, чем попробовать это.

Проблема Для AMDGPU-PRO на Ubuntu, которая GNOME - то, что COGL не удается скомпилировать правильно.

существует файл исправления для него:

Зафиксируйте COGL для AMDGPU-PRO драйверов 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;

Существует руководство пользователя illwieckz о том, как применить фиксацию здесь:

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

Что нужно сделать:

Необходимо восстановить 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 не будет жаловаться.

Последняя часть amdgpu-про установки похожа на это


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!

Обновление 09.10.2016: Использование RX 480.

enter image description here

Установка имеет успех с a 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.

4
ответ дан 11 September 2016 в 04:46
  • 1
    Спасибо за ответ. Теперь это doesn' t показывают микропрограммную ошибку, но после набора задержки dracut-initqueue тайм-аутов и, чем терминальный/чрезвычайный режим. – Rabbitrun 27 January 2018 в 08:58

Другие вопросы по тегам:

Похожие вопросы: