Wstęp
Karty graficzne ze stajni AMD są elementem niemal 100% konfiguracji sprzętowych, na których pracuje AmigaOS 4.1. Na początku ubiegłego dziesięciolecia, w momencie, kiedy rozpoczynano pracę nad czwartą wersją systemu Amigi szczytem możliwości technicznych były pierwsze Radeony 7000, produkowane wówczas jeszcze pod szyldem ATI. Od tego momentu minęło kilkanaście lat i zarazem kilkanaście generacji kart graficznych. Modeli obsługiwanych przez nowe Amigi można by naliczyć przynajmniej kilkadziesiąt, jednocześnie w zależności od rodziny, do której należą, różnią się poziomem wsparcia oferowanym przez AmigaOS. Mniej doświadczony Amigowiec może w tym wszystkim się pogubić, zwłaszcza że sytuacja na tym polu zmienia się jak na warunki amiświatka całkiem dynamiczne. Postanowiłem więc napisać tekst, który przybliży wady i zalety Radeonów, które możemy zaprząc do pracy z Amigą.
Dawno, dawno temu, czyli Radeon 7000 – 9250
Radeon 7000, znany wcześniej jako Radeon 256 (nazwa została zmieniona by nie kojarzyła się z produktem głównego rywala GeForce 256), to pierwszy układ ATI, który został wzbogacony o T&L Engine (procesor zajmujący się oświetleniem i transformacjami geometrycznymi). Produkt debiutujący w 2000 roku był pierwszym przedstawicielem rodziny R100 oraz marki Radeon, która wespół z marką NVidia, jest dziś synonimem pojęcia karty graficznej. Był to również pierwszy, obok Voodoo układ wspierany przez system AmigaOS 4.0. Pracował w oparciu o magistralę PCI bądź AGP, a swoją największą popularność na naszej platformie święcił w pierwszej połowie minionej dekady. Dzisiaj praktycznie jest ciekawostką, której prawie nikt nie używa. Wyjątkiem posiadacze stareńkiej MicroA1, gdzie Radeon 7000 z 32MB pamięci graficznej jest wbudowany na stałe. Seria R100 występowała w wersjach z 32MB bądź 64MB VRAMu. Obok Radeona 7000 istniały też szybsze odmiany w postaci Radeona 7200 i najwydajniejszego Radeona 7500, który co ciekawe występował pod nazwą kodową Rv200 (mimo iż w rzeczywistości nadal należał do rodziny R100). Nadmienię, że największy atut tej serii, czyli wspomniany T&L Engine, nie działa ze sterownikami dla AmigaOS. Działa natomiast akceleracja 3D, realizowana przez klasyczny Warp 3D, a także systemowa kompozycja obrazu. Niemniej to samo uzyskamy też w przypadku zdecydowanie bardziej polecanych następców w postaci R200.
Rodzina R200 była przez dosyć długi czas podstawową serią kart graficznych używanych z Amigą NG, a w przypadku części starszych konstrukcji taką rolę pełni do dziś. Główną nowością względem poprzedniej generacji, było wprowadzenie silników graficznych Pixel Shader i Vertex Shader. Niestety podobnie jak w przypadku T&L, tej technologii nie potrafi wykorzystać klasyczny Warp 3D, a tylko w tym środowisku realizowane jest wsparcie dla tych kart pod AmigaOS. Teoretycznie więc z punktu widzenia Amigowca, niewiele różnią się od R100. W praktyce jednak różnice są istotne. Jeśli nie można liczyć na wsparcie wbudowanych silników, trzeba liczyć na brutalną moc rdzenia GPU oraz prędkość taktowania pamięci graficznej. Ta oczywiście jest wyższa w przypadku młodszej generacji. Niestety flagowy produkt o najwyższych osiągach, czyli Radeon 9100 (sprzedawany wcześniej jako Radeon 8500), z niewyjaśnionych powodów nigdy nie doczekał się jakiegokolwiek wsparcia 3D pod AmigaOS. Amigowcy skazani są więc na chipset Rv 250 (Radeon 9000) bądź Rv 280 (Radeon 9200 & 9250). Za najszybsze karty w realiach amigowych uchodzi Radeon 9000 w wersji Pro, który zazwyczaj może pochwalić się największymi liczbami obrazującymi taktowanie rdzenia i pamięci. Tej pamięci ma jednak stosunkowo mało. Często zdarzają się wersje z 64MB RAMu, a maksymalna wielkość i zarazem jedyny sensowny wybór to 128MB. Drugą opcją, która warto rozważyć jest Radeon 9250. Teoretycznie Radeony 92xx były najmniej wydajnymi przedstawicielami rodziny, aczkolwiek Radeon 9250 zadebiutował najpóźniej, bo w połowie 2004 roku i był produkowany jeszcze przez kilka następnych lat jako karta budżetowa, będąca alternatywą dla droższych układów z serii R300 i R400. Oznacza to, że dotrwał do czasów, kiedy standardem stało się 256MB VMem. Jednakowoż, jeśli trafimy na taką wersję, wcale nie ma pewności, iż cała dostępna pamięć będzie widoczna pod Amigą. Aby cała pamięć graficzna była wykryta, karta musi ją mieć zamontowaną w jednym banku, przy czym jedynym skutecznym sposobem na sprawdzenie w ilu bankach znajduje się pamięć, jest jej wpięcie w płytę główną. Nie ma co liczyć na tak szczegółowe informacje zamieszczone w instrukcjach, na pudełkach itp. Warto też dodać, że reguła, iż 9250 jest słabszy niż 9000Pro nie zawsze musi się sprawdzać. Z uwagi, iż młodszy z braci był produkowany przed dosyć długi okres, przez wielu producentów, a chipsety Rv 250 i Rv 280 mają niemalże bliźniacze osiągi, można niekiedy trafić na fabrycznie podbite modele Radeona 9250, które niczym nie ustępują typowemu Radeonowi 9000Pro. Na koniec dodam, że w momencie premiery AmigaOS 4.1, Radeon 9250 zyskał status oficjalnie polecanej przez producenta systemu i w związku z tym jest najczęściej spotykaną kartą graficzną stosowaną w komputerach Pegasos II, AmigaOne XE czy Sam 440 Flex. Kilka lat temu w wersji PCI bywał przez część użytkowników montowany w A1 X1000. Mobilny przedstawiciel tej rodziny był też na stałe wlutowany w płytę główną komputera SAM 440EP.
Wczoraj, czyli Radeon X1000 – HD 6000
By niepotrzebnie nie rozwlekać artykułu, postanowiłem przeskoczyć opis kolejnych dwóch generacji Radeona, czyli R300 i R400. Powód jest prozaiczny, są to karty dosyć słabo wspierane (działają jedynie w trybie 2D), a zarazem dosyć leciwe. Ich rynkowy byt przypadał na czas, w którym nie debiutowały nowe sprzęty amigowe, to też karty te poza incydentalnymi przypadkami w zasadzie nie były używane przez Amigowców. Poniekąd podobna sytuacja była z serią R500 (Radeon X1300 – X1950), która największe rynkowe triumfy święciła w okolicach 2007 roku. Siłą rzeczy te jednostki nie mogły być sprzedawane z żadną Amigą, były to już wszak czasy magistrali PCI-E, a pierwsza amigowa maszyna wyposażona w to złącze, czyli SAM460 weszła na rynek dopiero w 2010 roku. Niemniej warto wspomnieć o tej rodzinie przynajmniej z dwóch powodów. Pierwszym z nich jest fakt, iż są to ostatnie układy wyposażone przez producenta w dedykowany blitter 2D. W praktyce oznaczało to, że X1950 brylował w amigowych benchmarkach 2D, nawet w czasach gdy wiodącą serią były układy HD4xxx. Drugi to fakt, iż karty od X1300 do X1950 są wspierane przez amigowy sterownik Radeon HD v3, co nie jest udziałem dwóch kolejnych generacji chipów graficznych AMD.
W tym momencie należałoby odejść od tematów czysto sprzętowych i wyjaśnić kwestię amigowych sterowników dla Radeonów HD (plus X1xxx). Otóż driver RadeonHD występuje w czterech wersjach:
Wersja 0.xx jest integralną częścią systemu AmigaOS 4. Posiada jednak bardzo skromne możliwości, które ograniczają się jedynie do wyświetlania obrazu, bez akceleracji 2D i trybów kompozycji. Dodatkowym ograniczeniem jest bariera maksymalnej rozdzielczość do standardu HD Ready. W praktyce oznacza to, że ten sterownik przydaje się w zasadzie jedynie do instalacji systemu, po czym zastępowany jest lepszą wersją. Na szczęście aktualny producent komputerów AmigaOne, A-EOn dołącza płytę ze sterownikami Radeona HD dla swojego sprzętu. Problem mogą mieć posiadacze Amigi One 500 od ACube, którzy za nowsze sterowniki muszą dodatkowo zapłacić.
Wersja 1.xx to sterownik do podstawowych zastosowań, który dobrze sprawdza się w codziennej pracy. Posiada wsparcie dla akceleracji 2D z uwzględnieniem trybów kompozycji obrazu. Jest też w pełni dostosowany do pracy ze sterownikami 3D działającymi w oparciu o klasyczne Warp 3D oraz Warp 3D Nova. Oczywiście nie posiada ograniczeń względem rozdzielczości wyświetlanego obrazu.
Odsłona 2.xx charakteryzuje się wszystkimi cechami poprzednika, plus dodatkowo posiada akcelerację wyświetlania plików wideo realizowaną w trybie kompozycji. Daje to dosyć znaczną korzyść w momencie odtwarzania filmów, jednakowoż nie odciąża całkowicie procesora i nie jest równoznaczne ze sprzętowym dekodowaniem wideo UVD. Na okiełznanie tej technologii AMD w świecie Amigi ciągle jeszcze czekamy.
Sterownik oznaczony numerem 3, dodatkowo oferuje złamanie bariery wykorzystania 256MB pamięci graficznej, która przez wiele lat była nieprzekraczalna pod AmigaOS.
Ostatnią generacją sterownika jest Radeon HD v5. Od poprzedników różni się kilkoma cechami. Przede wszystkim podobnie jak w przypadku sterownika dla kart z rodziny Polaris, udostępnia akcelerację wideo realizowaną przez GPU. Jednak w tym przypadku nie dotyczy to rozdzielczości 4K, a część użytkowników skarży się nawet na FullHD. Drugą cechą na plus jest wsparcie dla technologii dynamicznej alokacji pamięci GART (Graphics Address Remapping Table), co pozwala osiągnąć lepszą wydajność w grach 3D. Niestety ta wersja wnosi ze sobą też kilka minusów, takich jak brak miękkiego resetu, czy utrata kompatybilności ze starszymi kartami niż seria HD 7000.
Powracając do tematu sprzętu, w przypadku rodziny Radeonów R500, support przez sterownik v3 oznacza, że można wykorzystać dodatkową pamięć na karcie. Należy jednak przypomnieć, że są to dosyć stare chipy, więc niekoniecznie musimy trafić na egzemplarz, wyposażony w maksymalną dla tej rodziny wielkość pamięci RAM 512MB. Często można spotkać wersje z 256MB, a czasami nawet ze 128MB. Wówczas z zalet nowego sterownika i tak nie skorzystamy, dodatkowo należy wspomnieć, że pomimo oficjalnego wsparcia A-EON wyraźnie zaznacza, iż nie rekomenduje używania tych kart.
Radeon HD 2000 to legendarna seria AMD, która wprowadziła pod strzechy Unified Video Decoder (UVD), co umożliwiło odtwarzanie materiałów wideo HD nawet na słabszych maszynach. Niestety jak już wspomniałem wcześniej technologia ta nie jest i raczej nie będzie wspierana przez amigowe sterowniki w przypadku tej rodziny. W praktyce więc, w realiach amigowych karty z tej serii nie mają żadnych zalet, a wręcz wady względem poprzednika. Mam tu na myśli brak oficjalnego wsparcia przez sterownik RadeonHD v3, a także wolniejsze osiągi w trybach 2D. Jedynym powodem, dla którego wspomniałem o Radeonach HD 2xxx, jest fakt, iż w pierwszych miesiącach po debiucie SAM460, karty te były sprzedawane z tą płytą główną. Szybko jednak z nich zrezygnowano i np. w komputerze AmigaOne 500 stosowano Radeona HD 4650.
Przeskok nastąpił z pominięciem Radeonów HD 3xxx, które w zasadzie nie zaistniały w świecie AmigaOS, zatem i my od razu przejdźmy do następnej serii, czyli R700. HD 4xxx, to chyba pierwsza generacja Radeona HD, która zdobyła na Amidze dużą popularność. Wiązało się to głównie z maszynami SAM460ex / AmigaOne 500 oraz poniekąd z budzącą wielkie emocje Amigą One X1000. Początkowo to właśnie Radeon tej generacji stał w specyfikacji tego komputera. W praktyce jednak „czterytysiączki„ były używane głownie przez betatesterów, gdyż w momencie premiery X1000 na rynku konsumenckim w styczniu 2012r, koniecznością stało się montowanie HD 5000 (bo zaprzestano produkcji poprzednika). Od strony praktycznej, należy wspomnieć, że ta rodzina posiada wsparcie dla wszysktich wersji sterownika. Zatem dostępna jest uproszczona akceleracja wideo, jak i możliwość wykorzystania do 1GB RAMu, gdyż więcej fizycznie jeszcze nie montowano. Przy tej okazji warto też wspomnieć, że pamięć na kartach graficznych występuje w wersjach DDR3 i GDDR 5. Z Amigą współpracują tylko modele oparte na GDDR 5.
HD 5000 to jak wspomniałem oficjalna karta Amigi One X1000 (potem zastąpiona przez HD 6000). Posiada dokładnie te same zalety i wady co poprzednik. Przy czym były to układy szybsze, co dobrze obrazowały amigowe benchmarki, gdzie staruszek X1950 nareszcie znalazł swojego pogromcę. Podskoczyła także ilość montowanej pamięci, topowe modele miały 2GB na pokładzie.
Radeon HD 6000 to ostatnia rodzina, którą zaliczyłem do działu „wczoraj”. W realiach amigowych jest to bowiem bardzo podobna karta do swoich poprzedników, przy czym zgodnie z prawami postępu technologicznego, znowu są to układy szybsze. Topowy przedstawiciel serii Radeon HD 6970 do dnia dzisiejszego pełni rolę lidera w amigowym benchmarku GFXBench 2D, będąc jedyną kartą, której udało się dotąd przekroczyć magiczną granicę 10 tysięcy punktów. Radeony HD 6xxx, to też jednocześnie ostatnie układy wspierające tryb obrazu 16bit Big Endian. Był to bardzo mało popularny tryb, w systemie amigowym używany przez mniej niż 1% programów. Niemniej wśród tych promili znalazł się „dawca oprogramowania AAA„ – środowisko Amicygnix, co często było bólem dla posiadaczy kolejnych generacji Radeonów (na szczęście problem z niekompatybilnymi trybami AmiCygnixa niedawno udało się rozwiązać).
Wszystkie karty, choć z roku na rok co coraz lepsze miały jedną potężna wadę względem staruszków R100 i R200. Był nią brak pełnoprawnego wsparcia akceleracji 3D. Opisałem już jak wygląda sytuacja z amigowymi sterownikami 2D, pora uzupełnić ją o drivery 3D.
Warp 3D – prymitywne środowisko 3D, które narodziło się przed 20 laty na potrzeby obsługi akcelerowanej grafiki 3D dla Amigi klasycznej wyposażonej w jednostki CyberVision 3D czy Permedia 2. Działa głównie z wykorzystaniem biblioteki MiniGL, gdzie przedrostek „Mini„ nie jest przypadkowy.
Wazp 3D – emulator Warp3D realizowany w oparciu o rozwiązania grafiki 2D, między innymi trybu kompozycji obrazu.
Warp 3D Nova – najbardziej zaawansowane rozwiązanie amiświata. Potrafi współpracować z biblioteką OpenGL ES 2, wykorzystuje silniki Shader i T&L oraz kilka innych nowoczesnych technologii.
W przypadku układów X1xxx – HD 6xxx, można liczyć tylko na Wazp 3D. Niestety nie jest to rozwiązanie doskonałe, w miarę szybko pracuje jedynie w trybie kompozycji, przy czym należy podkreślić, że jest to najmniej kompatybilny z trzech oferowanych trybów pracy Wazp 3D. Generalnie dobrze się sprawdza przypadku oprogramowania, które co prawda korzysta z akceleracji GL, jednak w rzeczywistości jest „dwuwymiarowe„ że wymienię grę Hurrican czy program Blender. Jednak z im bardziej zaawansowanych technologii grafiki trójwymiarowej korzysta program czy gra, tym większa szansa, że Wazp 3D nie sprosta zadaniu, co objawi się np. przekłamaniami grafiki czy powolnym działaniem. Program konfiguracyjny Wazp 3D ma mnóstwo opcji, w których łatwo się pogubić (choć na szczęście w archiwum znajdziemy gotowe pliki konfiguracyjne skrojone pod potrzeby najpopularniejszych gier i programów). Po co jednak się męczyć i kombinować? Wystarczy przecież skorzystać z nowocześniejszych rozwiązań AMD, które na szczęście są wspierane przez realne Warp 3D.
Dziś, czyli Radeon HD 7xxx – RX 5xxx
Rodzina Southern Islands czyli jednostki Radeon HD 7xxx wraz z bliźniaczym Rx 200 (Radeon R7 xxx i R9 xxx), to zdecydowanie najlepiej wspierane układy w środowisku AmigaOS 4.1. Działa tutaj każda opcja 3D. Zagramy więc w starego Return To Castle Wolfenstein, czy Jedi Academy z wykorzystaniem klasycznego Warp 3D, jak i w Spencera czy Amicrafta pod Warp 3D Nova. Oczywiście w pełni działają też wszelkie opcje 2D i trzeba powiedzieć, że są to układy naprawdę szybkie. Wspominałem co prawda, że w przypadku testu GFXBench 2D palmę lidera dzierży Radeon HD 6970, jednak warto nadmienić, że jest to jeden jedyny rodzynek, pozostałe 19 miejsc w pierwszej dwudziestce okupowane jest przez karty R9 bądź HD 7800. W chwili, gdy pisze te słowa, czyli 28 października 2018 roku Radeon R7 jest oficjalną kartą graficzną sprzedawaną wraz z komputerem AmigaOne X5000. Należy jednak mieć świadomość, że ta grafika nie jest już produkowana, a zapasy magazynowe kiedyś muszą się skończyć. Jest więc bardzo prawdopodobne, że bardzo szybko specyfikacja X5000 ulegnie zmianie i R7 zostanie zastąpiony przez kartę z rodziny Polaris. Brak nowych produktów na rynku jest w zasadzie jedyną wadą tej serii, jeśli jednak uda Wam się jeszcze gdzieś zdobyć nowego R7 czy R9 na gwarancji, to radzę brać, bo na obecną chwilę nie ma lepszego rozwiązania dla komputerów AmigaOne ze złączem PCI-E.
Polaris, czyli Radeony RX 4xx oraz RX 5xx, to hasło, które od mniej więcej roku rozgrzewało serca Amigowców, wreszcie jesienią 2018 stało się faktem …..
Układy Polaris nie działają bazując na sterowniku RadeonHD, a wykorzystują dedykowany driver RadeonRX. Z początku niosło to ze sobą pewne konsekwencje. Specjalne tryby odtwarzacza Mplayer, dostosowane do możliwości sterownika Redeon HD v2, wspierającego wyświetlanie filmów nie działały, choć potem pojawiły się kompilacje wspierające tryb kompozycji obrazu także przy wykorzystaniu Polarisa. Taki tryb posiada też alternatywny odtwarzacz Emotion, zapewne jednak mało kto będzie z niego korzystał, gdyż najnowsza odsłona tego odtwarzacza (jak również najnowsza odsłona konkurencyjnego DvPlayera) posiada także wsparcie dla pełnej akceleracji sprzętowej opartą o zupełnie nową bibliotekę va.library (video acceleration library), która wykorzystuje do dekodowania obrazu moc GPU Polarisów. Oznacza to w praktyce, iż podczas odtwarzania filmów HD, procesor CPU niemalże w ogóle nie jest obciążany, a całość obliczeń, podobnie jak ma to miejsce na wiodących systemach graficznych, przejmuje układ GPU. Dzięki temu rozwiązaniu można bezproblemowo i płynnie odtwarzać filmy FullHD czy 4k. Niestety karty z tej rodziny poza zaletami mają też swoje wady. Pierwszą i najbardziej odczuwalną jest brak resetowania grafiki po wykonaniu miękkiego resetu. Używając Polarisów trzeba więc koniecznie wykonywać pełen twardy reset komputera. AmigaOS jest systemem bez ochrony pamięci, gdzie wykonanie resetu bywa niekiedy koniecznością. Reboot po miękkim resecie to czas kilku sekund, hard reset wydłuża ten proces o kilkaset procent. Nikt więc nie wykonuje go o ile nie przydarzy się naprawdę poważna zwiecha niedająca żadnej alternatywy. Drugą wadą, która wynika nie tyle z winy Polarisów, co z winy niezbyt udanego firmware, jakim jest CFE, jest połowiczne wsparcie dla komputerów AmigaOne X1000 (nie widać ekranu firmware, jednak widać obraz pod systemem AmigaOS). Na koniec warto wspomnieć, że karty RX 4xxx słynęły z „palenia„ płyt głównych. W świecie pecetów, gdzie koszt takiej płyty to najczęściej kilkaset złotych, można było jeszcze podjąć ryzyko, w realiach cenowych Amigi byłoby to szaleństwem, więc absolutnie warto skupić się jedynie na rodzinie RX 5xx. Warto też zaznaczyć, że od niedawna dostępne jest dla Amigi narzędzie „Power„, które pozwala na regulację ustawień poboru mocy DPM (Dynamic Power Managment), zarówno dla Polarisów, jak i starszych Radeonów HD, co niewątpliwie podnosi nieco bezpieczeństwo, jak i sam komfort pracy z obiema rodzinami kart AMD.
Aktualizacja 28.10.2022
Na przełomie 2019 i 2020 roku swą premierę miał darmowy pakiet MiniGL4GL4ES, w skład którego wchodzą nowe zamienniki bibliotek Minigl i Mglut, pracujące w oparciu o nową bibliotekę OpenGL ES 2, dzięki temu możliwe jest uruchamianie gier stworzonych dla starego środowiska jak np. Jedi Academy (jest też już odsłona dla Warp 3D) czy Shogo. Powstała też eksperymentalna wersja Wazp 3D dla Warp 3D Nova, jednak pozostawia wiele do życzenia. MiniGL4GL4ES, można jednak spokojnie używać w duecie ze starszymi wydaniami Wazp 3D, wszystko powinno wyświetlać się dużo lepiej i działać nieporównywalnie szybciej w porównaniu do osamotnionego Wazp3D, na którego skazani są posiadacze starszych Radeonów HD. Kilka dni temu premierę miała także komercyjna biblioteka Nova Bridge, będąca znacznie lepszą alternatywą dla MiniGL4GL4ES, a nawet lepszą niż Warp3D SI dla Radeonów Southern Islands. Recenzji tego pakietu możecie spodziewać się wkrótce.
Podsumowanie
Pomimo braku wsparcia dla układów NVidii, w teorii Amigowcy mogą przebierać w szerokim spektrum rozwiązań konkurencyjnego AMD. W praktyce jednak rozsądny wybór ogranicza się do rodziny R200 w przypadku starszych maszyn ze złączem AGP i Southern Islands w wypadku Amig wyposażonych w PCI-E. Tak przynajmeniej sytuacja prezentowała się w 2019 roku, kiedy pisałem pierwszą wersję artykułu. Na dziś optymalnym wyborem jest Polaris. Niedawno swą premierę miał komputer AmigaOne X5000 040, a na horyzoncie rysuje się premiera komputerów AmigaOne A1222 i trudno sobie wyobrazić by nowy sprzęt na gwarancji, mógł być dystrybuowany wraz z używanymi kartami graficznymi. Niewykluczone, że w przyszłości doczekamy się obsługi kolejnych generacji GPU i kolejnych nowych „ficzersów„. Oprogramowanie kart graficznych dla AmigaOS jest akurat jednym z najlepiej wspieranych finansowo i co za tym idzie najdynamiczniej rozwijanym na przestrzeni ostatnich lat. Jeśli więc bez przesadnego hurraoptymizmu można gdzieś liczyć na realny postęp, to właśnie tutaj.
Dzięki za świetny artykuł. Jest naprawdę dobrze napisany i dzięki temu doskonale porządkuje wiedzę w temacie.