Witaj na Forum Linuxiarzy
Zanim zalogujesz się, by pisać na naszym forum, zapoznaj się z kilkoma zasadami savoir-vivre'u w dziale Administracja.
Wiadomości z problemami zamieszczone w wątku "Przywitaj się" oraz wszelkie reklamy na naszym forum będą usuwane.

radeon konfiguracja sterownika

Zaczęty przez Milczarskivon, Maj 26, 2020, 10:25:08 AM

Poprzedni wątek - Następny wątek

Milczarskivon

witam nie mogę załadować sterownika radeon po wpisaniu go w xorga . Skompilowałem kernel i wkompilowałem ten sterownik w jajo .Okna wstają bez xorga na vesie ...System nie chce się załadować przy włączonym kmsie . Po wpisaniu nomodeset w gruba okna wstają tylko na vesie .Firmware do radeona nie chce się załadować ...

MSI R9 280x


Cytatdmesg | egrep 'drm|radeon'
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.6.14 root=UUID=52e1d01d-38d2-4209-9265-f688a20f15ec ro radeon.modeset=1 rootflags=data=writeback hpet=force clocksource=hpet
[    0.064880] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.6.14 root=UUID=52e1d01d-38d2-4209-9265-f688a20f15ec ro radeon.modeset=1 rootflags=data=writeback hpet=force clocksource=hpet
[    1.516143] [drm] radeon kernel modesetting enabled.
[    1.516232] radeon 0000:01:00.0: vgaarb: deactivate vga console
[    1.517188] [drm] initializing kernel modesetting (TAHITI 0x1002:0x6798 0x1462:0x2775 0x00).
[    1.518391] [drm] Changing default dispclk from 500Mhz to 600Mhz
[    1.518400] radeon 0000:01:00.0: VRAM: 3072M 0x0000000000000000 - 0x00000000BFFFFFFF (3072M used)
[    1.518403] radeon 0000:01:00.0: GTT: 2048M 0x00000000C0000000 - 0x000000013FFFFFFF
[    1.518407] [drm] Detected VRAM RAM=3072M, BAR=256M
[    1.518409] [drm] RAM width 384bits DDR
[    1.518499] [drm] radeon: 3072M of VRAM memory ready
[    1.518502] [drm] radeon: 2048M of GTT memory ready.
[    1.518510] [drm] Loading tahiti Microcode
[    1.518525] radeon 0000:01:00.0: Direct firmware load for radeon/tahiti_pfp.bin failed with error -2
[    1.518536] radeon 0000:01:00.0: Direct firmware load for radeon/TAHITI_pfp.bin failed with error -2
[    1.518540] si_cp: Failed to load firmware "radeon/TAHITI_pfp.bin"
[    1.518543] [drm:si_init] *ERROR* Failed to load firmware!
[    1.518546] radeon 0000:01:00.0: Fatal error during GPU init
[    1.518548] [drm] radeon: finishing device.
[    1.525661] [drm] radeon: ttm finalized
[    1.525804] radeon: probe of 0000:01:00.0 failed with error -2



no ums support


pavbaranov

Najprawdopodobniej - źle skompilowałeś kernel.
Sterowniki dla AMD są dwa: ATI (znany też jako radeon) oraz AMDGPU. Drugi dla nowszych kart opartych o architekturę GCN (dla nowszych od 3 już wyłącznie, a dla do 2 ma tzw. eksperymentalne wsparcie i działa).
Oprócz sterownika wkompilowanego w kernel powinieneś mieć jeszcze sterownik typu xf86-video-ati (ew. radeon, nie wiem jak on się w Debianie nazywa) lub xf86-video-amdgpu, nadto mesa. Xy nie potrzebują zasadniczo niczego w pliku konfiguracyjnym, bo od kilku lat jest to zdane na automatykę i zwykle nieźle sobie radzi. Dopiero gdy są problemy, to należy im "pomóc". Jak na razie jednak nie wiemy, czy są i nie wiemy gdzie są. Zacznij od domyślnego kernela w Debianie lub np. tego typu kerneli jak np. liquorix (będzie sporo nowszy od tego z repozytorium). W tej "domyślnej" konfiguracji wystartowałbym również z GRUBa bez żadnych zmiennych dla AMD. Niech sobie radzi. Dopiero po tym, będzie można zacząć usuwać błędy w Twoim kernelu.

Milczarskivon

TO POPROSZĘ O NAMIAR JAK POPRAWNIE SKOMPILOWAĆ STEROWNIK RADEON ...jeśli to wina kernela ...poproszę o więcej pytań udostępnie logi ...Chcę używać otwartego sterownika

