Uruchomienie RX 480 z AMDGPU w Linux

Uruchomienie RX 480 z AMDGPU w Linux

RX 480 AMD jest już od nieco ponad tygodnia, aw tym tygodniu gracze Linux domagali. Jasne, Ubuntu 16.04 jest oficjalnie wspierany przez zastrzeżonych kierowców AMD, ale co z wszystkimi innymi, a co, jeśli chcesz użyć tych kierowców open source AMDGPU? Cóż, jest to zdecydowanie możliwe, ale to nie jest takie łatwe.

OSTRZEŻENIE: Oto smoki, duże. To prawie taki rodzaj, którego można się spodziewać, latając po prostu po prostu, więc jeśli nie chcesz ryzykować złamania instalacji i śpiewanych brwi, zawróć teraz.

Podstawy

Części sterownika AMDGPU, które są potrzebne do pracy RX 480, są nowe, więc nowe, że są w kandydatach z uwag. Z tego powodu ten przewodnik skupi się na Debian Sid, Ubuntu 16.04 i Arch Linux. Jest to możliwe gdzie indziej, ale te trzy prawdopodobnie będą najłatwiejsze i najmniej frustrujące.

Istnieje podstawowy przepis, który jest wymagany do uruchomienia RX 480, a wszystko zaczyna się od kompilacji jądra, która zawiera obsługę oprogramowania układowego. Najlepszym sposobem na to jest użycie kandydata na wersję 4.7 od programistów, którzy pracowali nad wsparciem Polaris. Następnym kawałkiem układanki jest Mesa 12.1. W tym momencie jest dostępny tylko w Git. Ostatnie dwie rzeczy to wersja libdrm równa lub nowsza niż 2.4.68 i xf86-video-amdgpu (nazwa pakietu różni się nieznacznie według dystrybucji) równa lub nowsza niż 1.1.0. Jeśli są budowane ze źródła, LLVM i Clang 3.7 lub lepsze są również potrzebne.

Budowanie jądra

Zdobycie źródła

Pierwszym krokiem w pracy RX 480 z AMDGPU jest zdobycie jądra, które go obsługuje. Jest dostępna gałąź jądra. Utwórz katalog kompilacji do pracy i sklonuj tam gałęzie.

Git Clone -B DRM-Fixes-4.7 git: // ludzie.Freedesktop.Org/~ Agd5f/Linux

Zakończenie zajmie kilka minut, ale potem źródło będzie dostępne w folderze o nazwie Linux. Zanim przejdziemy dalej, uzyskaj plamy oprogramowania Polaris z repozytorium Alexa Deuchera. Można go znaleźć tutaj. Polaris 10 Blobs to te potrzebne dla RX 480.

Istnieją dwie opcje, gdzie je umieścić, albo w oprogramowanie układowe katalog z źródłem jądra lub w katalogu głównym pod adresem /LIB/oprogramowanie układowe Tak czy inaczej Utwórz katalog o nazwie AMDGPU umieścić je. Na łuku może już tam być.

Aktualizacja : Na razie jądro 4.7-RC7 obsługuje również AMDGPU. Możesz użyć źródła z jądra.org i zamiast tego użyj tego.

Konfigurowanie jądra

Użytkownicy Arch Linux powinni przejść na dokumentację Arch na temat tradycyjnych kompilacji jądra.
Nie ma sensu na nowo na nowo. Możesz to znaleźć tutaj. W przypadku Debiana i Ubuntu istnieje pewne pakiety, które należy najpierw zainstalować.

# apt-get instal instaluj kompilację gcc-multilib-linux-headers ncurses-dev xz-utyls fakeroot jądra

Kiedy to się skończy, płyta CD do folderu. Możesz albo zdecydować się całkowicie skonfigurować jądro od zera, albo możesz skopiować istniejącą konfigurację. Aby skopiować konfigurację, uruchom:

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

Tak czy inaczej, gdy będziesz gotowy do skonfigurowania jądra, uruchom Zrób menuconfig. Ten przewodnik nie pójdzie zbyt daleko do konfiguracji jądra. Jeśli nie jesteś z tym zbyt komfortowy, wróć i skopiuj konfigurację.

