Mendapatkan Rx 480 berjalan dengan AMDGPU di Linux

Mendapatkan Rx 480 berjalan dengan AMDGPU di Linux

AMD's RX 480 telah keluar selama lebih kurang seminggu sekarang, dan pada minggu itu pemain Linux telah memuji atau maklumat mengenai sama ada dan bagaimana kad berfungsi pada pengedaran kegemaran mereka. Pasti, Ubuntu 16.04 disokong secara rasmi oleh pemandu pro proprietari AMD, tetapi bagaimana dengan orang lain, dan bagaimana jika anda ingin menggunakan pemandu sumber terbuka AMDGPU yang telah lama berlalu? Baik, pasti mungkin, tetapi tidak semudah itu.

Amaran: Inilah naga, yang besar. Mereka cukup banyak jenis yang anda harapkan untuk melihat terbang di sekitar Mereen, jadi jika anda tidak mahu mengambil kesempatan untuk memecahkan pemasangan anda dan beberapa kening yang disanyi, kembali sekarang.

Asas-asas

Bahagian pemacu AMDGPU yang diperlukan untuk mendapatkan kerja RX 480 baru, jadi baru mereka berada di calon pelepasan dan repositori Git. Atas sebab itu, panduan ini akan memberi tumpuan kepada Debian Sid, Ubuntu 16.04, dan Arch Linux. Mungkin di tempat lain, tetapi ketiga -tiga ini mungkin akan menjadi yang paling mudah dan paling tidak mengecewakan.

Terdapat resipi asas yang diperlukan untuk mendapatkan RX 480 berjalan, dan semuanya bermula dengan membina kernel yang merangkumi sokongan firmware. Cara terbaik untuk melakukan ini adalah menggunakan calon pelepasan 4.7 dari pemaju yang telah mengusahakan sokongan Polaris. Sekeping teka -teki seterusnya ialah Mesa 12.1. Ia hanya boleh didapati dari Git pada ketika ini. Dua perkara terakhir adalah versi libdrm sama dengan atau lebih baru dari 2.4.68 dan xf86-video-amdgpu (nama pakej berbeza sedikit dengan distro) sama dengan atau lebih baru dari 1.1.0. Sekiranya mereka dibina dari sumber, LLVM dan Clang 3.7 atau lebih baik juga diperlukan.

Membina kernel

Mendapatkan sumber

Langkah pertama dalam mendapatkan RX 480 yang bekerja dengan AMDGPU adalah untuk mendapatkan kernel yang menyokongnya. Terdapat cabang kernel yang ada walaupun git yang akan berfungsi dengan sempurna. Buat direktori binaan untuk bekerja dan mengklon cawangan ke sana.

Git Clone -B DRM-FIXES-4.7 git: // orang.Freedesktop.org/~ agd5f/linux

Ia akan mengambil masa beberapa minit untuk diselesaikan, tetapi selepas itu, sumbernya akan tersedia dalam folder yang dipanggil Linux. Sebelum pergi lagi, dapatkan gumpalan firmware Polaris dari repositori Alex Deucher. Ia boleh didapati di sini. Polaris 10 gumpalan adalah yang diperlukan untuk RX 480.

Terdapat dua pilihan untuk meletakkannya, sama ada di firmware direktori dengan sumber kernel atau di direktori akar di /lib/firmware Sama ada cara membuat direktori yang dipanggil amdgpu untuk memasukkannya. Di gerbang, mungkin sudah ada di sana.

Kemas kini: Sehingga sekarang, kernel 4.7-RC7 menyokong AMDGPU juga. Anda boleh menggunakan sumber dari kernel.org, dan gunakannya sebagai gantinya.

Mengkonfigurasi kernel

Pengguna Arch Linux harus beralih ke dokumentasi gerbang pada kernel tradisional untuk bahagian ini.
Tidak masuk akal untuk mencipta semula roda. Anda boleh menjumpainya di sini. Untuk Debian dan Ubuntu, terdapat beberapa pakej yang perlu anda pasang terlebih dahulu.

# apt-get pemasangan binaan gcc-multilib linux-headers ncurses-dev xz-utils fakeroot pakej kernel # apt-get linux-dep linux

