NixOS

Sådan installeres Steam på NixOS?

Sådan installeres Steam på NixOS?
Når du installerer ting på NixOS, skal du have en pakke i det rigtige format på nixos.org-webside. Damp er tilgængelig, men nogle quirks kan give dig en stigning, når du prøver at installere det. Du vil høre mere om dette her.

Især er det en ikke-gratis softwarepakke, så du skal aktivere denne mulighed. Du bliver også nødt til at håndtere problemet 'glXChooseVisual failed'. Processen fungerer på en måde i NixOS og en anden måde på andre distributioner. Det er mere komplekst med bare Nix pakkehåndtering.

Hvad er Steam?

De fleste mennesker, der kommer, ved det allerede, men lad os alligevel dække det her. Steam er en platform og et marked for spil og gamere. Det startede som en måde at opdatere dit spil fra Valve på. Det var den eneste for første gang i livet. Da virksomheden tilføjede flere spil, tilføjede de dem også til platformen. Med så mange tilgængelige spil genopbyggede de det til at være en markedsplads og fællesskabsplatform. Du kan nu både spille og købe spil og holde kontakten med andre gamere på platformen. I betragtning af alt dette vil du selvfølgelig have det installeret på dit NixOS-system.

Installation af den primære eksekverbare

Der har været nogle problemer med Steam på NixOS tidligere. Problemerne blev løst, men kræver stadig nogle ekstra handlinger sammenlignet med andre pakker.

Et problem er, at dette ikke er gratis software. For det andet bruger pakkerne Glx af 32-bit-varianten, noget der ikke tydeligt afspejles i pakkerne. Disse to problemer skal løses i opsætningen af ​​pakkehåndteringen: Nix- eller NixOS-konfiguration (.nix) -fil. Den egentlige løsning var at indstille dri support 32bit-værdien til sand. Der var et par andre, men takket være et nyt modul fra Maciej Krüger kan du nu bare tilføje modulet med koden nedenfor.

programmer.damp.aktiver = sand;
nixpkgs.config.allowNonFree = sandt;

Dette er et modul, der har løst flere problemer med nogle quirks af Steam-softwaren. Når du har dette sæt korrekt, kan du køre installationen. Hvis du er interesseret, er nedenstående kode fra den forpligtelse, der tilføjer modulet for at få det til at ske.

config, lib, pkgs,…:
med lib;
lade
cfg = config.programmer.damp;
i
muligheder.programmer.damp.aktivér = mkEnableOption "steam";
config = mkHvis cfg.aktiver
hardware.opengl = # dette løser fejlen "glXChooseVisual failed", kontekst:
https: // github.com / NixOS / nixpkgs / issues / 47932
aktiver = sand;
driSupport32Bit = sand;
;
# aktiver valgfrit 32bit pulseaudio support, hvis pulseaudio er aktiveret
hardware.pulseaudio.support32Bit = config.hardware.pulseaudio.aktivere;
hardware.damp-hardware.aktiver = sand;
miljø.systemPackages = [pkgs.damp];
;
meta.vedligeholdere = med vedligeholdere; [mkg20001];

Som du kan se i koden, aktiverer den understøttelse af 32-bit direkte gengivelse og lyd. Det tilføjer også pakken 'pkgs.steam ', som er den vigtigste Steam-pakke. Med den tidligere konfiguration skal du starte hele systemet ved næste ombygningskontakt. Når du har gemt din konfiguration, skal du køre:

$ nixos-genopbygningsafbryder

For de fleste af jer vil dette gøre det muligt for installationen at gå videre. Du skal nu sikre dig, at du har nok diskplads til installationen. Også de spil, du vil installere, har også brug for diskplads.

hardware.opengl.driSupport32Bit = sand;

Hvis ting går galt, skal du bruge:

$ strace steam

Der er mange andre valgfri pakker, der skal installeres, hvis du har særlige behov eller ønsker.

nixpkgs.steam-run (steam-run)

Hvorfor har du brug for dampkørsel? Steam-run gør det muligt at køre ved hjælp af NixOS-biblioteker i stedet for dem, Steam leverer. Dette fungerer muligvis bedre, når du vil køre spil, der forventer et almindeligt Linux-system nedenunder. Nogle spil skal patches for at køre ved hjælp af Steam-miljøet. Årsagen er, at kun Steam-leverede spil er bygget til et lukket miljø. For at bruge disse skal du tilføje steam-run eller steam-run-native til din konfigurationsfil.

