Pelintekijä – oletko ajatellut portata tuotoksesi ajan hengessä Linuxille? Linux ohitti käyttäjämäärissä Applen macOS:n pelikauppa Steam:issa.
*
®LINUX-SAUNA tuotantoa

Pääasioita
1. Tuki yhdelle vakiintuneelle Linux-jakelulle riittää. Vaikkapa se hyvin tuettu (ja tukea antava) Ubuntu Linux. Linux Mint perustuu Ubuntuun myös.
2. Kun teet peliäsi ja haluat Linux-tuen; varmista tarvitut tekniikat (esim. pelimoottori) ja niiden Linux-tuki.
3. Steam ja Steam Linux Runtime – rakenna sitä vasten. Kotoperäinen porttaus Linuxille kannattaa laajassa kuvassa. Proton on mullistanut asetelmaa kuten alla voi todeta:
Virallinen Linux-tuki pelillesi edistää käyttäjävapautta (minkä tekniikan sitten valitsetkin).
4. Pressure Vessel (Steam) on yksinkertaistettu säiliö juuri peleille. Voit sisällyttää siihen kaiken tarvittavan (Steam Linux Runtime hyödyntää). Tämän lukeminen lienee hyödyksi.
5. Steam tarjoaa peleille Runtime-suoritetyökalut (eri pelirakenteille) – näitä eri versioita ovat Sniper, Soldier ja Medic.
6. Linuxilla kehityksessä perustyökalut kuten Make-apuohjelma, g++ ja gcc ovat Build Essential -paketissa. Avaa Ubuntussa sen kauppa App Center (tai muussa jakelussa vastaava ohjelmistokeskus) ja asenna yksinkertaisesti sieltä.
7. Linux-yhteisö on apunasi aina (!) – kysythän rohkeasti ilman aatoksia ns. tyhmistä kysymyksistä.
8. Varmista Steam Deck -pelattavuus. SteamOS on Valven oma Linux joka perustuu Arch Linuxiin – SteamOS on nyt vapaasti asennettavissa vaikkapa läppäriisi.
9. Alustariippumattomuus merkitsee asiakkaille vapautta ja on muutoinkin teknisesti käytännöllisen kaunis asia.
10. Ajattele käytettävyyttä ja ergonomiaa – testaa peli Steam Deckillä jos mahdollista.
Pelimoottorit
Nämä pelimoottorit tarjoavat tuen Linuxille. Vapaiden pelimoottorien tuki on plussaa jos jokin niistä kattaa tarpeet pelisi toteuttamiseen.
- MonoGame (vapaa & avoin!)
- Godot (100% vapaa – ensisijaisesti Linux-keskeinen!)
- Aleph One (Marathon)
- id Tech / id Tech 2/2.5 / id Tech 3 / id Tech 4
- Goldsource / Source / Source 2
- Blazing Renderer
- Unreal
- Cry Engine
- Irrlicht (vapaa & avoin!)
- Panda3D (vapaa & avoin!)
- Unigine
- Armory (vapaa & avoin / Blender-sulautus)
- jMonkey (vapaa & avoin!)
- Flax Engine
- OGRE
- GDevelop (vapaa & avoin!)
- Open 3D Engine (Apache 2.0 -luvitus)
- OpenSceneGraph
- Phaser (2D, HTML5-pelit, avoin lähdekoodi)
- Superpowers (HTML5-pelit, vapaa & avoin!)
- Bevy (yksinkertainen Rust-pelimoottori, vapaa & avoin!)
Vapaalle Godot -pelimoottorille kannattaa antaa mahdollisuus. Siihen suuntaan ilmenikin kerran muuttoliike.
Usein käytetyt työkalut
- gDEBugger – virheenjäljitin (OpenGL-koodi)
- FreeType – kirjasinten hahmonnus Linuxissa
- Fontconfig – kirjasimien määritys
- PerfStudio – virheenjäljitin (kehys) – tukee AMD-näytönohjaimilla ohjelmointirajapinnan seurantaa
- NVIDIA Nsight – virheenjäljitys (Nvidia) – Visual Studio
- Miles Sound System – äänimoottori Linux-kehitykseen
- QtCreator – ohjelmointiympäristö (virheenjäljittimellä) / näppäinmääritykset Visual Studiolle
- Bink Video – pakkausohjelma videolle
- WebM – avoin tiedostomuoto medialle
- Zoom – CPU-profiloija
- Symbol Server -palvelimet
- lTTng – Linux-jäljitystyökalu
- Telemetry – profiloija
- perf – suorituskykytoiminnot (päätepohjainen)
- apitrace – OpenGL- ja OpenGL ES -kutsujen jäljitykseen
- Pixelorama / myös GitHub (luo pikselitaidetta vaikkapa seikkailupeliisi)
- Krita (suosittu maalaus / piirto-ohjelma)
- Blender (3D-mallinnus)
- Keychain (liitännäinen Godot-pelimoottorille ohjauksen hallinnalle)
- qpwgraph (Qt-käyttöliittymällinen graafihallinta / PipeWire / Qt C++)
- VSCodium (vapaa Microsoft VSCode -vastine)
- Conty (pakkaava säiliö / yksittäinen ajotiedosto, myös Steam Deck)
Steam Runtime
Tarkista aina ensin Steam Runtime ajoympäristö – se on yhteensopiva ajettavien binääritiedostojen kanssa. Proton kääntää Windows-ohjelmakoodin Linux-muotoon.
Pelin vienti natiiviin Linux-muotoon (Steam Linux Runtime) on useimmiten ongelmatonta ellei jossakin kohdassa tee jotakin käytännön virhettä. Pyydä toki aina Linux-yhteisöiltä apua ongelmien ilmetessä.
Laajempi katselmus
Linux toimii eri tavalla kuin Windows – Linux koetaan kuitenkin kehittäjien keskuudessa usein käytännöllisemmäksi.
Kun sisäistää Linuxin boogien – alkaa se kuuluisa lyyti niin sanotusti tanssimaan. Vaikka olemassa onkin useita Linux-jakeluita; niitä kaikkia EI tarvitse tukea erikseen! Linux on Linux – ja paras Linux on ”Sinux” 🙂
Linuxin markkinaosuus kasvaa / kaikenlainen käyttö lisääntyy – on aika tähdätä pelienkin kohdalla kotoperäiseen tukeen.
Steam-pelikauppaa ei voisi korostaa liikaa. Steam suoraviivaistaa asioita ja Linux-tuki Valven puolesta on ensiluokkaista. GOG, Epic Games Store, jne ovat tuomassa omia kauppaohjelmiaan Linuxille.

