Jo īpaši tā ir programmatūras pakete, kas nav brīva, tāpēc jums ir jāiespējo šī opcija. Jums būs jārisina arī problēma “glXChooseVisual neizdevās”. Process NixOS darbosies vienādi, bet citos izplatījumos - citādi. Tas ir sarežģītāk, izmantojot tikai Nix pakotņu pārvaldnieku.
Kas ir Steam?
Lielākā daļa atnākušo cilvēku to jau zina, bet to tomēr apskatīsim šeit. Steam ir spēļu un spēlētāju platforma un tirgus. Tas sākās kā veids, kā atjaunināt savu spēli no Valve. Tas bija vienīgais pirmo reizi dzīvē. Tā kā uzņēmums pievienoja vairāk spēļu, viņi tos arī pievienoja platformai. Tā kā ir pieejams tik daudz spēļu, viņi to pārbūvēja par tirgus un kopienas platformu. Tagad platformā varat gan spēlēt, gan iegādāties spēles, gan sazināties ar citiem spēlētājiem. Ņemot to visu vērā, protams, vēlaties, lai tas tiktu instalēts jūsu NixOS sistēmā.
Galvenā izpildāmā faila instalēšana
Iepriekš ar Steam uz NixOS ir bijušas dažas problēmas. Problēmas tika atrisinātas, taču tām joprojām ir nepieciešamas papildu darbības, salīdzinot ar citām pakotnēm.
Viens jautājums ir tāds, ka šī nav bezmaksas programmatūra. Otrkārt, paketēs tiek izmantots 32 bitu varianta Glx, kas nav skaidri atspoguļots paketēs. Šie divi jautājumi jārisina pakotņu pārvaldnieka iestatījumos: Nix vai NixOS konfigurācija (.nix) fails. Faktiskais risinājums bija iestatīt dri atbalsta 32bit vērtību uz true. Bija daži citi, taču, pateicoties jaunam Maciej Krüger modulim, jūs tagad varat vienkārši pievienot moduli ar zemāk esošo kodu.
programmas.tvaiks.iespējot = taisnība;nixpkgs.konfigurēt.allowNonFree = taisnība;
Šis ir modulis, kas ir atrisinājis vairākas problēmas ar dažām Steam programmatūras dīvainībām. Kad esat pareizi iestatījis šo iestatījumu, varat palaist instalēšanu. Ja jūs interesē, zemāk redzamais kods ir no saistības, kas moduli pievieno, lai tas notiktu.
config, lib, pkgs,…:ar lib;
ļaujiet
cfg = konfigurācija.programmas.tvaiks;
iespējas.programmas.tvaiks.enable = mkEnableOption "tvaiks";
config = mkJa cfg.iespējot
aparatūra.opengl = # tas novērš kļūdu "glXChooseVisual neizdevās", konteksts:
https: // github.com / NixOS / nixpkgs / issues / 47932
iespējot = taisnība;
driSupport32Bit = true;
;
# pēc izvēles iespējot 32 bitu pulseaudio atbalstu, ja pulseaudio ir iespējots
aparatūra.pulseaudio.support32Bit = konfigurācija.aparatūra.pulseaudio.iespējot;
aparatūra.tvaika aparatūra.iespējot = taisnība;
vide.systemPackages = [pkgs.tvaiks];
;
meta.uzturētāji = ar uzturētājiem; [mkg20001];
Kā redzat kodā, tas aktivizē atbalstu 32 bitu tiešajai atveidei un audio. Tas arī pievieno paketi “pkgs.steam ”, kas ir galvenā Steam pakete. Izmantojot iepriekšējo konfigurāciju, nākamajā sistēmā jāatjaunina visa sistēma. Kad esat saglabājis konfigurāciju, palaidiet:
$ nixos-rebuild slēdzisLielākajai daļai no jums tas ļaus instalēt uz priekšu. Tagad jums jāpārliecinās, vai instalēšanai ir pietiekami daudz vietas diskā. Arī spēlēm, kuras instalēsit, ir nepieciešama arī diska vieta.
aparatūra.atvērt.driSupport32Bit = true;Ja kaut kas noiet greizi, izmantojiet:
$ strace tvaiksJa jums ir kādas īpašas vajadzības vai vēlmes, ir jāinstalē daudzas citas izvēles pakotnes.
nixpkgs.tvaika palaist (tvaika palaist)
Kāpēc jums ir nepieciešams tvaika palaist? Steam-run ļauj palaist, izmantojot NixOS bibliotēkas, nevis tās, kuras nodrošina Steam. Tas var darboties labāk, ja vēlaties palaist spēles, kuru zemāk gaidāma regulāra Linux sistēma. Lai palaistu, dažām spēlēm ir nepieciešams plāksteris, izmantojot Steam vidi. Iemesls ir tāds, ka tikai Steam nodrošinātās spēles ir veidotas slēgtai videi. Lai tos izmantotu, konfigurācijas failā pievienojiet tvaika vai tvaika palaist.
vide.systemPackages = ar pkgs; […
tvaika palaist-dzimtā
];
Kā komandu varat arī tieši izmantot tvaika palaišanu, piemēram:
$ tvaika skrējiens ./sākt spēli.shTādējādi spēle darbosies tieši Steam vidē.
Trūkst atkarību
Dažām spēlēm var būt nepieciešamas atkarības, kuras NixOS automātiski nenodrošina. Lai to novērstu, varat tos pievienot konfigurācijas failam sadaļā systemPackages.
vide.systemPackages = ar pkgs; […
(tvaiks.ignorēt extraPkgs = pkgs: [mono gtk3 gtk3-x11 libgdiplus zlib];
nativeOnly = true; ).palaist
(tvaiks.ignorēt withPrimus = true; extraPkgs = pkgs: [kamene glxinfo];
nativeOnly = true; ).palaist
(tvaiks.ignorēt arJava = patiess; )
];
Iepriekš minētais kods daudzos gadījumos pievieno atkarības. Jūs, protams, izvēlēsieties sev vajadzīgos. Varat arī meklēt citas atkarības, kuru, iespējams, trūkst. Tomēr, ja jūs to darīsit, būsiet viens pats, tāpēc esiet gatavs izmantot termināli, lai to palaistu un izsekotu, kad lūdzat palīdzību dažādos atbalsta forumos.
Citas noderīgas paketes
Jums ir arī dažas īpašas paketes, kas var jums palīdzēt dažos jautājumos.
nixpkgs.tvaika cm (tvaika cm)
Šajā paketē tiek pievienoti Steam komandrindas rīki. To varat izmantot programmatūras instalēšanai un savu serveru darbināšanai; dažus uzdevumus var automatizēt.
Jums ir pieejami arī daudzi citi paketes. Lai tos izmantotu, pievienojiet tos pakotnēm un atjaunojiet. Pašlaik pieejamie ir zemāk:
nixpkgs.kodiPlugins.tvaika palaidējs (kodi-plugin-steam-launcher)
Palaidiet Steam lielā attēla režīmā no Kodi
nixpkgs.pidgin-opensteamworks (pidgin-opensteamworks)
Pidgin 2 spraudnis.x, kas ievieš saderību ar Steam Friends / Steam IM
nixpkgs.bitlbee-steam (bitlbee-steam)
Steam protokola spraudnis BitlBee
nixpkgs.eidolons (eidolons-1.4.6)
Viens TUI balstīts reģistrs bez drm, vīna un tvaika spēlēm uz Linux, kuram var piekļūt, izmantojot rofi palaišanas izvēlni
nixpkgs.kodiPlugins.tvaika kontrolieris (kodi-plugin-peripheral.tvaika kontrolieris)
Binārais papildinājums tvaika kontrolierim
nixpkgs.matērija (matērija-1.18.0)
Vienkāršais tilts starp Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Tērzēšana, Hipchat (izmantojot XMPP), Matrix un Steam
nixpkgs.tvaika kontrolieris (tvaika kontrolieris)
Atsevišķs Steam kontroliera draiveris
nixpkgs.sc-kontrolieris (sc-kontrolieris-0.4.7)
Lietotāja režīma draiveris un GUI Steam kontrolierim un citiem kontrolieriem
Secinājums
Steam rada nelielu problēmu, jo lielai daļai platformas un dažām spēlēm joprojām ir nepieciešamas 32 bitu bibliotēkas, un jums tas ir jāiespējo. Cerams, ka šeit esat saņēmis savu atbildi. Ja nē, jūs varat jautāt forumos! NixOS ir ārkārtīgi daudzpusīgs, taču, lai tiktu galā ar Nix valodu, tas ir nepatīkams darbs. Pārslēdzoties, pārliecinieties, ka jums ir kāda pamata izpratne par valodu, lai izvairītos no ilgstošiem risinājumu meklējumiem. Jums pašiem vajadzētu būt iespējai izdomāt daudzus, pietiekami labi pārzinot Nix valodu.