NixOS

Как да инсталирам Steam на NixOS?

Как да инсталирам Steam на NixOS?
Когато инсталирате неща на NixOS, трябва да имате пакет в правилния формат на nixos.уеб страница на организацията. Steam е наличен, но някои странности могат да ви спънат, когато се опитате да го инсталирате. Повече за това ще чуете тук.

По-специално, това е несвободен софтуерен пакет, така че трябва да активирате тази опция. Също така ще трябва да се справите с проблема „glXChooseVisual failed“. Процесът ще работи по един начин в NixOS и по друг начин при други дистрибуции. По-сложно е само с мениджъра на пакети Nix.

Какво е Steam?

Повечето хора, които идват, вече знаят това, но все пак нека го покрием тук. Steam е платформа и пазар за игри и геймъри. Започна като начин да актуализирате играта си от Valve. Това беше единственото за първи път в живота. Тъй като компанията добави още игри, те също ги добавиха към платформата. С толкова много налични игри те го преустроиха, за да бъде пазар и платформа на общността. Вече можете както да играете, така и да купувате игри и да поддържате връзка с останалите геймъри на платформата. Като се има предвид всичко това, разбира се, искате да го инсталирате на вашата система NixOS.

Инсталиране на главния изпълним файл

В миналото имаше някои проблеми със Steam на NixOS. Проблемите бяха решени, но все пак изискват някои допълнителни действия в сравнение с други пакети.

Един от въпросите е, че това не е безплатен софтуер. Второ, пакетите използват Glx на 32-битовия вариант, нещо, което не е ясно отразено в пакетите. Тези два проблема трябва да бъдат разгледани в настройката на мениджъра на пакети: конфигурация Nix или NixOS (.nix) файл. Действителното решение беше да зададете 32-битова стойност на поддръжката на драйвер на true. Имаше няколко други, но благодарение на нов модул от Maciej Krüger, вече можете просто да добавите модула с кода по-долу.

програми.пара.enable = true;
nixpkgs.конфиг.allowNonFree = true;

Това е модул, който е решил няколко проблема с някои странности на софтуера Steam. След като направите този набор правилно, можете да стартирате инсталацията. Ако се интересувате, кодът по-долу е от фиксацията, която добавя модула, за да се случи.

config, lib, pkgs, ...:
с либ;
позволявам
cfg = конфиг.програми.пара;
след
настроики.програми.пара.enable = mkEnableOption "steam";
config = mkIf cfg.активиране
хардуер.opengl = # това поправя грешката "glXChooseVisual failed", контекст:
https: // github.com / NixOS / nixpkgs / issues / 47932
enable = true;
driSupport32Bit = вярно;
;
# по избор активирайте поддръжката на 32bit pulseaudio, ако pulseaudio е активиран
хардуер.pulseaudio.support32Bit = конфигурация.хардуер.pulseaudio.активиране;
хардуер.пара-хардуер.enable = true;
околен свят.systemPackages = [pkgs.пара];
;
мета.поддържащи = с поддържащи; [mkg20001];

Както можете да видите в кода, той активира поддръжката за 32-битово директно рендиране и аудио. Той също така добавя пакета 'pkgs.steam ', което е основният Steam пакет. С по-ранната конфигурация трябва да стартирате и стартирате цялата система при следващия ключ за възстановяване. След като запазите конфигурацията си, изпълнете:

$ nixos-rebuild ключ

За повечето от вас това ще позволи на инсталацията да продължи напред. Сега трябва да се уверите, че имате достатъчно място на диска за инсталацията. Също така игрите, които ще инсталирате, се нуждаят от дисково пространство.

хардуер.opengl.driSupport32Bit = вярно;

Ако нещата се объркат, използвайте:

$ пара пара

Има много други незадължителни пакети за инсталиране, ако имате някакви специални нужди или желания.

nixpkgs.парна работа (парна работа)

Защо се нуждаете от пара? Steam-run прави възможно стартирането с помощта на NixOS библиотеки вместо тези, които Steam предлага. Това може да работи по-добре, когато искате да стартирате игри, които очакват обикновена Linux система отдолу. Някои игри се нуждаят от корекция, за да стартират, използвайки средата Steam. Причината е, че само игрите, предоставени от Steam, са създадени за затворена среда. За да ги използвате, добавете steam-run или steam-run-native към вашия конфигурационен файл.

