Ohlédnutí do minulosti
Kdysi dávno, kdy jsem já začínal s Linuxem, bylo na něm pár nativních her jako Tux Racer nebo Mahjong. Na Linuxu se dal ještě rozběhnout server pro Quake a to je tak skoro všechno, co by bývalo stálo za řeč. Takže když jsem se definitivně rozhodl, že přecházím na Linux a Windows už nechci ani v dual bootu, musel jsem se smířit s tím, že hry na počítači hrát nebudu.
Později jsem koupil PlayStation 3 a dětem jsem od malička vysvětloval, že počítače nejsou na hraní a Windows nepotřebujeme, protože máme PlayStation. Fungovalo to, ale čas běžel, uteklo deset let, nakonec Sony vypnula servery pro Warhawk a bylo po srandě.
PlayStation 4 jsem koupit odmítl, protože on-line hraní bylo placené a měl jsem spoustu peněz ve hrách pro PlayStation 3.
Zhruba v období Covidu školy zavřely a já musel dětem sehnat nějaké notebooky pro on-line výuku. Pořídil jsem tehdy starší kusy s Intel Core i5, 8GB (HP ProBook 5330m a Dell Vostro 3350). Nainstaloval jsem na ně Ubuntu Linux. Tehdy si děti samy našly cestu, jak hrát Minecraft přes TLauncher. Měly tam i Steam a hrály zdarma třeba Team Fortress.
Předloni jsem si koupil nový notebook a Vašík dostal můj starší ThinkPad T14 Gen 1, Ryzen 7 PRO 4750U, 32GB. Potom se vydal vlastní cestou… kterou jsem musel razantně zkorigovat, když se mu povedlo přes Wine rozběhnout Raft pro Windows i s nějakým virem pro Windows.
Valve a Linux
Společnost Valve, tvůrce Half-Life, Counter-Strike a dalších legendárních titulů, kdysi dávno vyřešila problém počítačového pirátství vytvořením obchodu na hry Steam. Protože nastavila rozumné podmínky pro další vývojáře a navíc byla první, stal se jejich obchod největším.
Steve Ballmer, šéf Microsoftu, sledoval úspěch Steamu, App Store od Apple nebo Google Play a pak oznámil přípravy Windows Store, kde chtěl prodávat také hry. To samozřejmě neuniklo Gabe Newellovi, šéfovi Valve, který si rychle uvědomil, že mu někdo chce vyfouknout jeho zlatou slepici. Již v roce 2012 Valve oznámilo, že pracuje na přenesení své herní platformy Steam na Linux.
Uteklo deset let a Steam už na Linuxu běží. Společnost Valve vzala komunitní projekt Wine (Wine Is Not an Emulator) a na jeho základech vystavěla Proton. V duchu open source dodávala vylepšení do celé řady dalších projektů včetně jádra (futex2) a významným dílem se přičinila o vylepšení Linuxu jako takového. Primárně však pracovala na plné kompatibilitě při spouštění nativních her určených pro Windows pod Linuxem.
Dnes už začíná být jasné, že to bylo fascinující strategické rozhodnutí ve světě herního průmyslu.
Konzole Steam Deck
Když se Vašíkovi povedlo zavirovat jeden adresář v Linuxu, pochopil jsem, že budu muset znovu začít řešit hry. Bylo před Vánoci, a tak se nabízela herní konzole. Podíval jsem se na PlayStation 5 a zjistil, že Sony se placený on-line vyplatil, a tak u něj zůstala. Hledal jsem i konzoli od Valve a zjistil jsem, že se dělala a už nedělá. Zůstal po ní jen SteamOS.
Poradil jsem se s kolegy v práci a ti mi vysvětlili, že klasické herní konzole jsou už za zenitem a dneska frčí přenosné. Prý se k nim dá koupit dokovací stanice a stane se z nich konzole klasická, navíc jde nosit s sebou. Protože hráli Zeldu, doporučili mi Nintendo Switch. Steam Deck by snad byl také dobrý, kdyby měl větší výdrž na baterie.
Vloni na Vánoce našel Vašík pod stromečkem Steam Deck. Zrovna uvedli model s OLED a cena příjemně klesla. Byla to fakt dobrá volba, protože od prvního spuštění a přihlášení tam byly hry z minulosti, a to i z té hodně vzdálené. Dokonce se tam objevila hra pro Windows, kterou jsem nikdy nehrál a fungovala parádně. Díky Steam Decku jsme zjistili, že drtivá většina her pro Windows opravdu funguje. Navíc se to dalo použít jako linuxový počítač, třeba když jsem potřeboval nahrát boot image na SD kartu pro Raspberry a zapomněl jsem si doma dokovací stanici.
Ne, že bych do té doby nikdy na Steamu nic nekoupil, ale od té doby seznam her v knihovně vytrvale roste.
Stavíme herní počítač
Myslel jsem si, že mám vystaráno a hřál mne dobrý pocit, že utrácíme u firmy, která pro vývoj Linuxu něco dělá. Doufal jsem, že tím to skončilo. Bohužel na konci zimy přišel Vašík s nápadem, že si našetřil nějaké peníze na virtuální realitu.
Upřímně mě to vyděsilo – tady už se Windows nevyhneme, říkal jsem si. Co takový herní počítač stojí? Po několika dnech přemlouvání jsem nakonec souhlasil, ale pod podmínkou, že si sám najde způsob, jak to rozchodí s Linuxem nebo to prostě vrátíme do 14 dní. Tak si Vašík koupil Meta Quest 2.
Neměl jsem vůbec čas věnovat se tomu a tak mne dost překvapilo, když Vašík objevil projekt ALVR, který fungoval a brýle propojil s Linuxem bez latencí, cukání, prostě v pohodě. Uživatelsky to sice vypadá trochu šíleně, kdo ale viděl TLauncher pro Minecraft, ten už něco vydrží. Každopádně Vašíkovi se to moc líbilo a tvrdil, že mu to stačí. Upozornil jsem ho, že se o aktualizace a údržbu bude muset starat sám, souhlasil a brýle tak zůstaly doma.
Virtuální realita u nás začala na ThinkPadu. Nevěřili byste, co ten notebook s grafikou na procesoru dokáže. Docela dobře dával i Half-Life: Alyx. Vydržel to skoro dva měsíce – pak mu shořel větráček.
Bylo asi čtvrt roku do vysvědčení a my jsme potřebovali, aby si Vašík vylepšil známky. Udělali jsme dohodu, že mu postavím herní počítač, když nebude mít na vysvědčení ani jednu trojku. V opačném případě si ten počítač nechám jako worker node pro Kubernetes cluster.
Tou dobou už jsem tušil a skoro s jistotou věděl, že to na Linuxu dáme. Ukázalo se, že nativní hry pro Windows, které běží na Steam Decku, jedou i na Steamu v obyčejném Linuxu. Tedy až na výjimky. Nicméně kompatibilita je opravdu nečekaně vysoká. Viz třeba informace ke hře Cyberpunk 2077 v databázi ProtonDB.
Pochopil jsem také, proč neexistují herní konzole na Steam. Valve to zkusilo a vlastně uspělo, ale kdo by tehdy kupoval běžné PC s Linuxem? Takže jsem začal hledat rozumný hardware. Bylo jasné, že potřebujeme cokoli, do čeho se vejde grafická karta a bude to mít slušnější chlazení. Celkově jsem si dal cíl, že se chci vejít do 15 tisíc korun.
Náhodou měl můj oblíbený prodejce Lenovo doprodej přímo herních počítačů IdeaCentre G5 AMD Ryzen 5 3600 4,20GHz/16GB/SSD 512GB/bez GK/TWR 13,6/LAN (bez grafické karty). Bylo to už trochu retro, ovšem poměr výkon 17,5 tisíc bodů benchmarku za sedm tisíc korun byl slušný. Hlavní omezení jsme objevili na sběrnici, která byla jen PCIe 3.0 x16.
Dalším omezením byl výkon zdroje a maximální hloubka karty: 21 cm. Chvilku jsem váhal a pak jsem to koupil rovnou i s rozšířením na 32 GB RAM.
Bylo to až nečekaně motivační pro zlepšování známek na vysvědčení, pořád jsme neměli grafickou kartu a už to, že krabice s počítačem přišla, způsobilo zázraky. Vašíkovi jsem udělal tabulku a řekl jsem mu, že si má najít grafickou kartu. Hlavní kritéria byla hloubka, maximální spotřeba, hlučnost a cena. Vašík si dohledával potřebné údaje a myslím, že si při tom pěkně vytrénoval práci s tabulkami.
Koupili jsme MSI GeForce RTX 4060 AERO ITX 8G OC. V testech vykazovala skóre 18 tisíc bodů a oříznutá šířka sběrnice nám nevadila – v počítači byla stejně rychlá. Později se ukázalo, že ve skutečnosti se zatížení na sběrnici pohybuje v jednotkách procent, takže to bylo úplně jedno.
Cenově jsme se skoro vešli do původně plánovaného rozpočtu.
Instalace Linuxu a Steam
Pokud s Linuxem nemáte žádné zkušenosti, pak vás hned potěším. Můžete udělat běžnou instalaci Ubuntu Linuxu 22.04, ovladač karty bude funkční hned po instalaci, a pak už jen nainstalujete Steam. To je vlastně všechno.
Pokud už s Linuxem děláte dlouho a první postup vás hluboce urazil, můžete vše nainstalovat jako profíci a to dokonce opakovatelným způsobem. S Vašíkem jsme se domluvili, že by byla škoda, aby tak výkonný počítač byl jen na hry, a tak je současně i jedním z K8s nodů. Tím je instalace poněkud komplikovanější a dává smysl ji automatizovat pomocí Ansible.
Nastavení pro inventory je pak takovéhle:
--- role: worker ing_priority: 100 cron: K8s mntd: "27" first_disk: none second_disk: none desktop: true language: czech virtualbox: true chrome: true onlyoffice: true brave: true mega: true steam: true vscode: true # openconnect: true firewall: true # Variables for creating firewall rules fw_host_svc: - rule: allow port: 9943:9944 proto: tcp src: "{{ safe_network }}" comment: 'Allow ALVR streaming' - rule: allow port: 9943:9944 proto: udp src: "{{ safe_network }}" comment: 'Allow ALVR streaming'
Nejlepší na konec
Než jsme smazali předinstalovaná Windows, zeptal jsem se Vašíka, jestli je tam přeci jen v dual bootu nenecháme, odpověděl mi: Smaž je.
Videa z hraní na Linuxu najdete na Youtube.
(Autorem obrázků je Václav Dvorský.)