miljø.systemPackages = med pkgs; [
..
steam-run-native
];

Du kan også bruge dampkørsel direkte som en kommando, som denne:

$ dampkørsel ./Start Spil.sh

Dette kører spillet direkte i et dampmiljø.

Manglende afhængigheder

Nogle spil har muligvis brug for afhængigheder, som NixOS ikke automatisk leverer. For at løse dette kan du tilføje dem til konfigurationsfilen under systemPackages.

miljø.systemPackages = med pkgs; [
..
(damp.tilsidesætte extraPkgs = pkgs: [mono gtk3 gtk3-x11 libgdiplus zlib];
nativeOnly = sandt; ).løb
(damp.tilsidesætte withPrimus = true; extraPkgs = pkgs: [humlebi glxinfo];
nativeOnly = sandt; ).løb
(damp.tilsidesætte withJava = true; )
];

Ovenstående kode tilføjer afhængigheder i mange tilfælde. Du vælger selvfølgelig dem, du har brug for. Du kan også se efter andre afhængigheder, der mangler. Du vil dog være alene, hvis du gør det, så vær forberedt på at bruge terminalen til at starte og spore den, når du beder om hjælp på de forskellige supportfora.

Andre nyttige pakker

Du har også nogle specielle pakker, der kan hjælpe dig med nogle problemer.

nixpkgs.steamcmd (steamcmd)

Denne pakke tilføjer Steam-kommandolinjeværktøjer. Du kan bruge dette til at installere software og køre dine egne servere; nogle opgaver kan automatiseres.

Du har også mange andre pakker til rådighed. For at bruge dem skal du føje dem til dine pakker og genopbygge. De aktuelt tilgængelige er nedenfor:

nixpkgs.kodiPlugins.steam-launcher (kodi-plugin-steam-launcher)

Start Steam i Big Picture Mode fra Kodi

nixpkgs.pidgin-opensteamworks (pidgin-opensteamworks)

Plugin til Pidgin 2.x, som implementerer Steam Friends / Steam IM-kompatibilitet

nixpkgs.bitlbee-steam (bitlbee-steam)

Steam-protokolplugin til BitlBee

nixpkgs.eidolon (eidolon-1.4.6)

Et enkelt TUI-baseret register til drm-fri, vin- og dampspil på Linux, der er adgang til via en rofi-startmenu

nixpkgs.kodiPlugins.damp-controller (kodi-plugin-perifer.steamcontroller)

Binært addon til dampcontrolleren

nixpkgs.matterbridge (matterbridge-1.18.0)

Den enkle bro mellem Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat (via XMPP), Matrix og Steam

nixpkgs.steamcontroller (steamcontroller)

En enkeltstående Steam-controller-driver

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

User-mode driver og GUI til Steam-controller og andre controllere

Konklusion

Steam udgør et lille problem, fordi en stor del af platformen og nogle spil stadig kræver 32-bit biblioteker, og du skal aktivere det. Forhåbentlig har du fået dit svar her. Hvis ikke, kan du spørge på foraene! NixOS er ekstremt alsidig, men det er en opgave at få fat i Nix-sproget. Når du skifter, skal du sørge for at have en grundlæggende forståelse af sproget for at undgå langvarige søgninger efter løsninger. Du skal være i stand til selv at komme med mange med nok forståelse af Nix-sproget.

Sådan bruges GameConqueror Cheat Engine i Linux
Artiklen dækker en vejledning om brug af GameConqueror-snydemotoren i Linux. Mange brugere, der spiller spil på Windows, bruger ofte "Cheat Engine" -a...
Bedste spilkonsolemulatorer til Linux
Denne artikel viser en liste over populære spilkonsolemuleringssoftware, der er tilgængelig til Linux. Emulation er et softwarekompatibilitetslag, der...
Bedste Linux Distros til spil i 2021
Linux-operativsystemet er kommet langt fra dets originale, enkle, serverbaserede udseende. Dette operativsystem er forbedret enormt i de senere år og ...