a tu z mojego configa 5.6




CONFIG_DRM_RADEON=y
# CONFIG_DRM_RADEON_USERPTR is not set
# CONFIG_DRM_AMDGPU is not set[/img]


CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_BACKLIGHT=y
# CONFIG_FB_RADEON_DEBUG is not set

co jeszcze powinno być zaznaczone w kernelu ?

https://ibb.co/DMgN6TN

pavbaranov

Skąd ktokolwiek ma wiedzieć co ma być w kernelu, skoro nikt nie wie jakim sprzętem dysponujesz? Jakiś wynik z inxi (co najmniej) by się przydał, choć to tylko początek zabawy przy kompilowaniu kernela we własnym zakresie.
To co masz - w tej części, którą pokazałeś umożliwia (od strony kernela):
1. pracę z tzw. grafiką hybrydową (nie wiem, czy Ci to potrzebne),
2. obsługę wszystkich kart AMD do GCN 2 generacji włącznie.
Jeśli zatem:
1. Twoje GPU "mieści" się w tym przedziale (nie jest nowsze od GCN 2),
2. masz zainstalowane sterowniki,
to system winien wstawać z obsługą AMD przez sterownik ati/radeon. Jeśli pomimo tego tego nie czyni, wracamy do początku: czy na "normalnym" kernelu z repozytorium wszystko pracuje poprawnie, czy nie? Bez odpowiedzi na to pytanie - z całym szacunkiem - ale szkoda czasu na cokolwiek.
Przy okazji - doprawdy musisz kompilować kernel? W jakimś konkretnym celu to robisz? AMD mam od bodaj ponad 10 lat (wyjątek ostatnie 2 miesiące) i zawsze kernele z repozytorium poprawnie podnosiły otwartą grafikę AMD. Wyjątkiem była jedna linia, gdzie dla AMDGPU (przy okazji - to też otwarty sterownik) należało wprowadzić jedną zmienną przy starcie kernela.

Milczarskivon

na zwykłym kernelu wszystko chodzi ...

CHODZI O PORADNIK nt WSZYSTKO CO POWINNO BYĆ zaznaczone przy kompilacjii z kartą radeon na otwartych

czyli można wkleić jedną albo dwie linijki z configu kernela najszybciej . Działam na kernelu zkompilowanym 5.6 bez xorga ale czyta w logach że to vesa ...DLACZEGO FIRMWARE NIE JEST CZYTANY ??? To może być tutaj

  1.518540] si_cp: Failed to load firmware "radeon/TAHITI_pfp.bin"
[    1.518543] [drm:si_init] *ERROR* Failed to load firmware!
[    1.518546] radeon 0000:01:00.0: Fatal error during GPU init


przy aktywnym kmsie radeon nie odpala a przy wyłączonym też nie ...Jeśli to błąd przy kompilacjii to proszę o instrukcje co zaznaczyć dla kart radeon dla otwartych sterów

pavbaranov

Skoro sobie już tak krzyczymy, to: MASZ DWA STEROWNIKI OTWARTE, które mogą być wkompilowane w kernel. Istnieje w nim obu jest sensowne wyłącznie w przypadku, gdy masz kartę należącą do serii GCN 1 lub 2. W każdym innym przypadku istotne jest wbudowanie tylko jednego sterownika.
Jak już pisałem - obecnie masz wbudowany wyłącznie jeden sterownik, który umożliwia obsługę wszystkich kart AMD do opartych o architekturę GCN2 włącznie. NIE OBSŁUŻY nowszych GCN niż 2.
Standardowo w kernel wbudowane są oba sterowniki: "ATI/Radeon" oraz AMDGPU. Gdy system startuje, automatycznie wybierany jest (kernel/Xy) sterownik właściwy, przy czym w przypadku kart GCN 1 i 2 domyślnie podnoszony jest sterownik ATI/Radeon, a nie AMDGPU, który dopiero trzeba wymusić.
Masz to już napisane zresztą wyżej: obecna Twoja konfiguracja kernela, winna umożliwić obsługiwanie kart AMD do GCN2 włącznie i żadnej innej. Jeśli masz inne GPU, to Xy nie zastosują odpowiedniego sterownika, albowiem nie mają jak tego uczynić.
DOPÓKI NIE ODPOWIESZ NA ZADANE WCZEŚNIEJ PYTANIA o sprzęt, nie jest możliwym udzielenie Ci odpowiedzi "CO WINNO BYĆ ZAZNACZONE WSZYSTKO" dla kart radeon, by działały otwarte sterowniki. Możesz natomiast zbudować kernel na konfigu pochodzącym z kernela stockowego, nie dokonywać żadnych zmian w zakresie AMD i wówczas będziesz miał oba sterowniki (z czego jeden może być kompletnie niepotrzebny) wkompilowane w kernel.
Jeśli masz GCN 3 lub 4, to config kernela, który masz jest wadliwy. NIE CHCE MI SIĘ JEDNAK ZGADYWAĆ CO MASZ, a szklaną kulę mi odebrało ostatnio życie. Albo podasz informacje o sprzęcie, albo niech się ktoś inny męczy.

