AmigaOS 4.1 FE Uaktualnienie 2 + Enhancer Software 2.0 cz. II

Po dokonaniu aktualizacji systemu operacyjnego modernizującego szereg mechanizmów wewnętrznych, tak jak reszta amigowców z niecierpliwością czekałem na pakiet A-EONu, mający być swego rodzaju naturalnym uzupełnieniem o zmiany „na wierzchu”, które każdy użytkownik „OS czwórki” od razu dostrzeże i doceni. Po trzech miesiącach, a konkretnie 28 marca 2021 kilkukrotnie przekładana premiera Enhancer Software 2.0 nareszcie stała się faktem.

Ochoczo zabrałem się więc do instalacji… i niestety już na tym etapie nastąpił pierwszy zgrzyt. Zaraz na początku tego procesu instalator wywoływał zamiennik dla systemowego Multiviewa, czyli program Multiviewer, który z kolei powodował wywołanie okna GrimReapera. Doświadczony użytkownik AmigaOS 4, doskonale wie, że komunikat GR, często nie musi oznaczać tragedii i po wybraniu opcji „Ignoruj błędy”, można dalej bezproblemowo pracować z daną aplikacją. Zatem licząc na to, że „ignore errors” umożliwi mi przejście do kolejnych kroków instalacji, machinalnie skorzystałem z tej opcji. Ku mojemu zaskoczeniu efekt był odwrotny do zamierzonego, gdyż nastąpiła w tym momencie poważna zwiecha (taka wymagająca twardego resetu). Dla pewności, czy to aby nie przypadek powtórzyłem próby instalacji w ten sam sposób jeszcze dwukrotnie, za każdym razem z tym samym finałem. Ostatecznie skutecznym remedium na instalację pakietu było zignorowanie samego GrimReapera. Nie skorzystałem więc z żadnej z opcji, które tenże oferuje, a jedynie przesunąłem jego okno, które zachodziło na okno instalatora i w ten sposób przeprowadziłem proces do końca.

Enhancer Software 2.0 – rozpoczynamy proces instalacji.

Niewątpliwą zaletą instalatora ES, jest opcja wykonania backupu plików, które mają zostać nadpisane, z której należy bezwzględnie skorzystać (w razie problemów backup znajdziemy w systemowym katalogu storage). Sam proces, wzorem tego, co znamy już od czasów Commodore może przebiegać w trzech trybach i nawet początkującym użytkownikom odradzałbym wybór trybu dla początkujących. Domyślnie proponowanym trybem jest „średnio zaawansowany”, w tym wypadku jesteśmy już pytani praktycznie o każdy element. Ja osobiście w celach testowych każdorazowo wyrażałem zgodę na kopiowanie rozwiązania od A-EONu (wyjątkiem X-Dock, do którego zniechęciłem się już na etapie poprzednich odsłon ES). Natomiast użytkownikom z niewielkim doświadczeniem, sugerowałbym raczej wybory przeczące. Oczywiście kluczowe elementy, takie jak sterowniki graficzne, będące siłą tego pakietu, bezwzględnie należy instalować. Jednak A-EON z sobie tylko znanych powodów, próbuje zastępować nawet drobne od lat dobrze sprawujące się elementy AmigaOSu. Takie rzeczy jak np. komendy DOSu, kuszą użytkownika nowszym numerkiem wersji, jednak wcale nie musi się to wiązać z lepszym działaniem, wręcz przeciwnie często nadpisanie tych elementów może powodować problemy. Jako przykład mogę tutaj przytoczyć komendę version. To, co znajdziemy w systemie nosi numer 53.10, odsłona od A-EONu z numerkiem 54.8 wręcz prosi się o instalację (wszak numeracja v54, to domyślnie numeracja związana z AmigaOS 4.2). Cóż z tego, skoro w praktyce, 54.8 nawet radzi sobie z typowymi bibliotekami czy komendami, ale już np. miewa problemy z rozpoznawaniem wersji elementów Kickstartu. Dochodzi więc w tym wypadku do kuriozalnej sytuacji, kiedy version dołączony do ES, nie może rozpoznać elementów zawartych w samym Enhancer Software. Tak dzieje się np. z przypadku sterownika graficznego dla Radeona RX. Doświadczając pewnych problemów ze stabilnością działania akceleracji wideo (o czym w dalszej części tekstu), chciałem sprawdzić, czy aby na pewno instalator skopiował najnowszą wersję tego sterownika. By tego dokonać musiałem jednak wrócić do hyperionowskiej odsłony komendy version, co dobrze widać na poniższym zrzucie ekranowym.

