Menjalankan RX 480 dengan AMDGPU di Linux

Menjalankan RX 480 dengan AMDGPU di Linux

AMD's RX 480 telah keluar selama lebih dari seminggu sekarang, dan pada minggu itu gamer Linux telah berteriak atau informasi tentang apakah dan bagaimana kartu bekerja pada distribusi favorit mereka. Tentu, Ubuntu 16.04 secara resmi didukung oleh driver pro eksklusif AMD, tetapi bagaimana dengan orang lain, dan bagaimana jika Anda ingin menggunakan driver open source amdgpu yang telah lama bekerja? Yah, itu pasti mungkin, tapi tidak semudah itu.

PERINGATAN: Inilah naga, yang besar. Mereka cukup banyak jenis yang Anda harapkan untuk dilihat di sekitar Mereen, jadi jika Anda tidak ingin mengambil kesempatan untuk memecahkan instalasi Anda dan beberapa alis bernyanyi, balik sekarang.

Dasar

Bagian -bagian dari pengemudi AMDGPU yang diperlukan untuk membuat RX 480 berfungsi adalah baru, jadi baru sehingga mereka berada dalam kandidat rilis dan repositori git. Untuk alasan itu, panduan ini akan fokus pada Sid Debian, Ubuntu 16.04, dan Arch Linux. Itu mungkin di tempat lain, tetapi ketiganya mungkin akan menjadi yang termudah dan paling tidak membuat frustrasi.

Ada resep dasar yang diperlukan untuk menjalankan RX 480, dan semuanya dimulai dengan build dari kernel yang mencakup dukungan firmware. Cara terbaik untuk melakukan ini adalah menggunakan kandidat rilis 4.7 dari pengembang yang telah mengerjakan dukungan polaris. Potongan teka -teki berikutnya adalah Mesa 12.1. Ini hanya tersedia dari git pada saat ini. Dua hal terakhir adalah versi libdrm yang sama dengan atau lebih baru dari 2.4.68 dan xf86-video-amdgpu (nama paket sedikit berbeda dengan distro) sama dengan atau lebih baru dari 1.1.0. Jika mereka sedang dibangun dari sumber, llvm dan dentang 3.7 atau lebih baik juga dibutuhkan.

Membangun kernel

Mendapatkan sumbernya

Langkah pertama dalam mendapatkan RX 480 yang bekerja dengan AMDGPU adalah mendapatkan kernel yang mendukungnya. Ada cabang kernel yang tersedia meskipun git yang akan bekerja dengan sempurna. Buat direktori build untuk bekerja dan klon cabang ke sana.

git clone -b drm-fixes-4.7 git: // orang.Freedesktop.org/~ agd5f/linux

Butuh beberapa menit untuk menyelesaikannya, tetapi setelah itu, sumbernya akan tersedia di folder yang disebut Linux. Sebelum melangkah lebih jauh, dapatkan gumpalan firmware Polaris dari repositori Alex Deucher. Itu bisa ditemukan di sini. Polaris 10 gumpalan adalah yang diperlukan untuk RX 480.

Ada dua opsi untuk meletakkannya, baik di firmware direktori dengan sumber kernel atau di direktori root di /lib/firmware Either way membuat direktori yang dipanggil amdgpu untuk memasukkannya. Di lengkungan, itu mungkin sudah ada di sana.

Memperbarui : Sampai sekarang, kernel 4.7-RC7 juga mendukung AMDGPU. Anda dapat menggunakan sumber dari kernel.org, dan gunakan itu sebagai gantinya.

Mengkonfigurasi kernel

Pengguna Arch Linux harus beralih ke dokumentasi Arch tentang pembuatan kernel tradisional untuk bagian ini.
Tidak ada gunanya menciptakan kembali roda. Anda dapat menemukannya di sini. Untuk Debian dan Ubuntu, ada beberapa paket yang perlu Anda instal terlebih dahulu.

# APT-GET INSTALL BUILD-ESSENSIAL GCC-MULTILIB Linux-Headers NCURSES-DEV XZ-UTILS Paket Kernel Fakeroot # APT-GET Build-Dep Linux

Saat itu selesai, CD ke dalam folder. Anda dapat memilih untuk mengonfigurasi kernel sepenuhnya dari awal, atau Anda dapat menyalin konfigurasi yang ada. Untuk menyalin konfigurasi, jalankan:

# cp /boot /config -$ (uname -r) .konfigurasi

Either way, saat Anda siap untuk mengkonfigurasi kernel, jalankan Buat Menuconfig. Panduan ini tidak akan terlalu jauh ke konfigurasi kernel. Jika Anda tidak terlalu nyaman dengan itu, kembali dan salin konfigurasi.

