GNU/Linux na PlayStation, czyli historia o tym, jak PS2 miało stać się komputerem
3 grudnia 2019 roku marce PlayStation stuknęło 25 lat. Ćwierć wieku przepełnione kultowymi grami i tysiącami godzin pasjonującej zabawy. Ale też przepychankami z posiadaczami pecetów, pogardliwie nazywanych blacharzami, którym społeczność konsolowa namiętnie punktuje zbyt techniczne podejście do gier i sprzętu.
04.12.2019 | aktual.: 04.12.2019 11:35
Tymczasem w historii PlayStation był taki okres, w którym konsola Sony usilnie aspirowała do rangi tego znienawidzonego blaszaka. Nieudolnie, ale jednak.
Był początek lata roku 2001. PS2 dopiero co świętowało pierwsze urodziny, a Sony pozostawało święcie przekonane, że dysponuje sprzętem na rynku konsumenckim bezkonkurencyjnym. Pod każdym względem. Kilkadziesiąt milionów sprzedanych jedynek skutecznie zakorzeniło świadomość marki, a wykładnik ekonomiczny wręcz miażdżył. W Stanach Zjednoczonych konsola zadebiutowała w cenie 299 dol., podczas gdy prosty odtwarzacz DVD kosztował siedem stów.
Na budowę sensownego komputera w choćby zbliżonej cenie nie było szans. ATI Radeon 8500LE wiązał się z wydatkiem rzędu 200 baksów, podobnie zresztą jak konkurencyjny GeForce 3 Ti 200. Athlona XP Palomino można było dorwać za 120-130 dol. Ale co z pozostałymi komponentami?
I oto japoński gigant wyciągnął bardzo oczywisty wniosek: skoro PS2 tak dobrze zapewnia ludziom rozrywkę, to komputera będą potrzebować już tylko do pracy i nauki, ot choćby hobbystycznego programowania. Równocześnie przedsiębiorstwo miało w pamięci, że wydana w marcu 1997 roku konsola Net Yaroze, uproszczony devkit jedynki na rynek konsumencki, zgromadziła niewielką, ale bardzo zaangażowaną społeczność tworzącą amatorskie gry.
Dygresja: weźcie pod uwagę, że piszę o czasach, gdy byle entuzjasta nie mógł tak po prostu pobrać Unity z internetu, by w kwadrans stać się deweloperem indie.
Protetyka stosowana
Finał był taki, że w roku 2002 ukazał się zestaw o wymownej nazwie Linux for PlayStation 2. Piszę zestaw, gdyż w istocie rzeczy sama dystrybucja GNU/Linux, pomimo dziwacznego ISA konsoli łączącego MIPS-III z MIPS-IV i instrukcjami autorskimi, to ledwie wierzchołek góry lodowej. Rozruch tego wszystkiego okazał się równie zwariowany co model programowy.
W skład zestawu, oprócz dwóch płyt CD ze zmodyfikowanym japońskim forkiem Red Hat 6, Kondara MNU/Linux, weszły: karta sieciowa, dysk twardy o pojemności 40 GB, adapter VGA, a także klawiatura i mysz. Po co tyle tego barachła? – zapytacie. Bo na etapie projektowania PlayStation 2 nikt nie myślał o tym, że kiedyś posłuży za komputer, więc inżynierowie musieli uciec się do protetyki, nadrabiając wcześniejsze cięcia kosztów.
Jak wiadomo, PS2 nie ma własnej pamięci magazynowej. Zapisy stanu gier przechowuje na 8-megabajtowych kartach pamięci, ale to zbyt mało na cały system. Począwszy od wersji SCPH-300xx, jedynej oficjalnie kompatybilnej z Linuksem, w konsoli pojawiła się zatoka na dysk twardy w formacie 3,5''. Nie pojawił się jednak kontroler ATA. Ten został zintegrowany z zewnętrznym modemem 100 Mb. A to nie jedyny problem przed jakim stanęli twórcy. Kolejny to model przestrzeni kolorów YCbCr. Stosowany w ówczesnych telewizorach, ale niezgodny z systemem okien X11.
Peesdwójkowy Linux, wykorzystujący menedżer Window Maker i właśnie X11, nie mógł wyświetlić obrazu na telewizorach z epoki. Wymagał monitora komputerowego o rozdzielczości co najmniej 1024 x 768 pikseli, zgodnego z modelem przestrzeni kolorów RGB. Stąd adapter VGA, jeśli ktoś tego jakimś przypadkiem jeszcze nie zanotował.
I to bynajmniej nie koniec obostrzeń. Mimo wszystko niezbędna była karta pamięci, pod partycję rozruchową. Nagle bardzo przystępna cenowo konsola PS2 okazywała się wcale nie takim tanim komputerem. Przypomnę, jednostka zasadnicza kosztowała 299 dol., zestaw z Linuksem – drugie tyle, karta pamięci zaś – 34 dol. A gdy ktoś nie miał monitora to już w ogóle kaplica.
Walcząc z ograniczeniami
Przy czym dwóch problemów nie dawało się przeskoczyć przejściówkami i adapterami, nawet gdyby nosić ich więcej niż musi statystyczny posiadacz sprzętu Apple'a.
Po pierwsze, w obawie przed piractwem Sony bało się oddać pełen dostęp do sprzętu. Napęd DVD pod Linuksem był dezaktywowany, aby nikt przypadkiem nie wpadł na pomysł uruchamiania wypalonych gier. Sam system działał na warstwie abstrakcji, w środowisku odseparowanym od hardware'u. Po drugie, co właściwie grzebało całą ideę, konsola PS2 ma tylko 32 MB RAM.
Japończycy odchudzili kilka podstawowych narzędzi, w tym edytor grafiki xv, przeglądarkę Dillo czy edytory tekstu Ted i AbiWord tak, aby w miarę dobrze na PS2 chodziły. Użytkownicy posiłkowali się przy tym jeszcze lżejszym niż Window Maker menedżerem okien – FVWM. Wikipedia podaje, że komuś udało się skompilować komunikatory Pidgin i XChat, a nawet Mozillę Suite, duchowy pierwowzór Firefoksa. Niemniej jednak platforma pozostawała mocno ograniczona.
Stwórz grę. Dla siebie samego
Na nieszczęście pomysłodawców, największa z anonsowanych zalet Linux for PlayStation 2, czyli możliwość tworzenia amatorskich gier, summa summarum także okazała się porażką. Do systemu dorzucony był kompilator gcc 2.95.2 i dostosowana biblioteka języka C. Środowisko znane i lubiane, jednak znów przeszkodziły antypirackie zapędy Sony.
Binarki nie można było tak po prostu wypalić na płycie i przekazać innym graczom. Produkcje stworzone pod Linuksem na PS2 działały wyłącznie pod Linuksem na PS2, bez możliwości odpalenia na niezmodyfikowanej konsoli. Można było stworzyć grę. Dla siebie samego.
Tak więc nie sprawdził się ani pomysł na przekształcenie PlayStation 2 w komputer, ani wizja stworzenia platformy dla domorosłych deweloperów.
W Stanach Zjednoczonych zestaw Linux for PlayStation 2 dokonał żywota bardzo szybko, bo już w 2003 roku, gdy po wyprzedaniu pierwszej partii producent uznał, że kolejnej nie będzie. W Europie pojawiła się wersja rozszerzona o interpreter Yabasic, ale po dziś dzień wielu zarzuca Sony, że tylko dlatego, aby UE zaklasyfikowała konsolę jako komputer i zwolniła firmę z części podatków. Jeśli faktycznie takie były intencje, to sztuczka się nie udała.
Garstka entuzjastów utrzymywała projekt Linuksa na PS2 pod szyldem ps2dev aż do roku 2009. Podnieśli jądro Linux z nominalnej wersji 2.2.1 do 2.4.17 i eksperymentowali ze sposobami uruchomienia innych dystrybucji. Głównie jednak dla sztuki.
Konsola != komputer
PlayStation 2 to bez dwóch zdań fenomenalna konsola. Prawdziwa legenda świata gier, która zapoczątkowała wiele serii znanych do dzisiaj. Ale czy kiedykolwiek mogła sprawdzić się jako komputer osobisty? Raczej nie – bo po prostu nie była do tego przygotowana od strony sprzętowej. Sony zaryzykowało. Pokazało, że może. I tyle.
Linux is everywhere, powtarzają namiętnie fani open source i chyba to jest tutaj najbardziej esencjonalne: na najpopularniejszej konsoli świata również się pojawił.