amdgpu-pro-instal pada Ubuntu GNOME 16.04 dengan R9 285 dan RX 480

8

Saya memiliki masalah dalam menginstal AMD GPU PROdriver untuk sistem Ubuntu Gnome 16.04 saya. Layar menjadi hitam setelah instalasi dan reboot. Gambar dalam mode GUI tidak lengkap dan sebagian besar berwarna hitam dengan bagian layar berkedip yang kecil. Kursor mouse terlihat.

Saya dapat mengakses ttydan menghapusnya.

Saya mengunduh driver dari tautan situs web resmi AMD . Mereka mengatakan itu kompatibel dengan kartu grafis saya: AMD Radeon ™ R9 285 Graphics . Saya mengikuti panduan instalasi yang disediakan di situs web. Instalasi selesai tanpa masalah dan setelah restart, layar menjadi hitam.

Menjalankan uname -rmemberi:

4.4.0-28-generic

Menjalankan dpkg -l amdgpu-promemberi:

dpkg-query: no packages found matching amdgpu-pro

Menjalankan ./amdgpu-pro-installmemberi:

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.

Pertanyaan: Bagaimana cara melanjutkan, di mana saya harus mencari ketergantungan yang salah atau sesuatu yang menghalangi pengemudi untuk bekerja dengan baik, bagaimana membuatnya bekerja?

Sejauh ini saya sudah mencoba ini:

  • Saya telah menguji dengan HDMI dan DisplayPort dan keduanya memberikan hasil yang sama.

  • Sudah mencoba sudo dpkg --add-architecture i386dan sudo apt -get update.

dmesgoutput: (Saya menyertakan cuplikan dari dmesglog yang mungkin membantu dalam mengidentifikasi masalah.)

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_
sumber
2
Mengingat bahwa tautan yang Anda unduh drivernya tidak menyatakan bahwa drivernya adalah beta, sangat mungkin bahwa ini sebenarnya adalah bug driver, sudahkah Anda mencoba melaporkan masalah ke AMD termasuk output dmesg lengkap dan konten / var /log/Xorg.0.log file? Mereka mungkin berada dalam posisi yang jauh lebih baik untuk membantu Anda dengan masalah seputar kode driver eksperimental mereka daripada siapa pun di sini.
MttJocy
Saya mengalami masalah ketergantungan pada pemasangan baru Ubuntu 16.04 (tidak menggunakan Gnome). Masalahnya jelas terkait dengan paket i386, tetapi saya tidak segera yakin bagaimana menyelesaikannya. Untungnya pertanyaan Anda mengarahkan saya ke sudo dpkg --add-architecture i386dan itu berhasil. Terima kasih!
thinkmassive

Jawaban:

4

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

Pada awalnya saya mencoba sistem Ubuntu 16.04 setiap hari dengan paket kernel Xenial. Namun, meskipun driver biner AMDGPU paket ini menggunakan DKMS, ada kompatibilitas yang rusak dengan kode driver kernel ini terhadap Linux 4.4. Karena beberapa perubahan pada antarmuka kernel DRM Linux 4.4, gagal membangun modul DKMS . Ini harus diperbaiki oleh AMD segera setelah Bridgman mencatat di forum, tetapi untuk sekarang, perbaikan yang mudah adalah hanya menginstal Linux 4.2 pada kotak Ubuntu 16.04

Saya tidak mencoba perbaikan yang mudah, tetapi saya menemukan yang sulit di awal hari, dan itu berhasil bagi saya tanpa masalah.

Namun, jika Anda mencoba ini, saya sarankan untuk mencadangkan sistem Anda sebelum mencoba ini.

Masalahnya Untuk AMDGPU-PRO di Ubuntu GNOME adalah bahwa COGL gagal dikompilasi dengan benar.

ada file tambalan untuk itu:

Perbaiki COGL untuk driver AMDGPU-PRO oleh 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;

Ada panduan oleh pengguna illwieckz tentang cara menerapkan perbaikan di sini:

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

Hal yang harus dilakukan:

Anda harus membangun kembali libcogl20paket. Karena saya tidak berhasil membangun kembali coglpaket, saya hanya mengganti libcogl.sobiner itu sendiri.

 sudo apt-get build-dep cogl

jika Anda mendapatkan: E: Unable to find a source package for cogl

 sudo gedit /etc/apt/sources.list

dan tambahkan ini di akhir file:

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

lanjut:

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

instal beberapa paket yang diperlukan untuk membangun cogl:

 sudo apt-get install devscripts libcogl-gst-dev

kemudian lanjutkan:


 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)

Jika build berhasil diselesaikan untuk Anda, Anda hanya perlu menginstal libcogl20file deb yang dihasilkan (dalam direktori induk) dengan gdebiatau dpkg:

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

Jika gagal untuk Anda seperti gagal untuk saya, ada pilihan lain yang tersisa, Anda dapat melakukan seperti yang saya lakukan.

Karena pada akhirnya, build gagal pada beberapa bagian yang tidak perlu, tetapi lib yang ditambal dibangun dengan baik, saya hanya mengganti biner dengan tangan:

Kode:

 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

Desktop membeku selama beberapa detik.

Karena saya menimpa file yang berasal dari sebuah paket, saya menandai paket itu untuk "ditahan" untuk memastikan pembaruan di masa depan tidak akan menimpanya, itu ide yang baik untuk menyimpannya juga jika Anda berhasil membangun paket, untuk alasan yang sama .

Kode:

sudo apt-mark hold libcogl20

Jika Anda ingin mengembalikan hal-hal kotor, Anda hanya perlu melakukan:

Kode:

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

Pro-tip, Anda dapat menggunakan alat debsums (dari paket debsums) untuk memeriksa apakah Anda menjalankan libcogl.so dari paket atau yang ditambal cepat dan kotor seperti saya:

Kode:

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

Jika Anda berhasil membangun paket dan menginstalnya dengan cara dpkg, debsum tidak akan mengeluh.

Bagian terakhir dari instalasi amdgpu-pro terlihat seperti ini


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!

Pembaruan 10-9-2016 : Menggunakan RX 480.

masukkan deskripsi gambar di sini

Instalasi berhasil dengan 4.4.0-36-generickernel,

tetapi pembangunan modul untuk kernel 4.8.0-rc5gagal.

Pastikan Anda memiliki: sudo apt-mark hold libcogl20

Perintah ini mencegah gnome package updaterdari mengganti yang dikompilasi libgogl20dengan versi yang lebih baru.

Ini juga mencegah paket lain diinstal karena beberapa paket tergantung pada versi yang lebih baru cogldan seterusnya.

Kami hanya harus menunggu untuk perbaikan resmi untuk masalah ini, sampai saat ini adalah cara yang baik untuk membuat amdgpu-propengemudi bekerja Ubuntu Gnome 16.04.

KB_
sumber
1
Bekerja seperti pesona, terima kasih. Perhatikan bahwa tergantung pada situasi Anda, Anda mungkin perlu menginstal lebih banyak paket terlebih dahulu. Anda akan diberitahu yang mana selama proses pembangunan. Jika demikian, Anda hanya perlu memulai proses pembuatan lagi setelahnya. Juga, menambahkan repositori berbeda selain dari repositori Ubuntu default yang tersedia (seperti yang Anda debian) tidak diperlukan dan tidak disarankan. Anda juga tidak melakukan apt-get updatesebelum langkah build-deb atau Anda tidak mengaktifkan / menghapus komentar repositori deb-src yang sudah tersedia di sources.list. Periksa dulu, diikuti apt-get updatelagi.
Hijauan