Zabydlujeme Linux – 5. díl: Hraní bez Windows? Překvapivě dobré, ale drobné mouchy zůstávají

Sdílet

Zabydlujeme Linux (ilustrační foto) Autor: Cnews (s využitím Copilot)
Zabydlujeme Linux (ilustrační foto)
V pátem díle se podíváme na to, jaké potíže čekají v Linuxu na hráče. Není jich bohužel úplně málo. Kromě kompatibility některých her budeme bojovat s nepodporou českého rozložení klávesnice, a řešit problémy se zvukem.

Kompatibilita se zlepšuje, rezervy ale jsou

Úvodem bych chtěl říct, že patřím spíše k příležitostným, rekreačním hráčům, a tak mě často zabaví jednodušší a hardwarově méně náročné hry. Nicméně zrovna v době psaní tohoto seriálu jsem propadl Cyberpunku 2077, takže můžu říct, že alespoň jeden moderní „áčkový“ titul jsem vyzkoušel.

Začnu ale obecnými statistikami. Kompatibilita her spouštěných s pomocí Wine/Protonu se v průběhu let zlepšuje, a dnes by v Linuxu mělo být spustitelných a hratelných okolo 90 % všech titulů. Co nefunguje, je většina her využívajících kernel-level anti-cheat. To se týká primárně her hraných soutěžně jako Fortnite, Call of Duty nebo League of Legends. Nicméně mají-li i single-player režim, často nejde na Linuxu spustit ani ten.

Není to přitom tak, že by „jádrové“ anti-cheat systémy na Linuxu vůbec nešly zprovoznit. Některé na něm umí běžet zcela oficiálně. Problém je ale na straně tvůrců her, kteří nechtějí zajišťovat podporu další platformy kvůli pár procentům hráčů, a tak tyto hry v Linuxu záměrně zneprovozňují.

Dva nejlepší přátelé hráčů: Steam a Heroic Launcher

Za současný stav hraní na Linuxu má velké zásluhy společnost Valve. Máte-li hry nakoupené na Steamu, stačí nainstalovat klienta, a většina vaší knihovny bude fungovat „out of the box“. Na pozadí se používá vrstva kompatibility Proton, ale vy se o její nastavení starat nemusíte.

Steam má nativního Linuxového klienta, kterého lze nainstalovat jako systémový balíček z repozitářů, nebo jako Flatpak. Preferujte první variantu – s Flatpakem můžete narazit na některé problémy pramenící z toho, že běží v sandboxu. Například nefungují některé gamepady.

Heroic Launcher

Heroic Launcher

Autor: Lukáš Fiala

GOG, Epic Games a Amazon Prime Gaming nativního linuxového klienta nemají (byť pro GOG je v plánu), ale je tady Heroic Launcher. Přes něj hry nejen nainstalujete a spustíte stejně snadno jako na Steamu, ale i nakoupíte, neboť obchody jsou jen webové stránky obalené do aplikace.

Linuxové hraní dostane upgrade. Velký videoherní hráč chystá nativní klient pro Ubuntu a Steam Deck Přečtěte si také:

Linuxové hraní dostane upgrade. Velký videoherní hráč chystá nativní klient pro Ubuntu a Steam Deck

Mimo obchody to může být piplačka

Kromě moderních her jsem chtěl vyzkoušet i nějaké ty klenoty z herní historie. MechCommander (1998) v obchodech nenajdete, proč také, když je volně ke stažení jako freeware. Nainstalovat jej lze přes Lutris. To se mi sice podařilo, včetně novodobých úprav pro širokoúhlé rozlišení, ale nějaké mouchy to má. V hlavním menu a „plánovacích“ obrazovkách nefunguje škálování rozlišení, takže se vám malý čtverec s titěrnými písmenky krčí v levém horním rohu obrazovky. Pro mé léty unavené oči nic moc. Snad jedině měnit rozlišení plochy před spuštěním. Hrát se to ale dá.

Aplikace Lutris

Aplikace Lutris

Autor: Lukáš Fiala

Méně úspěšný jsem byl u F-16: Multirole Fighter (1998). Hru se mi sice podařilo z obrazu ISO nainstalovat, ale ne už spustit. Vyžaduje originální CD v mechanice, což byla v těchto dobách běžná protipirátská ochrana. Někde ho mám, a stejně tak mám někde funkční optickou mechaniku, ale ne v tomto počítači. Kapituloval jsem, a za nějakých 60 korun jsem hru koupil na Steamu, kde byla zrovna ve slevě.

Hra funguje v režimu softwarového renderingu, emulaci Glide se mi zprovoznit nepodařilo. Lutris i Steam jsou na to zařízené, obsahují knihovny dgVoodoo2, ale letecké hry od Novalogicu na něm neběží. Ve Windows to kdysi šlo s nGlide, s jeho instalací přes Wine už se mi patlat nechtělo.