Apabila itu selesai, CD ke dalam folder. Anda boleh memilih untuk mengkonfigurasi kernel sepenuhnya dari awal, atau anda boleh menyalin konfigurasi yang ada. Untuk menyalin konfigurasi, jalankan:

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

Sama ada cara, apabila anda sudah bersedia untuk mengkonfigurasi kernel, lari Buat Menuconfig. Panduan ini tidak akan terlalu jauh ke dalam konfigurasi kernel. Sekiranya anda tidak terlalu selesa dengannya, kembali dan salin konfigurasi.

Jenis dan ciri pemproses - - - -> [*] mtrr (regangan pelbagai jenis memori) Pemacu peranti sokongan - - -> Pilihan Pemandu Generik - - - -> -* - UserPace Firmware Loading Support # Jika anda ingin menyusun firmware dalam Gunakan di bawah, jika tidak, jangan. [*] Sertakan gumpalan firmware dalam kernel dalam binari 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) # Sama ada cara ini di mana anda memilih untuk meletakkan firmware (/lib/firmware) firmware blobs direktori root # untuk banyak pilihan berikut yang anda boleh pilih antara menyusun atau modul sokongan grafik - - -> Pengurus Rendering Langsung ( Xfree86 4.1.0 dan sokongan DRI yang lebih tinggi) AMD GPU [*] Dayakan AMDGPU untuk CIK Bahagian Sokongan Kad Bunyi - - - -> Advanced Linux Sound Architecture - - -> [*] peranti bunyi PCI - - - -> HD -Audio - - -> Audio HD PCI [*] Memuatkan Patch Inisialisasi Untuk HD-AUDIO Kad Bunyi Anda Membina HDMI/DisplayPort HD-Audio Codec Disokong (2048) 

Di atas adalah set pilihan konfigurasi yang diperlukan untuk AMDGPU berfungsi. Selebihnya kernel terpulang kepada anda. Pada Debian, jika anda menyalin konfigurasi, salah seorang pemaju memutuskan untuk memerlukan kunci untuk membina kernel. Untuk mengelilinginya (mungkin ada cara yang lebih selamat untuk mengendalikan ini), mengulas garis yang memerlukannya di .konfigurasi. Untuk mencarinya, buka fail dalam editor yang menyokong carian dan cari @debian.

Membina dan memasang kernel

Sekarang kernel dikonfigurasikan, sudah tiba masanya untuk membina pakej kernel. Untuk berbuat demikian, jalankan dua arahan berikut.

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

The -J 9 mestilah bilangan teras CPU pada sistem ditambah satu. Ia akan membantu mengurangkan proses penyusunan kernel yang panjang.

Setelah menyusun, akan ada dua .Pakej Deb yang terletak di direktori induk binaan.
CD ke dalam direktori itu dan pasangkan pakej sebagai akar.

# dpkg -i linux-image-4.7*.Deb # DPKG -I Linux-Headers-4.7*.Deb 

Nama pakej yang tepat yang dibuat akan sedikit berbeza dari yang di atas, tetapi perintah di atas harus berfungsi. Sekiranya tidak, anda sentiasa boleh memasukkan nama penuh pakej. Setelah pakej dipasang, dan anda pasti mereka telah dipasang dengan betul, mulakan semula.

Mesa

Mesa terbaru mutlak (12.1 seperti menulis ini) diperlukan untuk amdgpu berfungsi dengan baik. Cara terbaik untuk memasang mesa berbeza berdasarkan pengedaran yang digunakan, jadi dia bahagian seterusnya dipecahkan oleh pengedaran.

Debian

Debian tidak mempunyai versi Mesa 12 yang dibungkus.1, jadi ia harus ditarik terus dari repositori git dan dibina. Sebelum melakukan itu, pastikan semua kebergantungan untuk membina 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-bellagio-dev 

Cuba lari LLVM-CONFIG. Jika itu tidak berfungsi, anda perlu menghubungkan LLVM-CONFIG-3.9 hingga LLVM-CONFIG.

LN -S/USR/BIN/LLVM-CONFIG-3.9/usr/bin/llvm-config

Pilih direktori untuk mengklonkan repositori mesa ke dalam dan mengkloninya. Kemudian CD ke direktori mesa.

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

Sekali di dalam direktori, konfigurasikan, penyusun, dan pasang Mesa.