Milczarskivon

r9 280x oparte jest o GCN 1 ...niechce mi się wieżyć że otwarty sterownik go nie obsługuje ...poprostu trzeba wklepać jako root jedną linijkę i karta by chulała ...Firmware zainstalowany ale nie czytany ...co dalej robić jakie logi wkleić ??? Czy nowy kernel obsługuje gcn 1 ?

Milczarskivon

poproszę o poradnik CO ZAZNACZYĆ W KERNELU PRZY KOMPILACJII dla kart GCN 1 i starszych ...

pavbaranov

#8
Na razie nie logi, a INFORMACJĘ O SYSTEMIE!!! tak jak ją widzi linux. Najlepiej z kernela, który to wszystko odpala, czyli stockowego (choć porównanie wyniku z Twojego byłoby również przydatne). Nawet narzędzie do tego Ci już podałem - najwygodniej: inxi, ale jak chcesz, to możesz i z lspci/usb skorzystać.
Jakich chcesz sterowników na tej karcie używać. Stwierdzenie "otwartych" mówi tyle, co nic. Już Ci pisałem, obsługuje to sterownik ati/radeon oraz amdgpu - który? Jeśli chcesz mieć oba i możliwość wyboru, to musisz jeszcze wkompilować w kernel cały stock amdgpu.
Jaki masz ZAINSTALOWANY sterownik? ATI/Radeon, czy AMDGPU?
UDZIEL W KOŃCU JAKICHŚ ODPOWIEDZI, a nie czekaj na magiczne "wklepanie jako root jednej linijki i karta będzie hulać". To tak nie działa.

Jeśli chodzi o "nieczynny" firmware, to jak to jest podnoszone w Debianie - nie wiem, normalnie należy amd-ucode.img (pewnie i w Debianie takie jest), wrzucić do bootloadera w pierwszej kolejności i go przebudować. Niezależnie od tego jaki init jest w Debianie, to winno się podczas ładowania systemu wówczas pokazać:
initrd /boot/cpu_manufacturer-ucode.img /boot/initramfs-linux.img
gdzie w miejscu cpu_manufacturer-ucode będziesz miał coś jak amd-ucode albo podobnie. Ten "wczesny" start firmware'u winien być również wbudowany w kernel przy kompilacji. Dla wyłącznie AMD będzie to:
CONFIG_BLK_DEV_INITRD=Y
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=n
CONFIG_MICROCODE_AMD=y

Ale nie wiemy nawet, czy masz układ hybrydowy, czy nie, jaki procesor itp.

