amdgpu-pro-install trên Ubuntu Gnome 16.04 với R9 285 và RX 480


8

Tôi gặp sự cố khi cài đặt AMD GPU PROtrình điều khiển cho hệ thống Ubuntu Gnome 16.04 của mình. Màn hình sẽ tối đen sau khi cài đặt và khởi động lại. Hình ảnh trong chế độ GUI không đầy đủ và chủ yếu là màu đen với các phần nhấp nháy nhỏ của màn hình đăng nhập. Con trỏ chuột có thể nhìn thấy.

Tôi có thể truy cập ttyvà gỡ cài đặt nó.

Tôi đã tải xuống trình điều khiển từ liên kết trang web chính thức của AMD . Họ nói rằng nó tương thích với card đồ họa của tôi: Đồ họa AMD Radeon ™ R9 285 . Tôi làm theo hướng dẫn cài đặt được cung cấp trên trang web. Quá trình cài đặt hoàn tất mà không gặp sự cố và sau khi khởi động lại, màn hình có màu đen.

Chạy uname -rcho:

4.4.0-28-generic

Chạy dpkg -l amdgpu-procho:

dpkg-query: no packages found matching amdgpu-pro

Chạy ./amdgpu-pro-installcho:

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.

Câu hỏi: Làm thế nào để tiến hành, tôi nên tìm một phụ thuộc bị lỗi ở đâu hoặc một cái gì đó ngăn trình điều khiển chạy đúng, làm thế nào để nó hoạt động?

Cho đến nay tôi đã thử điều này:

  • Tôi đã thử nghiệm với HDMI và DisplayPort và cả hai đều cho kết quả như nhau.

  • Đã thử với sudo dpkg --add-architecture i386sudo apt -get update.

dmesgđầu ra: (Tôi đã bao gồm các đoạn trích từ dmesgnhật ký có thể hữu ích trong việc xác định vấn đề.)

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
Cho rằng liên kết bạn đã tải xuống trình điều khiển từ trạng thái trình điều khiển là bản beta, thực tế có thể đây là lỗi trình điều khiển, bạn đã thử báo cáo sự cố cho AMD bao gồm cả đầu ra dmesg hoàn chỉnh và nội dung của / var /log/Xorg.0.log tập tin? Họ có thể ở vị trí tốt hơn nhiều để giúp bạn giải quyết các vấn đề xung quanh mã trình điều khiển thử nghiệm của họ hơn bất kỳ ai ở đây.
MttJocy

Tôi gặp phải vấn đề phụ thuộc vào bản cài đặt Ubuntu 16.04 mới (không sử dụng Gnome). Vấn đề rõ ràng liên quan đến các gói i386, nhưng tôi không chắc chắn cách giải quyết nó ngay lập tức. May mắn là câu hỏi của bạn đã đeo bám tôi sudo dpkg --add-architecture i386và điều đó đã tạo nên mánh khóe. Cảm ơn!
chu đáo

Câu trả lời:


4

Trích dẫn từ http://www.phoronix.com/scan.php?page=article&item=amd-gpu-pro&num=1

Lúc đầu, tôi đã thử một hệ thống hàng ngày Ubuntu 16.04 với hạt nhân Xenial được đóng gói. Tuy nhiên, mặc dù trình điều khiển nhị phân AMDGPU đóng gói này sử dụng DKMS, vẫn có khả năng tương thích với mã trình điều khiển hạt nhân này đối với Linux 4.4. Do một số thay đổi trong giao diện nhân DRM của Linux 4.4, việc xây dựng mô-đun DKMS không thành công . Điều này cần được AMD khắc phục ngay khi Bridgman lưu ý trên các diễn đàn, nhưng hiện tại, cách khắc phục dễ dàng chỉ là cài đặt Linux 4.2 trên hộp Ubuntu 16.04

Tôi đã không thử bản sửa lỗi dễ dàng, nhưng tôi đã tìm thấy bản sửa lỗi khó hơn vào đầu ngày và nó đã hoạt động với tôi mà không gặp vấn đề gì.

Tuy nhiên Nếu bạn thử điều này, tôi khuyên bạn nên sao lưu hệ thống của mình trước khi thử điều này.

Vấn đề đối với AMDGPU-PRO trên Ubuntu GNOME là COGL không được biên dịch chính xác.