Valve tukee vahvasti Linuxin nousua pelialustana (Microsoftilla on aikeita rajata pelit omien muuriensa sisään – he mm. ostavat pelitaloja haltuunsa kiihtyvästi).
Valve (Steam, Counter-Strike, DOTA2, jne) astui siis Microsoftin aikeita vastaan ennaltaehkäisevästikin – ovat onnistuneet Microsoftista riippumattoman tulevaisuuden turvaamisessa.
Uuden Linux-pohjaisen ajan esimerkkeinä ilmenevät kannettava pelikonsoli Steam Deck sekä kätevän kokoinen olohuoneen viihdekeskus Steam Machine. Proton -tulkin kautta vain Windowsille tehtyjä pelejä pelataankin Linuxilla. Usein jopa paremmalla suorituskyvyllä!
Virallinen Linux-tuki on asioiden ytimessä (kirjaimellisesti:)- ajetaan peli sitten perinteisesti – taikka Proton:in kautta. Kotoperäisyys on uljas valinta – kunhan porttaus on sen tiimoilla laadukas.
Kotoperäiset portit automatisoituvat luonnostaan Linux-pelaajien lisääntyessä. Alustariippumattomuudessa käyttäjä voi valita minkä vakiintuneen käyttöjärjestelmän haluaa (pelien toimiessa yhtenevästi).
Moni toteaa käyttävänsä Microsoftin Windowsia enää vain esim. jonkun yhden pelin takia (johon ei ole kytketty anticheat-mekanismia Linuxille – vaikka tekijät voisivat sen todellakin vain kytkeä).
”On mukava päättää itse mitä omassa tietokoneessa tapahtuu”.
Steam-pelikaupan ulkopuolella
Snapit, Flatpakit ovat paketointeina uusia yhdistäviä ratkaisuja. Nämä ovat yhteensopivia vakiintuneiden Linuxien kanssa. Näitä voidaan hyödyntää pelien jakeluun Steam-kaupan ulkopuolella.
Kyseiset uuden ajan paketoinnit merkitsevät suoraviivaisuutta (siunaten samalla omaa jaksamistasi). Flatpak-tuki Ubuntuun tästä – laajempi selonteko tästä. Snap:it ovat Ubuntussa vakio.
Muistutus muinaisesta: vältä PPA-lähde sudenkuoppaa. Sitä ehdotellaan ”ratkaisuna” edelleen. PPA-mallia ei oltu koskaan tarkoitettu pakettien laajaan levitykseen.
Voit nyt toimittaa yhden paketin (joka voidaan ajaa kaikissa vakiintuneissa Linux-jakeluissa).
Snap-paketin rakennus. Myös video (Alan Pope, ent. Canonical).
Flatpak Builder:illa teet Flatpakin.
Huom: AppImage ei vielä tue Wayland-ikkunointia (kehittäjän valinta) – mutta kehitys vie väistämättä X-ikkunoinnista juurikin moderniin Waylandiin.
Voit sisällyttää näihin paketointeihin kaikki tarvittavat kirjastot (kuten glibc ja libstdc++) – jotta peli voidaan ajaa sellaisessakin Linux-jakelussa jossa sen omat kirjastot sattuvat olemaan vaadittua tasoa vanhempia.
Steam Runtime -ympäristön lähtökohtaista käyttöä ei voisi liikaa korostaa, joten jankutetaan. Pelin jakelu Steamissa kannattaa volyyminkin takia? Kehittäjiä ja indie-tekijöitä hellivä Itch-kauppa on myös hyvä mainita.
Mikä Linux olisi tuo ”Sinux”?
Monia jakeluja voi testata suoraan selaimessa DistroSea:ssa.
Valinnanvaikeuden kohdatessa – Ubuntu ja Linux Mint (joka perustuu Ubuntuun) ovat toimineet ystävällisinä portteina lukemattomille. Bazzite on tarkoituksella pelijakelu (jonka pohja on muuttumaton ”immutable”).
“Linux-jakelu joka tukee Steam-pelikauppaa on ainoa yleinen vaatimus
Onko Proton (tai Wine) kotoperäinen / natiivi?
Tämä yleisestä poikkeava katsantokulma jakaa mielipiteitä propellihattujen keskuudessa varmasti – mutta totean: Proton/Wine on Linuxille kotoinen ratkaisu. Tarkennetaan:
Proton- (tai sen pohja Wine) eivät ole emulaattoreita. Kyse on avoimen ohjelmakoodin työkaluista jotka mahdollistavat vain Windowsille tehdyt sovellukset Linuxissa. Proton kääntää koodin Linux-muotoon.
Sivujuonteena: voit kuulla Tux-pinkun kikatuksen mikäli Microsoft toimittaa Windowsille esim. päivityksen joka rikkoo pelin siltä istumalta – jatkaen edelleen toimivana Protonin kautta Linuxissa..
Suorituskyky
Pelin suorituskykyyn vaikuttaa eniten näytönohjain / sen ajuri sekä suorittimen mikrokoodi – ei niinkään jokin Linux-ytimen päälinjan (mainline) versio. Mainitaan tässä myös Linux Zen -ydin.
Suorituskyky ei liity suoraan jakeluunkaan. Ei ole merkitystä onko käytössä Arch Linux vaiko Debian Linux. Kyse on lähtökohdista – mitä jakeluun mukaan on vakiolliesti laitettu ja miten. Siitä vain muksaamaan tai ”rikkomaan” – mutta liian kanssa ollaan ilmeisesti sitten väärässä jakelussa…
Linuxin Suomipomo Linus Torvalds (joka asustaa nykyään kuitenkin Yhdysvalloissa) on usein ärähtänyt: käyttäjätilaa (userspace) ei sotketa. Tämä lähestymistapa on todettu historiallisesti mallikkaaksi yhteensopivuuden kannalta.
LUL
Yhteisön Voima (käytä sitä)
Hyödylliset virheilmoitukset ovat Linuxissa vakio. Pingviinit ovat oppineet kaivamaan lokitietoja kun jotakin odottamatonta tapahtuu. Yhteisö voi auttaa asioiden korjaamisessa tehokkaan nopeasti.
Käyttöjärjestelmän käynnistyksen ilmoitukset (ja muut ytimen tuottamat asiat) saa näkyviin kohteesta /var/log/messages käskien:
cat /var/log/messages
PROTON_LOG=1 %command%
~/.local/share/Steam/logsPorttaus ja tuki
Huom! Muutoksia, korjauksia ynnä lisäyksiä otetaan vaikkapa meiliin mielellään vastaan! (tai tule LINUX-SAUNAAN @ Telegram tai Steam-tsättiin).
Pelisivustoja lisätiedolle / avulle:
- GamingOnLinux
- Steam Deck HQ
- Linux Game Consortium
- Linux Gaming Central
- Linux Game Cast
- Boiling Steam
- ProtonDB
- Lutris
- Linux_Gaming (Lemmy)
- Linux_Gaming (Reddit)
- Linux Gaming Wiki
- Sami Lahtisen Owncast (GamingOnLinux:in Samsai – koodari)
- Suomenkielinen aloitusopas
✍️Tatu ”Kopimi” Sjöholm
Lisätiedot ryhmästä:
®LINUX-SAUNA | Lämmöllä Linuxiin






