NixOS

Steam installeren op NixOS?

Steam installeren op NixOS?
Als je dingen op NixOS installeert, moet je een pakket in het juiste formaat op de nixos hebben.org webpagina. Steam is beschikbaar, maar sommige eigenaardigheden kunnen je laten struikelen wanneer je het probeert te installeren. Hier hoor je meer over.

Het is met name een niet-vrij softwarepakket, dus u moet deze optie inschakelen. U moet ook het probleem 'glXChooseVisual failed' oplossen. Het proces werkt op de ene manier in NixOS en op een andere manier op andere distributies. Het is ingewikkelder met alleen de Nix-pakketbeheerder.

Wat is stoom??

De meeste mensen die komen, weten dit al, maar laten we het hier toch bespreken. Steam is een platform en markt voor games en gamers. Het begon als een manier om je game bij te werken vanuit Valve. Het was de enige voor de eerste keer in het leven. Naarmate het bedrijf meer games heeft toegevoegd, hebben ze deze ook aan het platform toegevoegd. Met zoveel games beschikbaar, hebben ze het omgebouwd tot een marktplaats en communityplatform. Je kunt nu zowel games spelen als kopen en in contact blijven met andere gamers op het platform. Gezien dit alles wil je het natuurlijk op je NixOS-systeem hebben geïnstalleerd.

Het belangrijkste uitvoerbare bestand installeren

Er zijn in het verleden wat problemen geweest met Steam op NixOS. De problemen zijn opgelost maar vereisen nog wat extra handelingen in vergelijking met andere pakketten.

Een probleem is dat dit geen gratis software is. Ten tweede gebruiken de pakketten Glx van de 32-bits variant, iets dat niet duidelijk wordt weerspiegeld in de pakketten. Deze twee problemen moeten worden aangepakt bij het instellen van de pakketbeheerder: Nix- of NixOS-configuratie (.nix) bestand. De eigenlijke oplossing was om de 32bit-waarde van de dri-ondersteuning in te stellen op true. Er waren er nog een paar, maar dankzij een nieuwe module van Maciej Krüger kun je de module nu gewoon toevoegen met de onderstaande code.

programma's.stoom-.inschakelen = waar;
nixpkgs.configuratie.allowNonFree = waar;

Dit is een module die verschillende problemen heeft opgelost met enkele eigenaardigheden van de Steam-software. Zodra u dit correct hebt ingesteld, kunt u de installatie uitvoeren. Als je geïnteresseerd bent, is de onderstaande code van de commit die de module toevoegt om het mogelijk te maken.

config, lib, pkgs,... :
met lib;
laat
cfg = config.programma's.stoom;
in
opties.programma's.stoom-.enable = mkEnableOption "stoom";
config = mkIf cfg.inschakelen
hardware.opengl = # dit lost de "glXChooseVisual failed" bug op, context:
https://github.com/NixOS/nixpkgs/issues/47932
inschakelen = waar;
driSupport32Bit = waar;
;
# optioneel 32bit pulseaudio-ondersteuning inschakelen als pulseaudio is ingeschakeld
hardware.pulseaudio.support32Bit = config.hardware.pulseaudio.inschakelen;
hardware.steam-hardware.inschakelen = waar;
milieu.systemPackages = [ pkgs.stoom];
;
meta.onderhouders = met beheerders; [ mkg20001 ];

Zoals je in de code kunt zien, activeert het de ondersteuning voor 32-bits directe weergave en audio. Het voegt ook het pakket 'pkgs' toe.steam', het belangrijkste Steam-pakket. Met de eerdere configuratie zou u het hele systeem in gebruik moeten nemen bij de volgende rebuild-switch. Nadat u uw configuratie hebt opgeslagen, voert u het volgende uit:

$ nixos-rebuild-schakelaar

Voor de meesten van jullie zal dit de installatie in staat stellen om verder te gaan. Je moet er nu voor zorgen dat je voldoende schijfruimte hebt voor de installatie. Ook de games die je gaat installeren hebben schijfruimte nodig.

hardware.opengl.driSupport32Bit = waar;

Als er iets misgaat, gebruik dan:

$ strace stoom

Er zijn veel andere optionele pakketten om te installeren als je speciale behoeften of wensen hebt.

nixpkgs.stoomloop (stoomloop)