Sprawdzanie wersji sterownika Radeon RX, odpowiednio przy użyciu zamiennika z ES 2.0 (u góry) i oryginalnej komendy z systemu AmigaOS 4.1 FE U2 (na dole).

Kończąc temat instalacji należałoby także zamknąć temat problemów Multiviewera, bo ten jak się domyślacie nie tylko zawieszał mi się w czasie wywoływania przez instalator, ale przy każdym uruchomieniu już podczas codziennej pracy. Przyczyną najwyraźniej był drawing.datatype, który bez względu na to, czy chcieliśmy przeglądać grafiki wektorowe, czy coś kompletnie innego demolował tę przeglądarkę. Na szczęście w kilka dni od premiery ES, na serwerze OS4Depot pojawiła się nowa wersja tego datatypu , po jego zainstalowaniu problem zniknął.

Czytając powyższy wstęp możecie odnieść wrażenie, że potępiam w czambuł wszystkie zamienniki systemowych elementów zawartych w oryginalnym AmigaOS. Nic bardziej mylnego są rzeczy, których używam od dłuższego czasu i mogę je zapisywać ewidentnie po stronie plusów. Właśnie wspomniany Multiviewer, jest tego najlepszym przykładem. Przy nim Multiview wygląda jak ubogi krewny z początku lat 90-tych. Multiviewer charakteryzuje się przyjaznym GUI, z czytelnym toolbarem, osobną sekcją wyświetlającą miniatury plików, pracą na zakładkach, czy korzystaniem z nowych technologii, takich jak złamanie ograniczeń podsystemu graficznego Picasso 96, co umożliwia korzystanie z pamięci graficznej wykraczającej poza barierę 256MB. O wszystkich tych cechach opowiadałem już jednak w poprzednich recenzjach. Co nowego teraz? Hmm skok numeru wersji z 2.22 na 3.7 sugeruje sporą liczbę zmian. Jednak jak już wspominałem w poprzedniej części, A-EON w przeciwieństwie do Hyperionu szczegółowej listy usprawnień nie udostępnia. Można jedynie opierać się na zdawkowych opisach branych z newsów, tudzież krótkich notek niekiedy publikowanych w ramach narzędzia Updater. Nie pozostało mi zatem nic innego jak śledztwo metodą „na oko”. W tym celu obok X5000 uruchomiłem też X1000, gdzie wciąż mam zainstalowaną poprzednią wersję Enhancera i po prostu porównałem wersję 3.7 z wersją 2.22 uruchomioną na drugim monitorze. Zmiany, które zauważyłem to inny nieco ładniejszy toolbar, w którym ikony są teraz wyświetlane bez ramek. No ale to nie było niespodzianką, gdyż A-EON chwali się tym, że program korzysta teraz z nowego gadżetu Reaction toolbar.gadget. Drugą zmianą, którą zauważyłem jest większa liczba formatów zapisu plików. W przypadku plików graficznych mamy teraz możliwość zapisu do 10 różnych formatów (poprzednio było ich pięć). Część jest realizowana przez nowy zestaw datatypów ak-datatypes. No ale o datatypach napiszę następnym razem przy okazji części trzeciej. Zmian zapewne jest znacznie więcej, jednak bez odpowiedniej dokumentacji, trudno wymienić mi tutaj kolejne konkrety.

Multiviewer – rozszerzone możliwości zapisu plików.

