Malý skoro-retro-experiment
Před dvěma měsíci, tedy na konci května, jsem si po pěti stech dnech odkládání kapesného (ve skutečnosti honorářů za psaní článků tu či támhle, peněz z prodeje širokého konvolutu hardwarových přebytků a příjmů ze zcela malého, soukromého crowdfundingu - ale když napíšu kapesného, připadám si pak mladší) objednal desku Blackbird s procesorem POWER9. Jelikož se dalo očekávat, že kvůli pandemické situaci nebude její doručení zrovna otázkou dnů, a protože svůj dosavadní desktop (Core i5-661) jsem rozebral a rozprodal, chvíli jsem přemýšlel, co bych si tak postavil na stůl, než můj nový hardware dorazí. V červnu to byl postarší MacMini, čistě jen abych si ověřil, že se mi nelíbí, jak to Apple vede. Mise splněna, nelíbí, nicméně to by byl úplně jiný příběh. Mini tak šel začátkem července šel pod televizi, jako přehrávač pohyblivých obrázků jednou za uherský týden bude stačit.
Pro červenec jsem se rozhodl udělat takový malý skoro-retro-experiment.
Hardware
Když jsem v květnu 2005 platformu x86 opouštěl poprvé, bylo to z 1GHz Athlonu v mém tehdejším stolním písíčku na 1.25GHz (po reklamaci a výměně kusu za jiný na 1.33GHz) PowerPC 7447A (G4) v iBooku. Zachtělo se mi zkusit alespoň tu první část příběhu znovu. Laskavý čtenář našel doma přebytečnou počítačovou sestavu z předmětného období, která se od té mé lišila jen nepatrně:
- Deska Asus A7V133-M, northbridge VIA VT8363A, southbridge VT82C686B
- CPU AMD Duron 950 MHz (těch pár desítek megahertzů a pár desítek kilobajtů cache rozdílu proti Athlonu dnes sotva postřehnu, tehdy jsem ale samozřejmě na minimálně gigahertzu a plnotučném Athlonu trval)
- 1 GB PC133 SDRAM (já končil na 256 MB, ale zato už DDR)
- Inno3D GeForce4 MX440 (v mém počítači byla GeForce2)
Vzhledově to rozhodně není můj vypiplaný Athlon, zabudovaný do hranatého, značkového middletoweru Siemens s poloprůhledným zeleným krytem mechanik a stěnami uvnitř už od výroby polepenými molitanem, ale blíž se zadarmo dostanu jen stěží. Ostatně pamatuju si živě dobu, kdy tyhle nafouklé obludy, nejlépe ještě s velkým logem Internet Exploreru na bočnici a designem předního panelu ve stylu Nokie 3210, frčely a já byl se svým hranatým vkusem za podivína obecního, ne-li okresního formátu.
Ze šuplíku s hardwarem jsem vylovil tři naprosto ahistorické komponenty, s nimiž jsem se rozhodl sice drobně zapodvádět, ale zachovat si duševní zdraví:
- OCZ Agility 4 64 GB + SATA-PATA redukce - můj první SATA SSD, už to spolu táhneme přes sedm let, ale stále je to čipera a proti dobovým diskům je někonečněkrát tišší
- nVidia GeForce 7600GS - konkrétně MSI NX7600GS-TD512 - stará geforcka má místo ventilátoru zubní vrtačku a už dávno předávno jsem si odvykl připojovat LCD přes analogové VGA
- mnohem tišší 450W zdroj Jersey s 12cm ventilátorem
V původním plánu bylo ještě přidat hardwarový RAMdisk Gigabyte i-RAM (který tu kdysi recenzoval WIFT) a gigabitový ethernet, nicméně - jak se ukáže později - nebylo toho zapotřebí.
Co jsem naopak v plánu neměl a přitom se to stalo nevyhnutelným už po prvním večeru u počítače, byla výměna chladiče procesoru. Malá hliníková žebírka, původně možná tichý ventilátor, ovšem nyní již s bohatou provozní historií a absence regulace otáček dohromady daly menší zvukové peklo. Naštěstí si jako památku schovávám chladič právě z toho svého Athlonu: půl centimetru tlusté měděné jádro, z něj vyrůstající masivní hliníkové žebrování a na to jsem nasadil úplně nový ventilátor Zephyr. Subjektivně o polovinu tišší, objektivně o deset stupňů chladnější. Tohle už by se dalo snést.
Operační systém
Jako operační systém jsem nemohl zvolit jinak než Slackware Linux. Ve verzi 8.1 jsem ho provozoval tehdy, stále má aktivní vývoj pro i586 a tak jsem sáhl po verzi označené jako current, což je defakto testovací hřiště zatím nevydané verze 15. A tady jsem udělal chybu, která mě stála týden života.
Nouveau, otevřený ovladač pro karty Nvidia, nedovolil systému nabootovat, chudák kernel končil v nekonečné smyčce unknown eventů. Dohledal jsem, že parametrem nomodesetting tomuto zamezím, nicméně pak se ukázalo, že jsem tím účinně zamezil i fungování ovladače vůbec, X.org pak běžely bez jakékoliv akcelerace, jen ve VESA režimu a to je něco, co bych na procesoru taktovaném pod gigahertz v rozlišení 1910x1200 opravdu nemohl doporučit ani hodně zvláštnímu typu masochisty.
Stáhl jsem tedy přímo z webu nvidie poslední verzi legacy ovladačů podporujících moji GF7600, rozbalil je a pustil překlad. Po třech dnech a třech nocích stoprocentní zátěže procesoru skončil překlad s chybou: An error happened during the build process.
Nic víc. Nic víc ani v logu, nic víc nikde jinde. Trvalo celý další večer, než jsem ověřil, že příliš nový kernel v current verzi Slackware a příliš staré legacy ovladače spolu nefungují. Vzájemná kompatibilita sice končila o pouhou jednu verzi na jedné straně nahoru a na druhé dolů, ale to mi bylo vcelku houby platné. Current tak šel pryč, místo něj jsem na SSD nainstaloval aktuální stabilní, tři roky staroy verzi 14.2. Vše funguje od prvního bootu, akcelerovaně a přes nouveau.
Jako správce oken jsem zvolil Fluxbox, mám s ním historické zkušenosti z ještě mnohem, mnohem, mnohem staršího hardware, umí vše, co od něj očekávám a systémových prostředků se prakticky ani nedotkne.
Což mě přivádí k tomu, proč jsem nakonec neosadil hardwarový RAMdisk. Nenašel jsem totiž důvod swapovat. Nevím přesně jak je to možné, ale kompilace GIMPu, šest tabů v prohlížeči, několik terminálů a není plná ani polovina z gigabajtu paměti - zajímavé - na i5-661 jsem se 4 GB RAM byl ve swapu prakticky pořád a tady nic. Něco dělám asi špatně.
První měsíc používání
Od počátku věků si fandové obou značek kladou otázku, zda je lepší AMD nebo Intel. Vždycky jsem fandil menší a slabší straně proti molochu těžícímu ze své obří tržní síly, ale z pohledu pokusů o fungování na téměř historickém železe v roce 2020 se musím přiklonit právě k Intelu. Na AMD je to totiž místy peklo. Jak Duron (Athlon) tak řekněme třeba Pentium III (či od něj odvozený protějšek Duronu - Celeron) jsou totiž sice podobně výkonné procesory s podobnou spotřebou, ale jeden z nich má SSE a druhý nikoliv. Ten druhý má 3DNow!, což je jen slabá náplast - tak slabá, že samo AMD ji už před lety na vlastní procesory přestalo lepit. A nevěřili byste, jak je SSE všude rozlezlé!
Tak třeba webový prohlížeč. Jak jsem už psal v retročlánku o slotovém Athlonu, poslední verze Firefoxu, kterou lze přeložit pro procesory bez SSE je dva roky stará 52.9ESR. Je to vcelku jedno, protože ten prohlížeč není prakticky použitelný, spouští se i ze SSD v řádech minut, ještě několik desítek sekund po načtení stránky nereaguje na vstupy a procesor neustále vytáčí k devadesáti procentům.
Použitelnou alternativou se naštěstí ukázal být NetSurf, který - nemaje podporu JavaScriptu - s procesorem příliš necvičí. Vznikal pro Acorn RiscPC, tedy počítače mnohem slabší než Duron, stále je pro ně vyvíjen a tak je upřednostňována rychlost před komplexní funkcionalitou. Pro většinu webů, na něž chodím pro informace (včetně DIIT) a ne jen tak bezúčelně zabít čas, to zcela postačuje.
Hůř je na tom GIMP. Dokud se pohybujete v rámci operací otevřu fotku - oříznu fotku - zmenším fotku - uložím fotku, je to v pohodě. To je asi majoritně celočíselná aritmetika, vystačíme s MMX. Ale zkuste zabrousit do úpravy jasu, kontrastu či zaostřování a bum - Illegal instruction, core dumped.
Chápu to, kdo by dneska seriózně upravoval fotky na dvacet let starém procesoru? Takže tam holt někde je ten kus kódu natvrdo v in-line assembleru uprostřed zdrojáku v C a parametry kompilátoru gcc docílíte tak maximálně toho, že to nepůjde přeložit. Co ale moc nechápu je podobná optimalizace u software jako je například adb, nástroj pro vzdálené ladění přes USB na telefonech s Androidem. Co se tam dá optimalizovat pomocí SSE? Naštěstí z balíku android-tools jsem potřeboval ten druhý - fastboot - a ten šel přeložit i pro i586.
Závěrem
Z prvního měsíce používání Duronu jsem týden strávil neuspěšnými pokusy o rozeběhnutí Slackware v current verzi, pak jsem si na týden odskočil na dovolenou a teď už dva týdny večer co večer prohání elektrony svým křemíkem a mědí - i tento článek píšu (byť nevkládám do redakčního systému) na něm. Nezbytné informace z webu na něm získám, na své vzdálené servery se připojím, hudbu si k tomu pustím. Fotky z mobilu ořežu, zmenším, nahraju na web. Skriptování v trojici Perl/PHP/Python nic nebrání. Emulátor ZX Spectra Fuse běží plnou rychlostí, makroassembler AS překládá. V podstatě nepřicházím o nic, co by mi chybělo, jen mě u toho všeho neotravují notifikace sociálních sítí a nemám zbytečné nutkání jít si pustit ještě jedno pětiminutové video a pak ještě jedno a ještě...
A jelikož kvůli pandemické situaci nelétá mnoho letadel z USA do ČR a USPS tak opakovaně nenachází způsob, jak mi můj budoucí osmijádrový/dvaatřicetivláknový zázrak dopravit, vypadá to, že s Duronem ještě chvíli kamarádit budeme. Takže je dobře, že se kamarádíme a nehádáme.