De staat van gamen op Linux: Wat heb je nodig?
- March 2, 2021
- 0
Om te beginnen met het hardware-technische aspect. Games vragen veel van je systeem, zeker moderne spellen met hogere resoluties. Moderne hardware is dan ook een pre. Denk aan de nieuwe GeForce RTX 30-serie videokaarten van Nvidia. Vergelijk je ze met eerdere krachtpatsers als de RTX 2080 Ti dan krijg je veel waar voor je geld. Maar let ook op AMD, dat volgt met de ‘Big Navi’ RX6000-serie.
AMD en Nvidia zijn dan ook de twee belangrijkste videokaart-producenten. AMD wordt standaard door Linux ondersteund via de kernel en krijgt onder Linux vaak de voorkeur. Bij Nvidia moet je opletten.
Over videokaarten en drivers
Veel distributies gebruiken de opensource Nouveau-driver. Hier worden wel stappen mee gezet, maar vrijwel altijd krijgt de closed-source proprietary driver van Nvidia zelf de voorkeur vanwege de betere prestaties en stabiliteit. Hoewel Nvidia vaak wordt bekritiseerd om het Linux-beleid, heeft het de drivers best goed voor elkaar. Het is alleen geen vrije software (maar wel gratis).
Het grootste minpunt is de gebrekkige ondersteuning voor de displayserver Wayland die ooit het verouderde Xorg zal vervangen. Het is niet lastig om aan de proprietary drivers voor Nvidia te komen. Sinds Ubuntu 19.10 zijn ze standaard ingebouwd. Pop!_OS (waarover straks meer) biedt een apart iso-bestand aan met deze drivers, zodat alles al na de installatie goed staat. Bij Manjaro kun je ze eenvoudig installeren.
Er zijn meer obstakels bij het laten werken van Windows-games onder Linux. De grootste uitdaging zit in de speciale grafische interfaces (api’s) voor het aanspreken van de videokaart. Het helpt enorm als games het platform Vulkan ondersteunen, dat min of meer als opvolger van OpenGL wordt zien. Steeds meer games maken hiervan gebruik. Compatibiliteit met Linux is in zo’n geval gemakkelijk te garanderen.
Voor games die geen Vulkan, maar een DirectX-variant gebruiken, hét domein van Windows en Xbox, is een compatibiliteitslaag nodig. De belangrijkste zijn DXVK (voor DirectX 9/10/11) en VKD3D (voor Direct3D 12) waar veel vorderingen mee zijn gemaakt. Zelfs moderne games werken daarom meestal goed onder Linux.
Beste Linux-distributie voor gaming
Wil je de pc bij de tv gebruiken, puur voor games, als alternatief voor een console? SteamOS is hier specifiek voor ontwikkeld, maar het is niet (meer) de beste optie. Het is te ver verouderd, met Debian 8 als basis, en heeft moeite met moderne hardware. Dan ben je beter of met GamerOS, dat ongeveer hetzelfde doet, maar dan beter.
Na de installatie en enkele onderhoudstaken verschijnt Steam al in de zogenoemde Big Picture Mode en kun je inloggen met je account. Dat het soms lastige Arch Linux als basis wordt gebruikt, merk je nergens. Het gebruiksgemak is enorm hoog. Een leuke toegevoegde waarde is dat je consolegames kunt spelen via ingebouwde en vooraf geconfigureerde emulators als RetroArch, Dolphin en RPCS3.
Hier bewijst Linux nog beter zijn kracht. Je kunt roms eenvoudig toevoegen dankzij de ingebouwde Steam Buddy. Daarvoor gebruik je een browser op een andere pc in je netwerk en ga je naar http://gameros. De beveiligingscode om in te loggen wordt op de tv getoond. Op vergelijkbare wijze kun je software toevoegen via Flatpaks zoals Spotify en Kodi.
Gebruik je de pc ook (of vooral) voor productiviteitstaken, dan heb je een goede desktopomgeving nodig. Ubuntu bedient een brede doelgroep en is ook voor het spelen van games een uitstekende optie. Een mooie variant is Pop!_OS.
Pop!_OS heeft Ubuntu als basis, maar is net wat fraaier afgewerkt en biedt ook enkele handige productiviteitsopties, bijvoorbeeld voor het rangschikken van vensters. Je kunt ook de Arch Linux-route bewandelen met onder meer Manjaro. Dat is een zogenoemde rolling release, waardoor je altijd over de laatste (geteste) software beschikt en geen vaste releases hoeft af te wachten. Het pakketbeheer met Pacman gaat hierin ook erg prettig.
De verdere verschillen tussen distributies zitten veelal verstopt onder de motorkap. Aan de buitenkant zie je vooral de desktopomgeving, waar je een keuze in hebt, al hebben de genoemde distributies een mooie standaardomgeving. Bij Pop!_OS is dat Gnome en bij Maniaro het stabiele Xfce.
Alle genoemde distributies ondersteunen zonder al te veel problemen videokaarten van Nvidia. Met accessoires als controllers en joysticks is er ook zelden een probleem: het is veelal inpluggen en spelen.
Linux-games kopen
Zowel bij de pc als console spelen losse schijfjes met games een steeds kleinere rol. Games worden digitaal aangeleverd via platforms als Steam, Epic Games Store, Uplay en Origin. En dan zijn er nog winkels die losse games of bundels aanbieden tegen lage prijzen, zoals Fanatical en Humble. Wat je daar in feite koopt, zijn sleutels die je op de bekende platforms kunt verzilveren. In de meeste gevallen is dat Steam.
Verder is er met GOG een platform voor het kopen en downloaden van drm-vrije games. Linux wordt door deze winkel al sinds 2014 ondersteund. Aan de icoontjes bij games zie je direct of ze onder Linux werken. Dat gaat dan om zogenoemde native versies. Doorgaans wordt voor deze games Ubuntu geadviseerd, dat kan dus ook een variant zoals Pop!_OS zijn.
Ook voor Steam, het bekendste en grootste platform, wordt officieel Ubuntu aangeraden. Al werkt het ook prima onder Manjaro, waarop het zelfs al standaard is geïnstalleerd. Gelukkig kun je heel veel Windows-games tegenwoordig ook prima onder Linux draaien. Daar is de afgelopen twee jaar veel winst mee geboekt dankzij Proton.
Windows-games in Linux
Linux wordt door sommigen de toekomst van het gamen genoemd. Toch zijn de meeste initiatieven vooral nog gericht op het laten werken van Windows-spellen onder Linux. Een goed voorbeeld is de Proton-tool die ruim twee jaar geleden door Steam werd gelanceerd. Het is in feite een verbeterde versie van Wine, een bekende tool om Windows-toepassingen onder Linux (en ook op de Mac) te laten werken. Deze wordt geholpen door de bibliotheken DXVK en VKD3D voor het vertalen van grafische interfaces, waar Steam ook de schouders onder heeft gezet.
Proton neemt vrijwel al het werk uit handen om games goed te laten werken onder Linux. Je hoeft meestal niets meer zelf te configureren. In het begin ging dat nog wat moeizaam, maar inmiddels werkt het stabiel en zijn volgens ProtonDB bijna 12.000 Windows-games goed speelbaar onder Linux. Iedere versie van Proton brengt verbeteringen voor de speelbaarheid van een heel rijtje bekende titels.
Op ProtonDB kun je per game zien hoe goed hij daadwerkelijk werkt onder Linux, met tips en feedback van gebruikers. Je ziet er ook welke kleine tweaks soms nodig zijn. Voor games die je niet via Steam hebt gekocht, maar bijvoorbeeld op GOG of via Uplay of Origin, doet het opensource Lutris ongeveer hetzelfde. Lutris gebruikt veelal Wine en scripts die door de community worden gemaakt en geoptimaliseerd. Je hoeft alleen een installatiescript te starten. De problemen die er soms nog wel zijn met Proton of Wine, hebben over het algemeen te maken met softwarebeveiligingen.
DRM en anti-cheat
Softwarebeveiligingen zoals drm en anti-cheat gooien vaak roet in het eten bij het draaien van games onder Linux met Proton. Met drm voorkomen uitgevers dat games gekopieerd kunnen worden of bijvoorbeeld – zoals bij Steam – tegelijkertijd op meerdere pc’s worden gespeeld. Anti-cheat moet het modificeren van games onmogelijk maken. Dit speelt vooral een rol bij multiplayergames. Hackers zitten hier vaak de eerlijke spelers in de weg.
Ook moeten zulke beveiligingen voorkomen dat de uitgever zijn eigen verdienmodel overhoop gooit. Steeds meer games zijn namelijk gratis, waarbij de uitgever op andere manieren geld verdient. De twee bekendste implementaties zijn BattleEye en Easy Anti-Cheat. Je komt ze tegen in games als Fortnite, Rainbow Six: Siege, Player Unknown: Battlegrounds, Dead by Daylight en Fall Guys.
Het is voor Proton lastig om zulke beveiligingen te omzeilen, al maakt het team hierachter wel voorzichtige vorderingen. Soms wordt het netjes in de game zelf opgelost. Zo biedt bijvoorbeeld Halo: The Master Chief Collection een optie om te spelen zonder anti-cheat, waardoor het uitstekend onder Linux werkt.
Xbox Game Pass op Linux?
Microsoft probeert sinds de introductie van Windows 10 een centrale app-store van de grond te krijgen, waarin vooral zogenoemde uwp-applicaties (Universal Windows Platform) worden aangeboden. Dit komt maar moeizaam van de grond. Wel lijkt het inmiddels redelijk succesvol met Xbox Game Pass for pc, een abonnementsdienst die toegang tot ongeveer honderd games biedt.
Die kun je downloaden, installeren en spelen via de Xbox-app. Tijdens de proefperiode betaalde je slechts 3,99 euro per maand. Inmiddels is de prijs verhoogd naar 10 euro per maand. Het is evengoed nog steeds een relatief voordelige manier om bijvoorbeeld Wasteland 3, Forza Horizon 4 of Sea of Thieves te spelen.
Onder Linux heb je helaas niets aan het abonnement. De games worden namelijk gedistribueerd en beveiligd als uwp-app en met zulke toepassingen kan Proton/Wine niet overweg. Gebruikers kunnen door de beveiligingen ook niet zelf ‘modden’ als ze dat willen, bijvoorbeeld om door de community gemaakte features toe te voegen, wat erg populair is. Het is zelfs al lastig de installatiemap te benaderen.
Aan de titels zelf ligt het meestal niet, een deel is ook als reguliere Win32-toepassing via bijvoorbeeld Steam te koop en de meeste games blijken dan bovendien prima speelbaar onder Linux. Uitzonderingen zijn er ook. Flight Simulator 2020 is bijvoorbeeld wel via Steam beschikbaar, maar werkt niet onder Linux. De game leunt op bibliotheken die nog niet zijn vertaald. Zelfs onder Windows blijkt de populaire flightsim overigens verre van geoptimaliseerd.
Ondersteuning kan wegvallen
De games waarvoor een native versie voor Linux beschikbaar is, krijgen niet altijd dezelfde aandacht van ontwikkelaars als de Windows-variant. Vooral kleine ontwikkelteams stoppen soms abrupt met de ondersteuning van de Linux-versie, zoals bij Human: Fall Flat gebeurde. De games werken dan nog wel, maar missen nieuwe features en soms ook de online functionaliteit. Rocket League is hier een goed voorbeeld van. Het gevolg laat zich raden.
Veel gebruikers geven zelfs als er een native versie voor Linux beschikbaar is, toch vaak de voorkeur aan het gebruik van Proton. Een typisch voorbeeld is Ark Survival Evolved. In dit geval is het begrijpelijk: de native Linux-versie ziet er grafisch veel minder mooi uit dan in de Windows-versie via Proton met DXVK. Gebruikers missen regelmatig grafische features in de Linux-versie of lopen tegen verminderde prestaties aan, zoals een lagere framerate. Dit kan per titel verschillen. Je zult dus wat onderzoek moeten doen.
Tot slot
Als er een native versie van een game is voor Linux, zal Steam daar standaard de voorkeur aan geven bij de installatie. In andere gevallen kun je de game via Proton proberen. Games die goed onder Linux werken, worden door Valve gecertificeerd en zijn veelal direct te installeren. Dit kun je controleren bij Steam / Settings / Steam Play. Er staat dan een vinkje bij Enable Steam Play for supported titles.
Voor andere titels zijn er geen garanties, al werkt een deel zonder problemen. Om dat te proberen zet je een vinkje bij Enable Steam Play for all other titles. Kies bij Run other titles with een recente versie van Proton in plaats van de standaardoptie Steam Linux Runtime (Solider). Bij die laatste optie wordt namelijk nog steeds een Linux-installatie gedaan, maar dan afgeschermd van de rest van het systeem.
Al met al zijn er dus goede ontwikkelingen wat het spelen van games onder Linux betreft. Je moet alleen wel soms net wat meer moeite doen. Waar je dan nog tegen aan kunt lopen, is dat er door het bescheiden marktaandeel veel minder medegebruikers zijn. Ook ontwikkelaars zijn sterk op Windows gericht. Dat maakt het lastiger om ondersteuning te krijgen voor een specifiek probleem.
Aan de andere kant zijn de gebruikers die er wél zijn meestal ook vrij kundig en behulpzaam. Houd je daar rekening mee, dan is er alsnog genoeg – en telkens meer – te spelen!
Wil je meer leren over Linux? Start nu met de Cursus: Beginnen met Linux (boek & online cursus)