Waarom heb je stoomloop nodig?? Steam-run maakt het mogelijk om NixOS-bibliotheken te gebruiken in plaats van degene die Steam biedt. Dit kan beter werken als je games wilt draaien die een normaal Linux-systeem eronder verwachten. Sommige games moeten worden gepatcht om te kunnen worden uitgevoerd, met behulp van de Steam-omgeving. De reden is dat alleen de door Steam geleverde games zijn gebouwd voor een gesloten omgeving. Om deze te gebruiken, voegt u de steam-run of steam-run-native toe aan uw configuratiebestand.

milieu.systemPackages = met pkgs; [

steam-run-native
];

Je kunt steam-run ook rechtstreeks als commando gebruiken, zoals dit:

$ stoom-run ./start het spel.sh

Hierdoor wordt het spel rechtstreeks in een Steam-omgeving uitgevoerd.

Ontbrekende afhankelijkheden

Sommige games hebben mogelijk afhankelijkheden nodig die NixOS niet automatisch biedt. Om dit op te lossen, kunt u ze toevoegen aan het configuratiebestand onder systemPackages.

milieu.systemPackages = met pkgs; [

(stoom.overschrijven extraPkgs = pkgs: [ mono gtk3 gtk3-x11 libgdiplus zlib ];
nativeOnly = waar; ).rennen
(stoom.overschrijven withPrimus = waar; extraPkgs = pkgs: [ hommel glxinfo ];
nativeOnly = waar; ).rennen
(stoom.overschrijven withJava = waar; )
];

De bovenstaande code voegt in veel gevallen afhankelijkheden toe. Je kiest natuurlijk zelf degene die je nodig hebt. U kunt ook zoeken naar andere afhankelijkheden die mogelijk ontbreken. U staat er echter alleen voor als u dat doet, dus wees voorbereid om de terminal te gebruiken om deze te starten en te traceren wanneer u om hulp vraagt ​​op de verschillende ondersteuningsforums.

Andere handige pakketten

Je hebt ook een aantal speciale pakketten die je bij sommige problemen kunnen helpen.

nixpkgs.stoomcmd (stoomcmd)

Dit pakket voegt Steam-opdrachtregeltools toe. U kunt dit gebruiken voor het installeren van software en het draaien van uw eigen servers; sommige taken kunnen worden geautomatiseerd.

Je hebt ook veel andere pakketten beschikbaar. Om ze te gebruiken, voeg je ze toe aan je pakketten en herbouw je. De momenteel beschikbare zijn hieronder:

nixpkgs.kodiPlug-ins.stoom-launcher (kodi-plug-in-stoom-launcher)

Start Steam in de Big Picture-modus vanuit Kodi

nixpkgs.pidgin-opensteamworks (pidgin-opensteamworks)

Plugin voor Pidgin 2.x, die Steam Friends/Steam IM-compatibiliteit implementeert

nixpkgs.bitlbee-stoom (bitlbee-stoom)

Plug-in voor Steam-protocol voor BitlBee

nixpkgs.eidolon (eidolon-1.4.6)

Een enkel TUI-gebaseerd register voor drm-vrije, wijn- en stoomspellen op Linux, toegankelijk via een rofi-startmenu

nixpkgs.kodiPlug-ins.steam-controller (kodi-plugin-perifere).stoomregelaar)

Binaire add-on voor de stoomcontroller

nixpkgs.matterbridge (matterbridge-1.18.0)

De eenvoudige brug tussen Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat (via XMPP), Matrix en Steam

nixpkgs.stoomcontroller (stoomcontroller)

Een standalone Steam-controllerstuurprogramma

nixpkgs.sc-controller (sc-controller-0.4.7)

Driver in gebruikersmodus en GUI voor Steam-controller en andere controllers

Conclusie

Steam vormt een klein probleem omdat een groot deel van het platform en sommige games nog steeds 32-bits bibliotheken vereisen, en je moet dat inschakelen. Hopelijk heb je hier je antwoord gekregen. Zo niet, dan kun je het op de forums vragen! NixOS is extreem veelzijdig, maar het is een hele klus om de Nix-taal onder de knie te krijgen. Wanneer u overstapt, zorg er dan voor dat u een basiskennis van de taal hebt om lang zoeken naar oplossingen te voorkomen. Je zou er zelf veel moeten kunnen bedenken met voldoende kennis van de Nix-taal.

Beste gameconsole-emulators voor Linux
Dit artikel bevat een lijst van populaire emulatiesoftware voor gameconsoles die beschikbaar is voor Linux. Emulatie is een softwarecompatibiliteitsla...
Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...
Hoe u uw gamesessie op Linux kunt vastleggen en streamen
In het verleden werd het spelen van games alleen als een hobby beschouwd, maar met de tijd zag de game-industrie een enorme groei in termen van techno...