Jenis dan Fitur Prosesor - - -> [*] MTRR (Register Jenis Memori) Dukungan Driver Perangkat - - -> Opsi Driver Generik - - - -> -* - Userspace Firmware Memuat Dukungan # Jika Anda ingin mengkompilasi firmware yang digunakan untuk menggunakan di bawah, jika tidak, jangan. [*] Termasuk gumpalan firmware dalam-kernel dalam biner kernel (AMDGPU/POLARIS10_CE.bin amdgpu/polaris10_mc.bin amdgpu/polaris10_me.bin amdgpu/polaris10_mec2.bin amdgpu/polaris10_mec.bin amdgpu/polaris10_pfp.bin amdgpu/polaris10_rlc.bin amdgpu/polaris10_sdma1.bin amdgpu/polaris10_sdma.bin amdgpu/polaris10_smc.bin amdgpu/polaris10_smc_sk.bin amdgpu/polaris10_uvd.bin amdgpu/polaris10_vce.bin) # Either way mengarahkan ini ke tempat Anda memilih untuk meletakkan firmware (/lib/firmware) gumpalan firmware direktori root # untuk banyak opsi berikut yang dapat Anda pilih antara menyusun atau modul dukungan grafis - - -> Manajer Rendering Direct ( XFREE86 4.1.0 dan dukungan DRI yang lebih tinggi) AMD GPU [*] Aktifkan AMDGPU untuk Dukungan Kartu Suara Suku Cadang Cik - - -> Arsitektur Suara Linux Lanjutan - - -> [*] Perangkat Suara PCI - - -> HD -Audio - - -> HD Audio PCI [*] Dukungan inisialisasi pemuatan tambalan untuk HD-audio kartu suara Anda membangun HDMI/Displayport HD-Audio Codec Didukung (2048) Ukuran buffer pra-alokasi untuk driver HD-Audio HD-Audio 

Di atas adalah himpunan opsi konfigurasi yang diperlukan agar AMDGPU berfungsi. Sisa kernel terserah Anda. Di Debian, jika Anda menyalin konfigurasi, salah satu pengembang memutuskan untuk memerlukan kunci untuk membangun kernel. Untuk menyiasati itu (mungkin ada cara yang lebih aman untuk menangani ini), komentari jalur yang mengharuskannya di .konfigurasi. Untuk menemukannya, cukup buka file dalam editor yang mendukung pencarian dan cari @debian.

Membangun dan memasang kernel

Sekarang setelah kernel dikonfigurasi, saatnya untuk membangun paket kernel. Untuk melakukannya, jalankan dua perintah berikut.

$ make-kpkg bersih $ fakeroot make-kpkg --initrd ---revision = 1.0.Amdgpu kernel_image kernel_headers -j 9 

Itu -J 9 harus jumlah core CPU pada sistem plus satu. Ini akan membantu mengurangi proses kompilasi kernel yang panjang.

Setelah kompilasi, akan ada dua .Paket Deb Terletak di Direktori Induk Build.
CD ke dalam direktori itu dan instal paket sebagai root.

# dpkg -i linux-image-4.7*.Deb # dpkg -i linux-headers-4.7*.Deb 

Nama paket yang tepat yang dibuat akan sedikit berbeda dari yang di atas, tetapi perintah di atas harus berfungsi. Jika tidak, Anda selalu dapat memasukkan nama lengkap dari paket tersebut. Setelah paket diinstal, dan Anda yakin mereka telah diinstal dengan benar, restart.

Mesa

Mesa terbaru mutlak (12.1 Saat menulis ini) diperlukan untuk AMDGPU untuk bekerja dengan benar. Cara terbaik untuk menginstal Mesa berbeda berdasarkan distribusi yang digunakan, jadi dia bagian selanjutnya dirusak oleh distribusi.

Debian

Debian tidak memiliki versi kemasan Mesa 12.1, jadi harus ditarik langsung dari repositori git dan dibangun. Sebelum melakukan itu, pastikan bahwa semua dependensi untuk membangun Mesa dipasang.

# apt-get build-dep mesa # apt-get install llvm-3.9 llvm-3.9-DeV Clang-3.9 Clang-3.9-dev libxvmc-dev libxcb-xvmc0-dev libvdpau-dev libomxil-bulagio-dev 

Cobalah untuk berlari llvm-config. Jika itu tidak berhasil, Anda perlu menautkan llvm-config-3.9 hingga LLVM-Config.

ln -s/usr/bin/llvm-config-3.9/usr/bin/llvm-config

