NixOS

Как установить Steam на NixOS?

Как установить Steam на NixOS?
При установке чего-либо на NixOS вам необходимо иметь пакет в правильном формате на nixos.веб-страница организации. Steam доступен, но некоторые причуды могут сбить вас с толку, когда вы попытаетесь его установить. Вы узнаете об этом больше здесь.

В частности, это несвободный программный пакет, поэтому вы должны включить эту опцию. Вам также необходимо будет решить проблему "сбой glXChooseVisual". Этот процесс будет работать одним способом в NixOS и другим способом в других дистрибутивах. С диспетчером пакетов Nix все сложнее.

Что такое Steam?

Большинство пришедших уже знают об этом, но давайте все равно расскажем об этом. Steam - это платформа и рынок для игр и геймеров. Это началось как способ обновить вашу игру от Valve. Это был единственный раз в жизни. Поскольку компания добавляла больше игр, они также добавляли их на платформу. Благодаря такому количеству доступных игр, они перестроили его, превратив его в торговую площадку и платформу для сообщества. Теперь вы можете играть и покупать игры, а также оставаться на связи с другими игроками на платформе. Учитывая все это, конечно, вы хотите, чтобы он был установлен в вашей системе NixOS.

Установка основного исполняемого файла

В прошлом были некоторые проблемы со Steam на NixOS. Проблемы были решены, но по-прежнему требуют дополнительных действий по сравнению с другими пакетами.

Одна проблема в том, что это не бесплатное программное обеспечение. Во-вторых, в пакетах используется Glx 32-разрядного варианта, что явно не отражено в пакетах. Эти две проблемы необходимо решить при настройке диспетчера пакетов: Nix или конфигурация NixOS (.nix) файл. Фактическое решение состояло в том, чтобы установить для 32-битного значения поддержки Drift значение true. Было несколько других, но благодаря новому модулю от Maciej Krüger теперь вы можете просто добавить модуль с кодом ниже.

программы.готовить на пару.enable = true;
nixpkgs.config.allowNonFree = true;

Это модуль, который решил несколько проблем с некоторыми причудами программного обеспечения Steam. После того, как вы все настроите правильно, вы можете запустить установку. Если вам интересно, приведенный ниже код взят из коммита, который добавляет модуль, чтобы это произошло.

config, lib, pkgs,…:
с lib;
позволять
cfg = config.программы.готовить на пару;
в
параметры.программы.готовить на пару.enable = mkEnableOption "пара";
config = mkIf cfg.включить
аппаратное обеспечение.opengl = # это исправляет ошибку "glXChooseVisual failed", контекст:
https: // github.com / NixOS / nixpkgs / issues / 47932
enable = true;
driSupport32Bit = true;
;
# опционально включить поддержку 32-битного PulseAudio, если PulseAudio включен
аппаратное обеспечение.Pulseaudio.support32Bit = конфигурация.аппаратное обеспечение.Pulseaudio.включить;
аппаратное обеспечение.паровая техника.enable = true;
среда.systemPackages = [pkgs.готовить на пару ];
;
мета.сопровождающие = с сопровождающими; [мкг20001];

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

Переключатель $ nixos-rebuild

Для большинства из вас это позволит продолжить установку. Теперь вам нужно убедиться, что у вас достаточно места на диске для установки. Кроме того, играм, которые вы будете устанавливать, также потребуется место на диске.

аппаратное обеспечение.opengl.driSupport32Bit = true;

Если что-то пойдет не так, используйте:

$ Strace Steam

Есть много других дополнительных пакетов, которые можно установить, если у вас есть особые потребности или желания.

nixpkgs.паровой бег (паровой ход)

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

среда.systemPackages = с пакетами; [

паровой
];

Вы также можете использовать steam-run напрямую как команду, например:

$ steam-run ./начать игру.ш

Это запустит игру напрямую в среде Steam.

Отсутствующие зависимости

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

среда.systemPackages = с пакетами; [

(готовить на пару.переопределить extraPkgs = pkgs: [mono gtk3 gtk3-x11 libgdiplus zlib];
nativeOnly = true; ).запустить
(готовить на пару.переопределить withPrimus = true; extraPkgs = pkgs: [glxinfo шмеля];
nativeOnly = true; ).запустить
(готовить на пару.переопределить withJava = true; )
];

Приведенный выше код добавляет зависимости для многих случаев. Вы, конечно, сами выберете те, которые вам нужны. Вы также можете найти другие зависимости, которые могут отсутствовать. Тем не менее, если вы это сделаете, вы будете сами по себе, поэтому будьте готовы использовать терминал для запуска и отслеживания, когда вы обращаетесь за помощью на различных форумах поддержки.

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

У вас также есть специальные пакеты, которые могут помочь вам с некоторыми проблемами.

nixpkgs.steamcmd (steamcmd)

Этот пакет добавляет инструменты командной строки Steam. Вы можете использовать это для установки программного обеспечения и запуска ваших собственных серверов; некоторые задачи можно автоматизировать.

У вас также есть много других доступных пакетов. Чтобы использовать их, вы добавляете их в свои пакеты и перестраиваете. Ниже приведены доступные в настоящее время:

nixpkgs.kodiPlugins.Steam-пусковая установка (kodi-plugin-steam-launcher)

Запустите Steam в режиме большого изображения из Kodi

nixpkgs.pidgin-opensteamworks (pidgin-opensteamworks)

Плагин для Pidgin 2.x, который реализует совместимость Steam Friends / Steam IM

nixpkgs.битлби-пар (битлби-пар)

Плагин протокола Steam для BitlBee

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

Единый реестр на основе TUI для игр без DRM, Wine и Steam в Linux, доступ к которому осуществляется через меню запуска rofi

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

Бинарный аддон для парового контроллера

nixpkgs.материтбридж (материтбридж-1.18.0)

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

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

Автономный драйвер контроллера Steam

nixpkgs.СК-контроллер (СК-контроллер-0.4.7)

Драйвер пользовательского режима и графический интерфейс для контроллера Steam и других контроллеров

Заключение

Steam представляет небольшую проблему, потому что большая часть платформы и некоторые игры по-прежнему требуют 32-битных библиотек, и вам необходимо включить это. Надеюсь, вы получили здесь свой ответ. Если нет, вы можете спросить на форумах! NixOS чрезвычайно универсален, но разобраться с языком Nix - рутинная работа. Когда вы переключаетесь, убедитесь, что у вас есть некоторые фундаментальные знания языка, чтобы избежать долгих извилистых поисков решений. Вы должны быть в состоянии придумать многие сами, достаточно разбираясь в языке Nix.

10 лучших игр для Ubuntu
Платформа Windows была одной из доминирующих платформ для игр из-за огромного процента игр, которые разрабатываются сегодня с встроенной поддержкой Wi...
5 лучших аркад для Linux
В настоящее время компьютеры - это серьезные машины, используемые для игр. Если вы не можете получить новый рекорд, вы поймете, о чем я. В этом посте ...
Битва за Веснот 1.13.6 Выпущена разработка
Битва за Веснот 1.13.6, выпущенная в прошлом месяце, является шестой разработкой в ​​1.13.x и содержит ряд улучшений, в первую очередь пользовательско...