Kolejnym zamiennikiem, którego można instalować w ciemno jest Multiedit, wyręczający w działaniu systemowego Notepada. Tutaj też skok wersji jest poważny z 1.13 do 2.9. Również w tym przypadku apka korzysta z nowego paska narzędziowego. Zauważyłem też, że znowu zaczął działać dostęp do recentu ostatnio edytowanych plików, z czym były problemy w kilku ostatnich odsłonach. Należy tylko zadbać o ustawienie konkretnych tooltypów, czyli obok pozycji Recent, która domyślnie jest aktywna zmienić wartość RECENTENTRIES z „0” np. na 5. Warto także pamiętać o zmianie proponowanego kodowania znaków z ISO-8859-15 na ISO-8859-2. Kończąc ten wątek dodam, że tekst, który teraz czytacie został napisany właśnie za pomocą tego edytora.

Tworzenie bloga od kuchni. Tekst napisany przy użyciu edytora Multiedit, przeklejony do wstępnej korekty.

Pora przejść do flagowej funkcjonalności Enhancer Software, którą niezmiennie jest wsparcie dla układów graficznych AMD. W wersji 2.0 nie zabrakło nowości naprawdę dużego kalibru. Pierwszą, bez wątpienia najważniejszą jest wsparcie dla sprzętowego dekodowania wideo. Wszystko za sprawą zupełnie nowej biblioteki VA.library. Dzięki niej całość procesu dekodowania filmów bierze na siebie układ GPU. Wcześniej dostępne rozwiązania były jedynie półśrodkami w postaci akceleracji wyświetlanego obrazu za pomocą systemowego mechanizmu kompozycji, które jednak nie miały nic wspólnego z prawdziwym UVD. Wystarczy wspomnieć, że na najlepiej do niedawna przystosowanym komputerze do tego celu, czyli Amidze One X1000, (która pomimo dwukrotnie wolniejszego procesora względem X5000 040, pokazywała tutaj pazurki dzięki CPU z Altivecem oraz graphics.library z obsługą DMA), można było pokusić się o oglądanie niektórych filmów FullHD, ale naprawdę nielicznych zakodowanych z użyciem najlżejszych kodeków, a i tak odbywało się to kosztem olbrzymiego obciążenia procesora. Rzecz jasna obsługa wideo w rozdzielczości 4k była czystym sci-fi. W przypadku Amigi One X5000 było jeszcze gorzej i wszystko, na co mogliśmy liczyć przy użyciu dotychczasowych mechanizmów, to rozdzielczość 720p.

Nowy mechanizm powoduje, że w zasadzie żadna rozdzielczość filmu Amidze niestraszna. CPU i tak odpoczywa, wystarczy wspomnieć, że w przypadku odtwarzania materiałów FullHD wskaźnik zajętości procesora wyświetlany przez CPU_Temp.docky wzrasta z 1% do około 5%, dla porównania podobne skoki notuję w tym momencie, gdy podczas pisania towarzyszy mi muzyka z radia internetowego przesyłana za pomocą TuneNet. Odrobinę większe wskazania są wyświetlane przy okazji odtwarzania filmów 4K, wówczas zajętość procesora oscyluje w okolicach 9% – 12%. To jednak nadal tyle, co nic. Reasumując funkcjonalność na piątkę i choćby dla niej warto zaopatrzyć się w ES 2.0. Należy jednak wspomnieć, że jak dotąd biblioteka wykorzystuje jedynie moc GPU Polarisów (pogłoski mówią, że w przyszłości dodana zostanie także obsługa Radeonów z rodziny Southern Island) i na razie współpracuje z nią jak jedynie odtwarzacz Emotion, który w przeciwieństwie do popularnego MPlayera nie jest narzędziem bezpłatnym. Jeśli dysponujemy Radeonem RX (rodzina Polaris) i zainstalowanym playerem Emotion, to musimy jeszcze tylko sprawdzić, czy włączyliśmy UVD (tooltyp VAAPIAccel = TRUE), nie musimy wyłączać poprzedniej metody akceleracji (YUVAccel = TRUE). Co prawda obciążenie mojej konfiguracji przy oglądaniu filmów jest teraz na tyle małe, że nie zauważyłem czy ta opcja dodatkowo w czymś pomaga, ale na pewno w niczym nie przeszkadza. Jedyna funkcja, która powinna być wyłączona to odtwarzanie software’owe (ForceSoftware = FALSE). Poniżej przykład dwóch filmów 4K odtwarzanych na mojej Amidze.