околен свят.systemPackages = с pkgs; [
..
парно бягане-родно
];

Можете също да използвате парна работа директно като команда, като тази:

$ парна работа ./Започни игра.ш

Това ще стартира играта директно в среда на Steam.

Липсващи зависимости

Някои игри може да се нуждаят от зависимости, които NixOS не предоставя автоматично. За да поправите това, можете да ги добавите към конфигурационния файл под systemPackages.

околен свят.systemPackages = с pkgs; [
..
(пара.замяна extraPkgs = pkgs: [mono gtk3 gtk3-x11 libgdiplus zlib];
nativeOnly = true; ).бягай
(пара.замяна withPrimus = true; extraPkgs = pkgs: [bumblebee glxinfo];
nativeOnly = true; ).бягай
(пара.замяна withJava = true; )
];

Горният код добавя зависимости за много случаи. Вие сами ще изберете тези, от които се нуждаете. Можете също така да потърсите други зависимости, които може да липсват. Въпреки това ще бъдете сами, ако го направите, така че бъдете готови да използвате терминала, за да го стартирате и проследите, когато поискате помощ на различните форуми за поддръжка.

Други полезни пакети

Имате и някои специални пакети, които могат да ви помогнат при някои проблеми.

nixpkgs.steamcmd (steamcmd)

Този пакет добавя инструменти на командния ред на Steam. Можете да използвате това за инсталиране на софтуер и стартиране на собствени сървъри; някои задачи могат да бъдат автоматизирани.

Имате и много други пакети на разположение. За да ги използвате, ги добавяте към своите пакети и възстановявате. Наличните в момента са по-долу:

nixpkgs.kodiPlugins.стартер за пара (kodi-plugin-steam-launcher)

Стартирайте Steam в режим Big Picture от Kodi

nixpkgs.pidgin-opensteamworks (pidgin-opensteamworks)

Приставка за Pidgin 2.x, който прилага Steam Friends / Steam IM съвместимост

nixpkgs.bitlbee-steam (bitlbee-steam)

Приставка за протокол Steam за BitlBee

nixpkgs.ейдолон (ейдолон-1.4.6)

Един-единствен TUI-базиран регистър за игри без drm, вино и пара на Linux, достъпен чрез меню за стартиране на rofi

nixpkgs.kodiPlugins.пароконтролер (kodi-plugin-периферни.пароконтролер)

Двоичен адон за паровия контролер

nixpkgs.материя мост (материя мост-1.18.0)

Простият мост между Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat (чрез XMPP), Matrix и Steam

nixpkgs.пароконтролер (парен контролер)

Самостоятелен драйвер за Steam контролер

nixpkgs.sc-контролер (sc-controller-0.4.7)

Потребителски режим и GUI за Steam контролер и други контролери

Заключение

Steam представлява малък проблем, тъй като голяма част от платформата и някои игри все още изискват 32-битови библиотеки и трябва да активирате това. Надяваме се, че сте получили отговора си тук. Ако не, можете да попитате във форумите! NixOS е изключително гъвкав, но да се справите с езика Nix е скучна работа. Когато превключвате, уверете се, че разбирате фундаментално езика, за да избегнете дълго търсене на решения. Би трябвало да можете сами да излезете с мнозина с достатъчно разбиране на езика Nix.

Как да променяте настройките на мишката и тъчпада с помощта на Xinput в Linux
Повечето дистрибуции на Linux се доставят с библиотека “libinput” по подразбиране за обработка на входни събития в системата. Той може да обработва вх...
Пренастройте бутоните на мишката си по различен начин за различен софтуер с X-Mouse Button Control
Може би се нуждаете от инструмент, който може да промени контрола на мишката с всяко приложение, което използвате. Ако случаят е такъв, можете да изпр...
Преглед на безжична мишка на Microsoft Sculpt Touch
Наскоро прочетох за Microsoft Sculpt Touch безжична мишка и реших да я купя. След като го използвах известно време, реших да споделя опита си с него. ...