Przegląd kart graficznych dla Amigi One

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.

Radeon 7500.
Najwyższe miejsce w teście GfxBench 2D – 1223
Wynik: 1489 punktów

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.

Radeon 9000Pro
Najwyższe miejsce w GfxBench2D – 796
Wynik: 2277 punktów.

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.

Radeon X1950
Najwyższe miejsce w GfxBench2D – 201
Wynik: 5943 punkty.

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.

Najnowszy sterownik oznaczony numerem 3, dodatkowo oferuje złamanie bariery wykorzystania 256MB pamięci graficznej, która przez wiele lat była nieprzekraczalna pod AmigaOS.

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 na dzień dzisiejszy wspierana przez amigowe sterowniki (choć według planów w przyszłości ma być). 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.

Radeon HD 2400XT
Najwyższe miejsce w GfxBench2D – 1147
Wynik: 1605 punktów.

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.

RadeonHD 4890
Najwyższe miejsce w GfxBench2D – 279
Wynik: 5103 punkty.

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 5870
Najwyższe miejsce w GfxBench2D – 116
Wynik: 6790 punków.

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ć).

RadeonHD 6970
Najwyższe miejsce w GfxBench2D – 1
Wynik: 10 526 punktów.

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.

Radeon HD 7870
Najwyższe miejsce w GfxBench2D – 2
Wynik: 9339 punktów.

Polaris, czyli Radeony RX 4xx oraz RX 5xx, to hasło, które od mniej więcej roku rozgrzewało serca Amigowców. Kilka dni temu słowo wreszcie stało się ciałem i … niestety balonik brutalnie został przebity. Okazuje się, że jedynym aspektem gdzie rzeczywiście jest postęp jest Warp 3D Nova. Należy jednak zwrócić uwagę na fakt, iż Nova bardzo opornie wkracza do świata AmigaOS i jak na razie gry działające na podstawie tego rozwiązania można policzyć na palcach jednej ręki. Niestety nie ma i nie będzie klasycznego Warp 3D dla Polarisa. W przyszłości można spodziewać się wrappera Wazp 3D dla Warp 3D Nova, który powinien być lepszy i szybszy od obecnego. Czas pokaże czy tak rzeczywiście będzie. Układy Polaris nie działają w oparciu o sterownik RadeonHD, a o dedykowany driver RadeonRX. Niestety niesie 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łają. Trudno mi powiedzieć czy sterownik RadeonRX nie ma wbudowanych możliwości zawartych w RadeonHD v2, czy po prostu Mplayer skompilowany jest w ten sposób, że gdy nie wykryje obecności karty wykorzystującej sterownik Radeon HD, odmawia wyświetlania filmu w akcelerowanym trybie comp_yuv2. Pozostaje więc użycie mniej wydajnych trybów klasycznych (Problem został już rozwiązany, winowajcą okazała się być kompilacja Mplayera z włączoną detekcją Radeona HD, która blokowała wykorzystanie tych trybów na innych kartach graficznych). Dodatkowo sterownik RadeonRX obsługuje mechanizmy oszczędzania energii Polarisa, te włączają się np. w momencie, gdy Polaris nie używa transferów DMA. Ponieważ graphics.library dla komputerów A1 X5000 nie korzysta jeszcze z DMA, a z kolei (mająca wsparcie dla DMA) A1 X1000 ze względu na kiepski firmware nie jest na obecną chwilę w stanie wykryć podłączonego Polarisa, nowa karta w zasadzie cały czas w trybach 2D działa na pół gwizdka”. Jeśli dodamy do tego fakt, że AmigaOne X1000 może dodatkowo skorzystać z Mplayera skompilowanego na potrzeby procesora posiadającego wsparcie jednostki Altivec, to okazuje się, że maszyna, która w większości testów praktycznych jest od 40% do 100% wolniejsza od wydajnej X5000, w przypadku odtwarzania typowego materiału wideo 720p, może poszczycić się dwukrotnie mniejszym wskaźnikiem zajętości zasobów procesora. Innym problemem, którego doświadczyłem w przypadku mojego ASUSa RX 560 (choć podobno objawia się także w przypadku części kart z rodziny Southern Islands), jest brak inicjalizacji karty graficznej po wykonaniu miękkiego resetu. Jak wiadomo 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. Niestety w przypadku niektórych modeli Polarisa, takiej alternatywy nie ma nigdy. 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.

Radeon RX 580
Najwyższe miejsce w GfxBench2D – 139
Wynik: 6490 punktów.

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. Nie ma jednak wątpliwości, że najbliższą przyszłością jest Polaris. Na horyzoncie rysuje się premiera komputerów AmigaOne A1222 i AmigaOne X5000 040 i trudno sobie wyobrazić by nowy sprzęt na gwarancji, mógł być dystrybuowany wraz z używanymi kartami graficznymi. Trzeba więc mieć nadzieję, że problemy RX 5xx, które zasygnalizowałem w niniejszym tekście, wkrótce staną się melodią przeszłości. Segment oprogramowania 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.

Plany rozwoju amigowych sterowników dla Radeonów

O Mufa