$ ./autogen.sh --prefix =/usr-enable-texture-float--libdir =/usr/lib/x86_64-linux-gnu/--with-gallium-drivers = radeonsi, swrast --with-egl-platforms = drm, x11-enable-glx-tls-enable-fared-glapi-enable-glx-enable-driglx-direct-enable-otl1-enable-plles2-enable-gbm-enable-openmax-enable-enable -Xa-enable-osmesa-with-radeonsi-llvm-compiler --enable-sysfs --enable-vdpau --enable-xvmc --enable-openmax-enable-nine $ make -j9 # membuat pemasangan 

Rentetan konfigurasi panjang yang ridiculously pada dasarnya hanya mengkonfigurasi Mesa untuk memasukkan pemandu radeonsi dan penambahan berguna yang akan menjadikannya pengalaman yang lebih lengkap. Sekali lagi -J9 Rujukan bilangan teras CPU ditambah satu. Perkara yang baik ialah selepas arahan ini, Mesa akan dipasang. Yang buruk adalah bahawa ia tidak akan dalam bentuk a .Deb dan tidak akan mudah dikendalikan.

Ubuntu

Di Ubuntu, proses memasang versi terbaru Mesa telah dibuat sangat mudah melalui penggunaan PPA Padoka. Cukup tambahkan PPA, kemas kini, dan pasang Mesa.

$ sudo add-apt-repository ppa: Paulo-miguel-dias/mesa $ sudo apt-get update $ sudo apt-get install mesa 

Arch Linux

Selamat Datang Pengguna Gerbang Kembali! Anda tidak memilikinya semudah orang Ubuntu, tetapi ada pakej yang terdapat di aur. Sebelum melakukan ini, pastikan komputer anda disediakan untuk menggunakan AUR dan yang anda ada sudo Sediakan di akaun pengguna anda. Panduan ini juga menganggap bahawa pakej sedang dibuat dengan:

$ makepkg -sri

Tarik dan pasang pakej berikut dari AUR mengikut urutan yang muncul.

LLVM-SVN LIB32-LLVM-SVN MESA-GIT LIB32-MESA-GIT 

Berhati -hati. Ini akan memerlukan panjang masa. LLVM adalah sekeping perisian yang besar. Jika, atas sebab tertentu, beberapa pakej tidak dipasang secara automatik, mereka akan berada di folder binaan masing -masing dan boleh dipasang secara manual.

# pacman -u pakej -nama.pkg.tar.xz

Memasang libdrm/amdgpu

Ia hampir selesai! Satu-satunya perkara yang perlu dilakukan ialah memasang libdrm dan xf86-video-amdgpu. Pada ketika ini, mereka harus mudah didapati dengan pengurus pakej ketiga -tiga pengagihan.

Debian dan Ubuntu

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

Arch Linux

# pacman -s libdrm xf86-video-amdgpu

Setelah pakej dipasang, anda boleh menulis dalam beberapa konfigurasi XORG. Nampaknya tidak wajib dengan AMDGPU, tetapi boleh membantu pilihan tertentu, seperti DRI. Konfigurasi asas ini harus berfungsi.

Seksyen "Pengenalpastian Peranti" AMDGPU "Pemandu" AMDGPU "Pilihan" AccelMethod "" Glamour "Opsyen" DRI "" 3 "Endsection 

Setelah itu ditulis dan disimpan, anda boleh memulakan semula komputer anda dan melihat apakah semuanya berfungsi. Pemandu ini, tentu saja, sangat eksperimen. Mungkin ada pepijat, kesalahpahaman, atau sebarang masalah. Jika, bagaimanapun, mereka bekerja, anda akan menjadi salah satu yang pertama menikmati timbunan pemandu sumber yang hampir terbuka sepenuhnya yang mudah menyaingi pilihan sumber tertutup. Cukup jelas bahawa jika pemandu ini dapat dikemas kini dalam kod arus perdana, AMD akan menjadi pilihan yang sangat kuat untuk pengguna Linux pada masa akan datang.

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
  • Perkara yang perlu dipasang di Ubuntu 22.04
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Manipulasi data besar untuk keseronokan dan keuntungan bahagian 1
  • Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
  • Ubuntu 20.04 Panduan
  • Muat turun linux
  • Manipulasi data besar untuk keseronokan dan keuntungan bahagian 3