Pro herní archeologii jsou tedy asi Windows lepší, byť ne úplně vždy a všude. V Disciples II (2002) ze Steamu jsem pod Windows 10 pozoroval podivné záseky (které, pravda, u tahové strategie zase tolik nevadí), v Linuxu hra běží plynule.

Nezbedná číselná řada kláves

Je to dlouhodobý a rozšířený problém. Hry běžící pod Linuxem neregistrují stisky kláves z číselné řady. Souvisí to s českým rozložením, které na těchto klávesách má znaky s diakritikou namísto čísel. Windows to mají nějak vyřešené, Linux ne. U některých her to tolik nevadí, někde si klávesy můžete přemapovat, ale někde to nejde, nebo to vážně dělat nechcete.

Mapa kláves ke hře F-16: Multirole Fighter s autentickou patinou

Mapa kláves ke hře F-16: Multirole Fighter s autentickou patinou

Autor: Lukáš Fiala

Při svém experimentování jsem zjistil, že ne všechny hry se chovají stejně. Někde se akce namapovaná na číselnou klávesu dá vyvolat se Shiftem, jako kdybyste chtěli danou číslici napsat (Cyberpunk 2077, F-16: MRF). Jiné hry ale berou Shift jako samostatnou klávesu, a na číselnou řadu nelze namapovat žádnou akci (Cities in Motion).

Řešením může být přepínat rozložení klávesnice na americké, což lze automatizovat. U her spouštěných přes Steam můžete z knihovny otevřít vlastnosti hry, a do kolonky „Launch Options“ zadat tento příkaz:

setxkbmap us && %command% ; setxkbmap cz

Tímto se před spuštěním samotné hry (%command%) nastaví rozložení klávesnice na americké (English US), a po ukončení hry zpět na české.

Nastavení skriptů před spuštěním a po ukončení v Heroic launcheru

Nastavení skriptů před spuštěním a po ukončení v Heroic launcheru

Autor: Lukáš Fiala

Heroic Launcher to umí také, v nastavení nainstalované hry na kartě Advanced můžete zadat příkazy nebo skripty, které mají běžet před spuštěním a po ukončení. Nastavovat to pro každou hru zvlášť ale není zrovna pohodlné řešení. Alternativně lze americké rozložení kláves nastavit pro celý Steam (nebo Heroic), a ten potom spouštět skrz vlastní shell skript.

#!/bin/bash
# Switch to US
setxkbmap us
# Start Steam and wait
steam "$@"
# Restore layout when Steam exits
setxkbmap cz

Toto nastavení by se pak mělo projevit i ve všech hrách, které ze Steamu spustíte. Jenže budete mít americkou klávesnici i v celém Steamu, tedy při hledání v obchodě a psaní recenzí nebo zpráv kamarádům. To je na houby. Máte-li někdo dobré řešení, podělte se prosím v komentářích – já ho neznám.

A to navíc nebyl jediný problém, na který jsem při hraní na Linuxu narazil.

Co dělat při potížích se zvukem

Zejména při hraní Cyberpunku 2077 jsem pozoroval občasné zasekávání zvuku, projevující se krátkým zabzučením, jak se dokola opakuje poslední přehrávaný zvuk. Takové chování může mít více příčin. Pokud se ale děje během hraní, s největší pravděpodobností dochází k podtečení bufferu zvukového kodeku, když ho plně zatížený procesor nestihne včas nakrmit. A Cyberpunk 2077 je na procesor náročný, minimální požadavky uvádějí Core i7–6700.

Cyberpunk 2077

Cyberpunk 2077

Autor: CD Project RED

Jako první krok jsem tedy zvětšil buffer. Nejprve do své domovské složky zkopírujete soubor pipewire.conf, čímž překryjete globální nastavení pouze pro svůj uživatelský účet.

mkdir -p ~/.config/pipewire
cp /usr/share/pipewire/pipewire.conf ~/.config/pipewire/

Posléze ve zkopírovaném souboru najděte klíč default.clock.min-quantum, který stanovuje minimální velikost bufferu. Řádek odkomentujte a hodnotu (původně 32) zvyšte. Zvětšování bufferu snižuje riziko praskání a zasekávání, ale za cenu zvýšení latence. Jestliže vzorkovací frekvence je 48 kHz, velikost bufferu 480 quantums znamená latenci 10 ms, přičemž reálná latence typicky bývá dvojnásobek bufferu (protože zatímco se buffer plní, přehrává se ten předchozí). Není proto dobrý nápad napálit sem příliš vysoké číslo. Já jsem použil 768, nad 1024 bych nechodil.

Školení Kubernetes

Jako druhý krok jsem z bazaru pořídil Core i7–6700.

Píšu to proto, že ačkoliv tento díl nevyznívá pro Linux příliš pozitivně, nezlomil jsem nad ním hůl. Problémy jsou, ale dají se řešit. Proto jsem ještě zainvestoval do platformy, která je pro Windows 11 mrtvá.

Kvíz týdne

Tyto konektory zná každý. Ale víte, co jejich zkratky doopravdy znamenají?
1/9 otázek