W szczególności jest to niewolny pakiet oprogramowania, więc musisz włączyć tę opcję. Będziesz także musiał poradzić sobie z problemem „glXChooseVisual failed”. Proces będzie działał w jedną stronę w NixOS, a w inny sposób w innych dystrybucjach. Jest to bardziej złożone dzięki menedżerowi pakietów Nix.
Co to jest Steam?
Większość ludzi, którzy przychodzą, już to wie, ale i tak omówimy to tutaj. Steam to platforma i rynek gier i graczy. Zaczęło się od aktualizacji twojej gry od Valve. Był to jedyny pierwszy raz w życiu. W miarę jak firma dodawała kolejne gry, dodawała je również do platformy. Przy tak wielu dostępnych grach przebudowali go na rynek i platformę społecznościową. Możesz teraz grać i kupować gry oraz pozostawać w kontakcie z innymi graczami na platformie. Biorąc to wszystko pod uwagę, oczywiście chcesz go zainstalować w swoim systemie NixOS.
Instalowanie głównego pliku wykonywalnego
W przeszłości wystąpiły pewne problemy ze Steam na NixOS. Problemy zostały rozwiązane, ale nadal wymagają dodatkowych działań w porównaniu z innymi pakietami.
Jednym z problemów jest to, że nie jest to wolne oprogramowanie. Po drugie, pakiety używają Glx w wariancie 32-bitowym, co nie jest wyraźnie odzwierciedlone w pakietach. Te dwa problemy należy rozwiązać w konfiguracji menedżera pakietów: konfiguracja Nix lub NixOS (.nix) plik. Rzeczywistym rozwiązaniem było ustawienie 32-bitowej wartości obsługi dri na true. Było jeszcze kilka innych, ale dzięki nowemu modułowi od Macieja Krügera możesz teraz po prostu dodać moduł z poniższym kodem.
programy.parowy.umożliwić = prawda;nixpkgs.konfiguracja.zezwólNonFree = prawda;
Jest to moduł, który rozwiązał kilka problemów z niektórymi dziwactwami oprogramowania Steam. Po prawidłowym ustawieniu tego ustawienia możesz uruchomić instalację. Jeśli jesteś zainteresowany, poniższy kod pochodzi z zatwierdzenia, które dodaje moduł, aby tak się stało.
config, lib, pakiety,… :z lib;
pozwolić
cfg = konfiguracja.programy.parowy;
w
opcje.programy.parowy.enable = mkEnableOption "pary";
config = mkIf cfg.włączyć
sprzęt komputerowy.opengl = # to naprawia błąd „glXChooseVisual failed”, kontekst:
https://github.com/NixOS/nixpkgs/issues/47932
umożliwić = prawda;
driSupport32Bit = prawda;
;
# opcjonalnie włącz obsługę 32-bitowego pulseaudio, jeśli jest włączony pulseaudio
sprzęt komputerowy.dźwięk pulsacyjny.support32Bit = config.sprzęt komputerowy.dźwięk pulsu,.włączyć;
sprzęt komputerowy.sprzęt parowy.umożliwić = prawda;
środowisko.pakiety systemowe = [ pakiety.parowy ];
;
meta.opiekunowie = z opiekunami; [ mkg20001 ];
Jak widać w kodzie, aktywuje obsługę 32-bitowego bezpośredniego renderowania i dźwięku. Dodaje również pakiet „pkgs”.steam”, który jest głównym pakietem Steam. W przypadku wcześniejszej konfiguracji, powinieneś uruchomić cały system przy następnym przełączniku odbudowy. Po zapisaniu konfiguracji uruchom:
$ przełącznik nixos-rebuildWiększości z was pozwoli to na kontynuowanie instalacji. Musisz teraz upewnić się, że masz wystarczająco dużo miejsca na dysku do instalacji. Również gry, które zainstalujesz, również potrzebują miejsca na dysku.
sprzęt komputerowy.otwórzgl.driSupport32Bit = prawda;Jeśli coś pójdzie nie tak, użyj:
$ stracona paraIstnieje wiele innych opcjonalnych pakietów do zainstalowania, jeśli masz jakieś specjalne potrzeby lub pragnienia.
nixpkgs.parowy (parowy)
Dlaczego potrzebujesz pary?? Steam-run umożliwia uruchamianie przy użyciu bibliotek NixOS zamiast tych dostarczanych przez Steam. Może to działać lepiej, gdy chcesz uruchamiać gry, które oczekują zwykłego systemu Linux poniżej. Niektóre gry wymagają łatania, aby działały za pomocą środowiska Steam Steam. Powodem jest to, że tylko gry dostarczane przez Steam są budowane dla zamkniętego środowiska. Aby z nich skorzystać, dodaj steam-run lub steam-run-native do swojego pliku konfiguracyjnego.
środowisko.pakiety systemowe = z pakietami; […
Steam-run-native
];
Możesz także użyć steam-run bezpośrednio jako polecenia, na przykład:
$ na parze ./rozpocząć grę.ciiSpowoduje to uruchomienie gry bezpośrednio w środowisku Steam.
Brakujące zależności
Niektóre gry mogą wymagać zależności, których NixOS nie zapewnia automatycznie. Aby to naprawić, możesz dodać je do pliku konfiguracyjnego w SystemPackages.
środowisko.pakiety systemowe = z pakietami; […
(parowy.zastąp extraPkgs = pakiety: [ mono gtk3 gtk3-x11 libgdiplus zlib ];
Tylko natywny = prawda; ).biegać
(parowy.zastąp withPrimus = true; extraPkgs = pakiety: [ glxinfo trzmiela ];
Tylko natywny = prawda; ).biegać
(parowy.zastąp withJava = true; )
];
Powyższy kod dodaje zależności w wielu przypadkach. Oczywiście sam wybierzesz te, których potrzebujesz. Możesz także poszukać innych zależności, których może brakować. Jeśli jednak to zrobisz, będziesz sam, więc przygotuj się na użycie terminala do uruchomienia i śledzenia go, gdy poprosisz o pomoc na różnych forach pomocy technicznej.
Inne przydatne pakiety
Masz również specjalne pakiety, które mogą Ci pomóc w niektórych problemach.
nixpkgs.steamcmd (steamcmd)
Ten pakiet dodaje narzędzia wiersza poleceń Steam. Możesz go używać do instalowania oprogramowania i uruchamiania własnych serwerów; niektóre zadania można zautomatyzować.
Masz również wiele innych dostępnych pakietów. Aby z nich korzystać, dodajesz je do swoich pakietów i przebudowujesz. Obecnie dostępne są poniżej:
nixpkgs.kodiPlugins.wyrzutnia parowa (kodi-plugin-wyrzutnia parowa)
Uruchom Steam w trybie Big Picture z Kodi
nixpkgs.pidgin-opensteamworks (pidgin-opensteamworks)
Wtyczka dla Pidgina 2.x, który implementuje kompatybilność Steam Friends/Steam IM
nixpkgs.parowa bitlbee (bitlbee parowa)
Wtyczka protokołu Steam dla BitlBee
nixpkgs.ejidolon (eidolon-1.4.6)
Pojedynczy rejestr oparty na TUI dla gier bez drm, wine i steam w systemie Linux, dostępny za pośrednictwem menu uruchamiania rofi
nixpkgs.kodiPlugins.kontroler pary (kodi-plugin-peripheral.parownik)
Dodatek binarny do kontrolera pary
nixpkgs.most materii (matterbridge-1.18.0)
Prosty most między Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Czat, Hipchat (przez XMPP), Matrix i Steam
nixpkgs.kontroler pary (regulator pary)
Samodzielny sterownik kontrolera Steam
nixpkgs.sc-kontroler (sc-kontroler-0.4.7)
Sterownik trybu użytkownika i GUI dla kontrolera Steam i innych kontrolerów
Wniosek
Steam stanowi mały problem, ponieważ duża część platformy i niektóre gry nadal wymagają 32-bitowych bibliotek i musisz to włączyć. Mam nadzieję, że otrzymałeś odpowiedź tutaj. Jeśli nie, możesz zapytać na forach! NixOS jest niezwykle wszechstronny, ale opanowanie języka Nix to przykry obowiązek. Po zmianie upewnij się, że masz podstawową wiedzę na temat języka, aby uniknąć długich, krętych poszukiwań rozwiązań. Powinieneś być w stanie sam wymyślić wiele z wystarczającą znajomością języka Nix.