Có một tập tin vá cho nó:

Sửa lỗi trình điều khiển COGL cho AMDGPU-PRO của Ashley Sommer. https://gist.github.com/ashleyommer/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;

Có một hướng dẫn của người dùng illwieckz về cách áp dụng bản sửa lỗi tại đây:

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

Những việc cần làm:

Bạn phải xây dựng lại libcogl20gói. Vì tôi không thể xây dựng lại các coglgói thành công , tôi chỉ thay thế libcogl.sochính nhị phân.

 sudo apt-get build-dep cogl

nếu bạn nhận được: E: Unable to find a source package for cogl

 sudo gedit /etc/apt/sources.list

và thêm phần này vào cuối tập tin:

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

kế tiếp:

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

cài đặt một vài gói cần thiết để xây dựng cogl:

 sudo apt-get install devscripts libcogl-gst-dev

sau đó tiếp tục:


 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)

Nếu quá trình xây dựng kết thúc thành công cho bạn, bạn chỉ cần cài đặt libcogl20tệp gỡ lỗi được tạo (trong thư mục mẹ) với gdebihoặc dpkg:

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

Nếu nó thất bại với bạn như nó thất bại với tôi, vẫn còn một lựa chọn khác, bạn có thể làm như tôi đã làm.

Vì cuối cùng, việc xây dựng thất bại ở một số phần không cần thiết, nhưng lib được vá đã được xây dựng tốt, tôi chỉ thay thế nhị phân bằng tay:

Mã số:

 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

Máy tính để bàn đóng băng trong vài giây.

Vì tôi đã ghi đè lên một tệp đến từ một gói, tôi đã đánh dấu gói đó là một cách giữ bí mật để đảm bảo rằng bản cập nhật trong tương lai sẽ không ghi đè lên nó, bạn cũng nên giữ nó nếu bạn xây dựng thành công gói đó, vì lý do tương tự .

Mã số:

sudo apt-mark hold libcogl20

Nếu bạn muốn hoàn nguyên những thứ bẩn thỉu, bạn chỉ cần làm:

Mã số:

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

Pro-tip, bạn có thể sử dụng công cụ debsums (từ gói debsums) để kiểm tra xem bạn đang chạy libcogl.so từ gói hay một bản vá nhanh và bẩn như tôi:

Mã số:

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

Nếu bạn xây dựng thành công gói và cài đặt nó theo cách dpkg, debsums sẽ không khiếu nại.

Phần cuối cùng của bản in amdgpu-pro trông như thế này


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!

Cập nhật 10-9-2016 : Sử dụng RX 480.

nhập mô tả hình ảnh ở đây

Việc cài đặt thành công với 4.4.0-36-generickernel,

nhưng việc xây dựng mô-đun cho kernel 4.8.0-rc5không thành công.

Hãy chắc chắn rằng bạn có: sudo apt-mark hold libcogl20

Lệnh này ngăn không cho gnome package updaterthay thế biên dịch libgogl20bằng phiên bản mới hơn.

Nó cũng ngăn các gói khác được cài đặt vì một số gói phụ thuộc vào phiên bản mới hơn coglvà v.v.

Chúng ta chỉ cần chờ một bản sửa lỗi chính thức cho vấn đề này, cho đến lúc đó đây là một cách tốt để khiến amdgpu-protài xế làm việc Ubuntu Gnome 16.04.


1
Hoạt động như một lá bùa, cảm ơn. Xin lưu ý rằng tùy thuộc vào tình huống của bạn, trước tiên bạn có thể cần cài đặt thêm các gói. Bạn sẽ được thông báo trong quá trình xây dựng. Nếu vậy, bạn chỉ cần bắt đầu lại quá trình xây dựng sau đó. Ngoài ra, việc thêm một kho lưu trữ khác ngoài kho lưu trữ Ubuntu có sẵn mặc định (như kho lưu trữ của bạn) là không cần thiết và không được khuyến nghị. Bạn đã không thực hiện apt-get updatetrước bước xây dựng hoặc bạn không bật / bỏ ghi chú các kho chứa deb-src đã có sẵn trong nguồn.list. Kiểm tra trước, tiếp theo một apt-get updatelần nữa.
Thức ăn thô xanh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.