Pilih direktori untuk mengkloning repositori mesa ke dalam dan mengkloningnya. Kemudian CD ke dalam direktori Mesa.

$ git clone git: // anongit.Freedesktop.org/mesa/mesa $ cd mesa 

Setelah berada di dalam direktori, konfigurasikan, kompilasi, dan instal mesa.

$ ./Autogen.sh --prefix =/usr --enable-texture-float-libdir =/usr/lib/x86_64-linux-gnu/-dengan-gallium-drivers = radeonsi, swrast-dengan-egl-platform = DRM, x11 --enable-glx-tls --enable-shared-glapi --enable-gLX --enable-driglx-direct --enable- glets1 --enable- glets2 --enable-gbm --enable-openmax --enable -xa --enable-osmesa-dengan-radeon-llvm-kompiler --enable-sysfs --enable-vdpau --enable-xvmc --enable-openmax --enable-sembilan $ make -j9 # make install 

String konfigurasi yang sangat panjang itu pada dasarnya hanya mengkonfigurasi mesa untuk memasukkan driver radeonsi dan tambahan yang berguna yang akan menjadikannya pengalaman yang lebih lengkap. Sekali lagi -j9 Referensi Jumlah inti CPU plus satu. Hal yang baik adalah setelah perintah ini, mesa akan diinstal. Yang buruk adalah bahwa itu tidak akan dalam bentuk a .Deb dan tidak akan semudah dikelola.

Ubuntu

Di Ubuntu, proses menginstal versi terbaru Mesa telah dibuat sangat mudah melalui penggunaan PADOKA PPA. Cukup tambahkan PPA, perbarui, dan instal mesa.

$ sudo add-apap-repository PPA: Paulo-Miguel-Dias/Mesa $ sudo apt-get update $ sudo apt-get install mesa 

Arch Linux

Selamat datang kembali pengguna lengkungan! Anda tidak memilikinya semudah orang Ubuntu, tetapi ada paket yang tersedia di AUR. Sebelum melakukan ini, pastikan komputer Anda diatur untuk menggunakan AUR dan yang Anda miliki sudo diatur di akun pengguna Anda. Panduan ini juga mengasumsikan bahwa paket sedang dibuat dengan:

$ makePkg -sri

Tarik dan pasang paket berikut dari AUR dalam urutan yang muncul.

llvm-svn lib32-llvm-svn mesa-git lib32-mesa-git 

Awas. Ini akan membutuhkan file panjang waktu. LLVM adalah perangkat lunak besar. Jika, untuk beberapa alasan, beberapa paket tidak terpasang secara otomatis, mereka akan berada di folder build masing -masing dan dapat dipasang secara manual.

# PACMAN -U nama paket.pkg.ter.xz

Menginstal libdrm/amdgpu

Ini hampir selesai! Satu-satunya hal yang harus dilakukan adalah menginstal libdrm dan xf86-video-amdgpu. Pada titik ini, mereka harus mudah tersedia untuk manajer paket dari ketiga distribusi.

Debian dan Ubuntu

# apt-get install libdrm-amdgpu1 libdrm2 xserver-xorg-video-amdgpu

Arch Linux

# PACMAN -S LIBDRM XF86-VIDEO-AMDGPU

Setelah paket diinstal, Anda dapat menulis dalam beberapa konfigurasi Xorg. Tampaknya tidak wajib dengan AMDGPU, tetapi dapat membantu untuk opsi tertentu, seperti Dri. Konfigurasi Dasar ini seharusnya berhasil.

Bagian "Perangkat" Pengidentifikasi "AMDGPU" Opsi "Amdgpu" "AccelMethod" "Glamor" Opsi "DRI" "3" Endsection 

Setelah itu ditulis dan disimpan, Anda dapat memulai kembali komputer Anda dan melihat apakah semuanya berhasil. Driver ini, tentu saja, sangat eksperimental. Mungkin ada bug, salah konfigurasi, atau sejumlah masalah. Namun, jika mereka bekerja, Anda akan menjadi salah satu yang pertama menikmati tumpukan pengemudi sumber terbuka yang mudah menyaingi opsi sumber tertutup. Cukup jelas bahwa jika driver ini dapat tetap diperbarui dalam kode utama, AMD akan menjadi opsi yang sangat kuat untuk pengguna Linux di masa mendatang.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
  • Hal -hal yang harus diinstal pada Ubuntu 22.04
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Manipulasi data besar untuk kesenangan dan keuntungan bagian 1
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
  • Ubuntu 20.04 Panduan
  • Unduh Linux
  • Manipulasi data besar untuk kesenangan dan keuntungan bagian 3