Typ i funkcje procesora - - -> [*] MTRR (rejestr typu pamięci) obsługuje sterowniki urządzeń - - -> Ogólne opcje sterowników - - -> -* - Obszar Użytkownicy Obsługa Obsługa # Jeśli chcesz skompilować oprogramowanie układowe w użyciu Poniżej, jeśli nie, nie. [*] Uwzględnij obiektyczne plamy oprogramowania układowego w jądrze (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) # w każdym razie wskazują to na miejsce, w którym zdecydowałeś się umieścić oprogramowanie układowe (/lib/oprogramowanie układowe) kroplowe kroki główne katalog # dla wielu z poniższych opcji można wybrać pomiędzy kompilowaniem w lub modułach obsługi grafiki - - -> Bezpośrednie menedżer renderowania (menedżer renderowania ( Xfree86 4.1.0 i wyższe obsługa DRI) AMD GPU [*] Włącz AMDGPU dla części CIK Wsparcie karty dźwiękowej - - -> Zaawansowana architektura dźwięku Linux - - -> [*] Urządzenia dźwiękowe PCI - - -> HD -AUDIO - - -> HD Audio PCI [*] Wsparcie inicjalizacji Ładowanie łatek dla HD-Audio Twoja karta dźwiękowa Wybuduj HDMI/Displayport HD-Audio Codec (2048) wstępnie alokowany rozmiar bufora dla sterownika HD-Audio 

Powyższe jest zbiorem opcji konfiguracji potrzebnych do działania AMDGPU. Reszta jądra zależy od Ciebie. W Debian, jeśli skopiowałeś konfigurację, jeden z programistów postanowił potrzebować klucza do zbudowania jądra. Aby to obejść (prawdopodobnie istnieje bezpieczniejszy sposób, aby to poradzić), skomentuj linię wymagającą tego w .konfigurator. Aby go znaleźć, po prostu otwórz plik w edytorze, który obsługuje wyszukiwanie i wyszukiwanie @debian.

Budowanie i instalacja jądra

Teraz, gdy jądro jest skonfigurowane, nadszedł czas na zbudowanie pakietów jądra. Aby to zrobić, uruchom następujące dwa polecenia.

$ Make-Kpkg Clean $ Fakeroot Make-Kpkg-Initrd --revision = 1.0.AMDGPU Kernel_image jądro_headers -j 9 

-J 9 powinna być liczbą rdzeni procesora w systemie plus jeden. Pomoże ograniczyć długi proces kompilacji jądra.

Po kompilacji będą dwa .Pakiety Deb znajdujące się w katalogu nadrzędnym kompilacji.
płyta CD w tym katalogu i zainstaluj pakiety jako root.

# dpkg -i Linux-Image-4.7*.Deb # dpkg -i Linux-Headers-4.7*.Deb 

Dokładne nazwy pakietów, które są tworzone, będą nieco inne niż te powyżej, ale powyższe polecenia powinny działać. Jeśli nie, zawsze możesz wprowadzić pełne nazwy pakietów. Po zainstalowaniu pakietów i jesteś pewien, że zainstalowano poprawnie, uruchom ponownie.

Mesa

Absolutna najnowsza mesa (12.1 Od czasu pisania) jest wymagane, aby AMDGPU działał prawidłowo. Najlepszy sposób instalacji MESA różni się w zależności od zastosowanej dystrybucji, więc następna część jest rozkładana przez dystrybucję.

Debian

Debian nie ma pakowanej wersji Mesa 12.1, więc należy go wyciągnąć bezpośrednio z repozytorium Git i zbudować. Zanim to zrobisz, upewnij się, że wszystkie zależności od budowy MESA są zainstalowane.

# apt-get kompilacja mesa # apt-get instaluj llvm-3.9 LLVM-3.9-dev Clang-3.9 Clang-3.9-dev libxvmc-dev libxcb-xvmc0-dev libvdpau-dev libomxil-bellagio-dev 

Spróbuj biec LLVM-CONFIG. Jeśli to nie zadziała, musisz połączyć LLVM-Config-3.9 do LLVM-CONFIG.

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

