Kuis pelittää?

Okei, koko juttu lähti siitä kun huomasin, että RPiOs:lle saa reposta suoraan Quake 3 Arenan - joka nyt tietysti piti ladata ja testata. Pyörii hämmentävän hyvin, jahka malttaa pitää resoluution järkevällä tasolla. Kun mennään johonkin 1920 x jotain näyttötiloihin ja nykiihän se.
Tässä välissä avattakoon, että RPiOs (Raspberry Pi Os) on Raspberrykoneille räätälöity oma käyttöjärjestelmänsä, jossa on myös graafinen käyttöliittymä. En ole niin nörtti, että käyttäisin pelkästään komentokehotetta - tämän projektin yhtyedessä olleet kuvankaappaukset on otettu tämän käyttöjärjestelmän graafisesta käyttöliittymästä.
Repo, eli repositories taas viittaa paikkaa, josta Linuxeille ladataan ohjelmistopaketteja. Vähän niin kuin Play-store Androidilla tai App store Applella. Linuxilla on käytännössä katsoen aina ollut tällainen juttu jo kauan ennen mitään muita härveleitä. Pakostakin, nimittäin Linuxissa hommat pyörii pienten pakettien ja kirjastojen varassa isojen ohjelmien sijaan, jotka sisältäisivät aina kaiken tarpeellisen. Näin kärjistetysti ilmaistuna "sinne päin". On se tietysti vähän monimutkaisempaa, mutta ei nyt mennä siihen sen enempää - tai siihen, että kutsuin RPiOs:sia käyttöjärjestelmäksi...
Tämän eron ymmärtäminen riittää tässä yhteydessä.
Näitä repositoriesseja on muutamia, virallisia ja vähemmän virallisia, joista ne mömmöt tarttuu koneeseen jos on tarttuakseen. Ja tietysti GitHub, mikä on näissä kikkailuissa aika ehdoton. Sieltä voi ladata komennoilla Terminaalsita, eli komentokehoitteesta tai sitten käyttää jotain graafista sovellusta. Käyttöliittymän mukana tulee aina joku, mutta minäkin ole ladannut niitä vielä pari ylimääräistä. Ihan vain, kun olen tottunut käyttämään toista ja toisen sitten testimielessä. Anyhow, näissä on se hyvä puoli, että ne näyttävät yleensä vain sellaista tavaraa, joka juuri siihen kokoonpanoon käy.
Paketteja ja kirjastoja ladataan aina tarpeen mukaan, jolloin kone ei täyty kaikesta mahdollisesta sonnasta, kuten nyt vaikka siinä ikkunamallissa. Kätevää ja tehokasta. Tähän liittyy myös se, miksi Linux haluaa päivitellä itseään jatkuvasti - tai miksi se kannattaa päivitettynä pitää. Näihin paketteihin ja kirjaistoihin tulee korjauksia ja parannuksia aikamoisella tahdilla. Aina kun laittaa jotain uutta koneelle, on tärkeää, että koneella olevat jutut on ajantasalla tai muuten voi seurata kaikenlaista jännää haastetta. Toisaalta tämä toimii käänteisestikin: jos koneeseen ei laiteta mitään uutta ja se toimii siinä tehtävässään, mikä sillä on, ei sitä ole tarpeen päivittää. Tällaisesta on hirvittävästi etua kun kone tosiaan tekee jotain tiettyä hommaa. Kaikki tietävät, kuinka Windows voi mennä päivityksistä sekaisin, mutta sitä ei voi jättää päivittämättäkään tai muuten tulee joku digimato tai tuki loppuu. Linuxissa ei ole tällaisia ongelmia tai jos on niin äärimmäisen harvoin. Linuxin päivitykset eivät ole patcheja, laastareita, joilla paikataan jotain, vaan parannettuja ja paremmin optimoituja versioita aiemmista. Pääasiassa.
Pakettien ja kirjastojen kanssa touhuamisessa on sekin hyvä, että kaikki toimii optimoidummin. Laitetehoja säästyy ja paletti on vakaa. Tällaisista syistä käytännössä kaikki serverit, palvelimet ja vähääkään tärkeät järjestelmän pyörii Linuxilla ja miksi se ylipäätään on kaikkein käytetyin käyttöjärjestelmä.
Ja koska myöhemmin mainitaan vielä Kernel, niin se on Linuxin sydän. Se oikea käyttöjärjestelmä, joka jollain käyttöliittymällä käsitellään. Kernel on se osa, joka hallitsee kaikkia toimintoja ja hoitaa vuoropuhelun ohjelmistojen ja tietokoneessa olevien laitteiden välillä, ihan prosessorista lähtien.
Mutta palataanpa päivän pähkinään.
Eli Quake 3 Arena. No, sehän on jo vanha peli vuodelta 1999, eikä sen pyörimisen eri häveleissä mikään ihme ole. Mutta nyt puhutaan kuitenkin yhden piirivelyn mikrotietokoneesta, jossa kaikki prosessoria, muisteja ja 3d-grafiikkaa ymmärtävää näytönohjainpiiriä myöden on mukana kiinteästi ja siinä kontestissa kyllä yllätyin.
Ja kun yllättyy, niin alkaa vähän miettimään kaikenlaista. Kuten mikäköhän muu tässä pyörisi. En sitten muuta äkkiseltään keksinyt, kuin yrittää sorvata Steamin Raspiini. Steamissa kun on pelejä yllin kyllin, ja paljon sellaisia vanhempia tai kevyempiäkin, joiden pyörittämiseen periaatteessa pitäisi tehot riittää.
Nythän on kuitenkin niin, että sitä ei vain marssita repoon ja asenneta Steamia koneelle. Tai oikeastaan, itseasiassa juuri näin Linuxin kanssa tehdään, mutta ei Raspilla. Ongelma on Raspin prosessoriarkkitehtuurissa, josta olen puhunut jo aiemmin. ARM-tyyppisellä prosessorilla ei x86-tyypille tehtyjä ohjelmia pyöritetä, ja valtaosa etenkin viihdekäyttöön suunnatuista ohjelmista on saatavilla vain x86-prosessoreille.
No, ei se mitään, sillä apu löytyy emulaattorin muodossa. Box86 emulaattorin avulla voidaan ARM-ympäristössä pyörittää x86-alustalle tehtyä softaa. Käytännössä se on pieni ohjelma siinä välissä, joka tulkkaa prosessorille mitä muunkielinen ohjelma yritää sanoa.
Box86:n kanssa sai tovin askarrella. Hyvät ohjeet kyllä löytyy, mutta sitten tulee eteen näitä validointivirheitä, joita ohjeissa ei ole kommentoitu lainkaan. Sitten selaamaan foorumeita ja lopulta aloittaa koko touhu uudestaan eri tulokulmasta. Kun päätä on raavittu tarpeeksi, piippua riittävän monta pesällistä poltettu ja ahteria kulutettu, voi päästä voiton puolelle.
Muuten hyvä, mutta kaikesta taistelusta huolimatta Box86:n palvelu ei lähde päälle. Palvelu meinaa sitä, että tässä Linuxin maailmassa kaikille mahdollisille jutuille aina äänistä ja tulostimista lähtien on oma palvelunsa, joka pitää käystää, jotta homma toimii. Aikalailla sama juttu kuin Windowsin taustapalvelut, mutta nämä toimii enemmänkin tarvittaessa. Linuxiksi puhutaan aina servereistä, mikä ohjaa oman ajattelun aina netin päässä olevaan pömpeliin, vaikka nämä nimenomaan ovat koneen sisäisiä juttuja.
Homman sai kuitenkin toimimaan vihdoin tiputtamalla sivukokoa (page size). Tämä on muistinkäyttöön liittyvä juttu. Linuxissa keskusmuistia käytetään niin, kaikki kama pilkotaan pieniksi, aina samankokoisiksi lohkoiksi, joita kutsutaan nimellä page size, minkä vapaasti tuossa käänsin sivukooksi. Sivukoko on tosiaan aina saman kokoinen ja näiden palikoiden kanssa sitten operoidaan. Tämä ei ole välimuisti vaan operatiivinen hässäkkä, johon ei tarvitse koskaan kiinnittää mitään huomiota.
Paitsi silloin, kun tarvii. Yleensä Linuxin järjestelmissä sivukoon suuruus on 4 kilotavua, mutta tässä vitosen Raspissa käytetään 16 kilotavun sivukokoa. Isompi sivukoko parantaa heiman suorituskykyä, mutta kaikki ohjelmat eivät ymmärrä siitä mitään. Asia on kuitenkin kohtalaisen helppo korjata. Menee vain Kernelin tiedostoihin lisäämään yhden koodipätkän, joka sanoo, että lataapas nyt vaan se 4 kilotavun syndeemi käyttöön.
Kernelin kanssa kikkailu vähän jännittää. Linux tosiaan kun antaa tyhjentää vaikka käynnistyslohkon isompia kyselemättä kunhan vain järjestelmän salasanan antaa. Sitä vähän miettii, millaisia seurauksia on, kun menee järjestelmän ydintiedostoja muuttelemaan editorilla, mutta tein sen silti.
Kone käynnistyi normaalisti ja nyt sai sen Box86-palvelunkin päälle, mutta...
Box86 kyllä tulkkaa koodin ARMille ymmärrettävään muotoon, mutta tekee sen 32 bittisenä, kun taas minulla on tässä 64 bittinen järjestelmä. No, tämähän ratkeaa hankkimalla kaveriksi Box64-emulaattori, joka puolestaan tulkkaa 32 bittisen koodin 64 bittiselle ymmärrettävään muotoon.
Alatte varmaan nähdä, kummoinen himmeli tästä on tulossa...
Kaiken sen kikkailun jälkeen lopulta sitten pääsi lataamaan Steamin ohjelmiston, joka tosin piti vielä koota itse. Eli ensi ladataan kirjastoja ja tavaraa, joka sitten komennoilla kasataan suoritettavaan muotoon. Ohjeet ovat hyvät ja melko suoraviivaista se on, mutta paljon saa kopioida komentoja ohjeista Terminaaliin ja olla tarkkana, että tekee asiat oikeassa järjestyksessä.
Parin kolmen tunnin äheltämisen jälkeen kuitenkin oli Steam koneella ja pääsi lataamaan sieltä kirjastostani pari peliä, jotka olivat tietysti Doom 2 ja Quake.
Sen sanon, että lataaminen kestää.
Luulen, että koska taustalla työskentelee jatkuvasti kaksi emulaattoria, jotka yrittävät saada asiat koneen ymmärtämään muotoon. Vähän sama kuin että kääntäisi venäjän ensin ranskaksi ja sen edelleen suomeksi sen sijaan, että molemmat puhuisivat suomea. Toinen juttu on se, että Steam on raskas. Se on itseasiassa kohtuuttoman raskas ylipäätään, mutta kun tällaisessa koneessa, jossa kuitenkin resurssit ovat rajalliset, se alkaa näkyä toisella tavalla.
No miten pelaaminen? No... Miten sen ottaa. Doom ei lähtenyt käyntiin lainkaan, mutta sitä en nyt kyllä oikeastaan edes ihmetellyt, sillä Steamista saatava Doom toimii vielä Dosboxin kautta, mikä on vielä yksi emulaattori kaiken muun päälle. Dosbox tulkkaa vanhalle kunnon DOSsille tehdyt ohjelmat nykyaikaisempien järjestelmien ymmärtämään muotoon, ja kyllä se nyt vaan on niin, että kolmen emulaattorin läpi juoksuttaminen on vain liikaa. Ehkä se siitä jotenkin voisi lähteä pelittämään, mutta ihan oikeasti en jaksa nähdä vaivaa edes yrittääkseni. Sen sijaan nappasin tarpeellisen Doom2.wad tiedoston talteen ja käytin sitä kokeeksi Chocolate Doomilla, nimenomaan Raspberrylle tehdyllä Doomin pelimoottorilla ja se hän toimii niin kuin pitääkin.
Quaken kanssa taas oli toisenlainen tilanne. Peli kyllä käynnistyy pienen odotuksen jälkeen, mutta mitään ei tapahdu ennen kuin hyppää takaisin käyttämään työpöytää ja takaisin peliin. Pyörii oikein hyvin siitä huolimatta, että Steam puskee höyryä taustalla. Pientä grafiikkavikaa on teksteissä. Ne nimittäin ovat täysin hahmotuskelvotonta mössöä. Pelaamisen kannalta sillä ei ole väliä, mutta olisi ihan kiva päästä säätämään ohjaimet sellaiseen asetukseen, että oikeasti pelatakin voisi. Nuolinäppäimillä liikutaan, ylös ja alas katsotaan a ja z napeista. Hiirellä mennään eteen ja taakse päin... Ei tule mitään. Steamissa on eri yhteensopivuustiloja tyrkyllä, mutta niistä ei mene päälle kuin yksi ja ainoa, joka ei vaikuta asiaan millään tavalla.
Joten kyllä se jää Steamin kautta pelaaminen tähän. Poistin pelit ja palautin 16 kilotavun sivukoon. Steamin tosin jätin vielä, sillä voi olla, että jotain muuta hankkimaani peliä vielä koitan. On minulla siellä Doom 3:kin, jonka pelimoottori niin ikään on saatavana suoraan Raspille tehtynä. Tarvitsee vain maksetun pelin pelitiedostot, mutta ne saa lataamalla pelin kun kerran maksettu versio on.
Joten, kyllä Raspiin Steamin saa. Ei se älyttömän käyttökelpoinen ole, mutta saa kuitenkin. Ehkä se jossain peleissä voisi toimiakin paremmin, mutta tosiaan en tätä pelikäyttöön ole hankkinut. Se on silti kiva vähän testailla mihin tämän potku ja systeemi riittävät. Kukaties Steamista tulee versio, jossa on suora tuki ARM-prossuille. Tällaista liikehdintää on jossain määrin ollut havaittavissa ihan yleisesti. Ehkä jos näin käy, palaan asiaan vielä uudestaan.