Do dobrej tradycji należy aktualizacja sterowników 3D przy każdym kolejnym wydaniu ES. Nie inaczej było i tym razem, zaktualizowana została biblioteka Warp3DNova.library do wersji 1.83 oraz Ogles2.library do wersji 3.1. Jak pisze jeden z betatesterów tego pakietu, Warp3DNova.library jest teraz szybsza, obsługuje bardziej zaawansowane cieniowanie i jest w stanie poradzić sobie z około 70% shaderów, jakie znajdziemy na stronie ShaderToy. Ogles2 również jest szybsza, pozbawiona wielu błędów i obsługująca nowe funkcje. Zwyczajowo po aktualizacji bibliotek 3D, następował mały wysyp gier 3D, które były „kiszone” przez programistów, do czasu aż odpowiednie komponenty odpowiedzialne za wsparcie GL trafią do ludu. Tym razem jednak nic takiego nie nastąpiło i w ciągu 2 tygodni od premiery jedyną rzeczą, która trafiła na serwer OS4Depot, była nowa wersja ShaderJoy, czyli narzędzia umożliwiającego odtwarzanie shaderów ze wspomnianej strony ShaderToy. Nie mając pod ręką żadnych nowości, skierowałem swój wzrok w stronę staroci. Sprawdziłem grę Spencer i rzeczywiście zauważyłem przyspieszenie, ale nieznaczne na poziomie poniżej 10%. Przykładowo lokacja z menu startowym w rozdzielczości FullHD odświeżała się w okolicach 160fps (wcześniej było około 150fps), a początek 28 poziomu wyświetlał wynik w przedziale 91fps – 92fps ( przedtem około 85fps). W przypadku bardziej zaawansowanych produkcji takich jak „RTCW na sterydach”, czyli Reborn To Castle Wolfenstein, gdzie siłą rzeczy wyniki fps są niższe, w zasadzie nie zauważyłem różnicy. No ale być może nowe poprawione kompilacje gier, potrafiące wykorzystać ficzersy ostatnich odsłon bibliotek 3D, przyniosą w przyszłości na tym polu bardziej zauważalny progres.

Ostatnią kluczową nowością związaną z obsługą kart graficznych jest SensorMaster.library wraz z nowym narzędziem preferencyjnym Power. Jak pisze A-EOn jest to pierwszy „hardware sensor API” w świecie Amigi NG. Narzędzie Power pozwala użytkownikowi zarządzać procesem poboru mocy karty graficznej (DPM). Domyślnym ustawieniem jest tutaj dynamic, gdzie system automatycznie (zapewne w oparciu o sygnały przesyłane przez Sensormaster) dobiera sobie poziom DPM. Na naszym forum otrzymałem pytanie, czy nowe API potrafi w jakikolwiek sposób regulować prędkość obrotów wiatraków na karcie. Na to pytanie odpowiedzieć nie mogę, gdyż nigdzie nie znalazłem narzędzia, które podawałoby wskazania prędkości obrotowej na ekranie Workbencha. Testowanie „na oko”, też jest utrudnione w ciemnej obudowie przy karcie graficznej usytuowanej wiatrakami w dół. Z całą pewnością jednak mogę stwierdzić, że ustawienia DPM mają wpływ na wydajność grafiki. Do testów posłużył mi wspomniany program ShaderJoy. Załadowałem plik project_test.sjp, który wyświetla cztery demka 3D w jednym oknie. Przy włączonej synchronizacji obrazu uzyskiwałem zawsze wymagane 75fps w trybie High Power, mniej więcej połowę tej wartości w trybie Low Power i około 67fps w trybie dynamic. Tak naprawdę jednak znacznie bardziej wiarygodne wyniki można uzyskać po wyłączeniu VSync. Wówczas to najwyższe ustawienia DPM dawały wynik 325fps, jednak opcja dynamiczna wiele nie ustępowała cały czas starając się dobrać optymalny DPM do wydajności, dlatego wynik oscylował w przedziale 315fps do 322fps, dużo wyraźniej było widać różnicę względem low, która ustabilizowała się na poziomie 67fps.