Wybierz katalog, aby sklonować repozytorium MESA i sklonizować. Następnie płyta CD do katalogu Mesa.

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

Po drugiej stronie katalogu skonfiguruj, skompiluj i zainstaluj 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-shared-glapi --enable-glx --enable-Driglx-Direct --enable-gles1 --enable-gles2 --enable-gbm --enable-Openmax --enable-ableble -xa --enable-Osmesa--with-radeonsi-llvm-compiller --enable-sysfs --enable-vdpau --enable-xvmc --enable-openmax --enable-Nine $ Make -J9 # Make instaluj instalację 

Ten absurdalnie długi ciąg konfiguracji po prostu konfiguruje Mesa do włączenia sterowników Radeons i przydatnych dodatków, które sprawi, że będzie to pełniejsze wrażenia. Znowu -J9 odniesienia liczba rdzeni procesora plus jeden. Dobrą rzeczą jest to, że po tych poleceniach Mesa zostanie zainstalowana. Złe jest to, że nie będzie to w formie .Deb i nie będzie tak łatwy w zarządzaniu.

Ubuntu

Na Ubuntu proces instalowania najnowszej wersji MESA został niezwykle łatwy dzięki zastosowaniu PADOKA PPA. Po prostu dodaj PPA, zaktualizuj i zainstaluj MESA.

$ sudo add-apt-repozytory PPA: Paulo-Miguel-Dias/Mesa $ sudo apt-get aktualizacja $ sudo apt-get instaluj mesa 

Arch Linux

Witamy z powrotem użytkowników Arch! Nie masz tak łatwego jak ludzie Ubuntu, ale w aurze są dostępne pakiety. Przed zrobieniem tego upewnij się, że komputer jest skonfigurowany do użycia aure i że masz sudo Skonfiguruj na koncie użytkownika. Ten przewodnik zakłada również, że pakiety są tworzone z:

$ MakePkg -Sri

Pociągnij i zainstaluj następujące pakiety z auru w kolejności, w jakiej.

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

Strzec się. To zajmie długi czas. LLVM to duży oprogramowanie. Jeśli z jakiegoś powodu niektóre pakiety nie zostaną automatycznie zainstalowane, będą w odpowiednich folderach kompilacji i można je ręcznie zainstalować.

# Pacman -u -Pakiet -Nazwa.PKG.smoła.xz

Instalowanie Libdrm/AMDGPU

To jest prawie gotowe! Jedyne, co pozostało do zrobienia, to zainstalować LibDRM i XF86-Video-amdgpu. W tym momencie powinny być łatwo dostępne dla menedżera pakietów wszystkich trzech dystrybucji.

Debian i Ubuntu

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

Arch Linux

# Pacman -s libdrm xf86-video-amdgpu

Po zainstalowaniu pakietów możesz napisać w pewnej konfiguracji Xorg. Wydaje się, że nie jest to obowiązkowe w przypadku AMDGPU, ale może pomóc w niektórych opcjach, na przykład Dri. Ta podstawowa konfiguracja powinna działać.

SEKCJA „Urządzenie” Identyfikator „AMDGPU” Driver „AMDGPU” Opcja „AccelMethod” opcja „Glamour” „DRI” „3” Endsection 

Po tym napisane i zapisane możesz ponownie uruchomić komputer i sprawdzić, czy wszystko zadziałało. Te sterowniki są oczywiście bardzo eksperymentalne. Mogą wystąpić błędy, błędna konfiguracja lub jakikolwiek problem. Jeśli jednak działają, będziesz jednym z pierwszych, który cieszy się prawie w pełni open source, który z łatwością rywalizuje. Jest całkiem jasne, że jeśli sterowniki te mogą pozostać zaktualizowane w kodzie głównego nurtu, AMD będzie bardzo silną opcją dla użytkowników Linuksa w przyszłości.

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
  • Rzeczy do zainstalowania na Ubuntu 22.04
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Big Data Manipulacja dla zabawy i zysku Część 1
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Ubuntu 20.04 Przewodnik
  • Pobierz Linux
  • Manipulacja Big Data dla zabawy i zysku Część 3