Czy to wina kernela? Albo tak (bo został wadliwie zbudowany), albo nie - i wówczas może to być kwestia bardzo różnych okoliczności - od braku sterownika, który jest wymagany, poprzez wadliwie zrobiony jego obraz startowy (mogłoby na to wskazywać brak podnoszenia się firmware'u), ale tego się nie dowiemy bez Twojej pomocy. O kernelu, o Twoim systemie możemy wnioskować jedynie tyle, że w przypadku kernela samodzielnie skompilowanego coś zrobiłeś nie tak, jak powinieneś. Bladego pojęcia nie można mieć jednak nt. tego co.

I raz jeszcze - po co robisz ten kernel skoro stockowy działa? Osobiście nauczyłem się kompilować kernel w ten sposób, że robiłem go na podstawie działającego kernela i wycinałem z niego to, co było mi niepotrzebne, a dodawałem to co chciałem (tu różnie, ogólnie jakieś patche, które powodowały, że uzyskany w ten sposób kernel najczęściej oferował większą "sprawność" od stockowego). Nie ruszałem rzeczy, o których nie miałem bladego pojęcia. I to była najłatwiejsza droga do zrobienia kernela "pod swój sprzęt". Oczywiście również wsparta wiedzą z takich narzędzi, jak już wspomniane inxi (ale może być cokolwiek; np. bardzo dobre wyniki daje i-nex).

PS: Bardzo dobrze opisany sterownik Radeon jest tutaj: https://wiki.archlinux.org/index.php/ATI a AMDGPU - tu: https://wiki.archlinux.org/index.php/AMDGPU (wraz z odnośnikami).

PS2: Osobiście sugerowałbym wkompilowanie również AMDGPU, ewentualne doinstalowanie sterownika amdgpu (otwartego a nie amdgpu-pro - to dwa różne i ten "pro" nie obsługuje Twojej karty) i wypróbowanie czy lepiej startować na radeon, czy na amdgpu. Ja pozostałem na amdgpu. Racjonalnego uzasadnienia nie mam, a nigdy żadnych testów nie przeprowadzałem, co lepsze było w moim przypadku.

PS3: Dla pytania, które się ostatnio pojawiło - odpowiedź masz już wcześniej: jeśli chcesz używać sterownika ATI/Radeon - w tym fragmencie configu, który pokazałeś - wystarczy.

PS4: Skorzystaj z tego configu https://aur.archlinux.org/cgit/aur.git/tree/?h=linux-amd - na 100% jest on dla wszystkich urządzeń AMD i działa 100/100. Reszta, tj. dostosowanie jego do Twoich potrzeb, to już Twoja sprawa. W zakresie AMD nie musisz jednak kompletnie nic kombinować.

Milczarskivon

wypowiadać się w tym wątku tylko osoby które samodzielnie skompilowały kernel pod kartę radeon

pavbaranov

Sorry, bo wkurzasz... skompilowałem kilkaset kerneli pod AMD. Zatem może w końcu zacznij współpracować, a nie p...
I może "w tym wątku wypowiadać się tylko osoby", które w ogóle wiedzą o co chodzi i dlaczego.
Sorry, szkoda czasu...

Milczarskivon

jak być miał takie doświadczenie to wskazał byś ręcznie jakie opcje dokładnie w kernelu powinny być zaznaczone nie zrobiłeś tego ---w linuxie trzeba być precyzyjnym

pavbaranov

Jasny gwint - nie wiadomo jakie, bowiem nikt nie wie jaki sprzęt masz. To jakie opcje uruchamiasz w kernelu jest pochodną sprzętu, a nie odwrotnie. Nikt też nie wie jaki config stworzyłeś dla tego kernela. I raz jeszcze, bo czytasz tylko to co chcesz: dla kart do GCN2 włącznie, w stoku graficznym te ustawienia, które dałeś są wystarczające dla obsługi tego typu kart. O tym masz już napisane wyżej i wytłumaczone co powoduje takie ustawienie, jakie obecnie masz. Masz też napisane co zrobić, by dać w kernelu również obsługę AMDGPU. Nie wiem - czytać nie umiesz? Innymi słowy - w zakresie Graphics masz już udzieloną pełną odpowiedź. Błąd leży gdzieś indziej, ale brak jest wiedzy, gdzie, bo informacji brak. Można jedynie obstawiać.
Stock Graphics to nie jest jednakże całość ustawień, które musisz mieć. Jak masz ustawione inne opcje dotyczące AMD? IOMMU? Obsługę microcode, firmware'u?
Masz nawet podrzucony config dla maszyn AMD, który obsługuje wszystkie procesory i wszystkie GPU (także APU) AMD. Po prostu skorzystaj, zwłaszcza, że ten config jest pozbawiony ewentualnych innych błędów, jakie przy konfiguracji kernela zrobiłeś. Używając tego configa wytnij sobie z niego jedynie to, czego na 100% nie potrzebujesz i kernel będzie prawidłowo skompilowany.

Fibogacci

Cytat: Milczarskivon w Maj 27, 2020, 02:09:47 AM
---w linuxie trzeba być precyzyjnym

Kolego, masz rację w tym stwierdzeniu - i jednocześnie sam do tego stwierdzenia się nie stosujesz, nie jesteś precyzyjny.

Jeśli ktokolwiek może Ci z kompilowaniem kernela pomóc na tym Forum, to jedynie pavbaranow, po pierwsze bo się zna i ma doświadczenie, a po drugie najważniejsze ma cierpliwość i chęć poświęcania swojego czasu ludziom takim jak Ty.

Ludzie z wiedzą i doświadczeniem się znajdą, ale bardzo rzadko ktoś ma tyle cierpliwości.

Więc jeśli tutaj chcesz rozwiązać swój problem, to bądź precyzyjny i skup się na temacie.

Inaczej szkoda czasu.

melis

Abstrachując, proponował bym, aby temat ten wytłuścić i dać podwieszenie - przykład, jak nie należy zadawać pytań :D autentyk.

Zobacz najnowsze wiadomości na forum