Na podstawie powyższego doświadczenia można by powiedzieć, że nowa funkcjonalność działa wręcz wzorowo. Niestety to tylko jedna strona medalu, jest też druga mniej przyjemna. Niestety ustawienia DPM mają ścisły wpływ na działanie akceleracji wideo. Domyślne ustawienie Dynamic, praktycznie uniemożliwia na mojej i nie tylko mojej (ale i wielu forumowiczów z amigans.net) konfiguracji cieszenie się sprzętowym dekodowaniem filmów. Każdorazowo w najlepszym wypadku występuje klatkowanie, a najczęściej zwiecha. Dokładnie ten sam efekt następuje w momencie wybrania opcji low. Jedynym ustawieniem, w którym odtwarzanie działa jak trzeba jest high power. Pół biedy, gdyby uruchomić preferencje Power, ustawić na sztywno najwyższy pobór, zapisać i mieć święty spokój. Niestety nierzadko po resecie systemu, pomimo zapisanych ustawień na wartość high, karta graficzna i tak samoistnie przestawia się na domyślne ustawienie dynamiczne. Doświadczałem tego niejednokrotnie jako swoistego miernika odpalając ShaderJoy. W zasadzie, jeśli wiemy, że będziemy oglądać filmy, to dla bezpieczeństwa po każdym resecie systemu, powinniśmy uruchomić preferencje Power i ponownie potwierdzić przyciskiem użyj, wcześniej zapisane ustawienia na high. Taka ekwilibrystyka kładzie się cieniem na całym tym rozwiązaniu i nie ulega wątpliwości, że A-EON wzorem Hyperionu powinien jak najszybciej opublikować fixa dla swojego flagowego produktu.

Obok obsługi grafiki pojawiły się także nowości na polu muzyki. Konkretnie swą publiczną premierę zaliczył wyczekiwany od lat sterownik do układu dźwiękowego dla Tabora (szkoda, że wciąż nie zaliczyła swej premiery A1222). Pojawił się także inny zupełnie nowy sterownik OxygenHD umożliwiający obsługę układów C-Media CMI8788. Obsługa nowej karty muzycznej na PCI-e, którą można kupić w przysłowiowym sklepie za rogiem byłaby niebylejakim wydarzeniem w amiświatku, jednak trochę A-EONowi show skradł niezależny programista, który trzy dni po wydaniu ES 2.0, wypuścił swój sterownik, szczycący się obsługą jeszcze większej liczby nowych chipów muzycznych. Sekcję muzyczną uzupełnia jeszcze aktualizacja sterownika HDAudio (wbudowany chip muzyczny dla X1000).

Odtwarzacz TuneNet w nowej odsłonie.

Nowe wersje znanych i sprawdzonych aplikacji w postaci przeglądarki PDF AmiPDF oraz odtwarzacza muzycznego TuneNet, kończą zestaw elementów pakietu, który w ciemno można zakwalifikować do gatunku „must have”. Oczywiście nie zamyka to całości oferty, jaką serwuje nam A-EON Technology. Recenzowany pakiet zawiera też cały szereg innych elementów, takich jak datatypy, komendy C, klasy Reaction, programy typu commodities, a nawet nieco większe narzędzia będące zamiennikami systemowych elementów od lat goszczących w katalogach system czy utilities. Jednakowoż choćby przykład, jaki podałem przy okazji polecenia version, a także liczne doświadczenia z wcześniejszych edycji Enhancer Software, każą do tego typu rzeczy podchodzić z należytą ostrożnością. Zatem odpowiedź na pytania, w przypadku których elementów warto postawić na rozwiązania ze stajni A-EONu, a w jakich miejscach górą pozostają rozwiązania Hyperionu, poznacie w trzeciej i ostatniej części artykułu. Wymaga to bowiem testów i wnikliwej analizy i temu będzie poświęcony kolejny tekst.

O Mufa