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. Було кілька інших, але завдяки новому модулю від Мацея Крюгера, тепер ви можете просто додати модуль із кодом нижче.

програм.пар.enable = true;
nixpkgs.конфігурація.allowNonFree = true;

Це модуль, який вирішив кілька проблем із деякими химерностями програмного забезпечення Steam. Після того, як ви правильно встановили цей набір, ви можете запустити інсталяцію. Якщо ви зацікавлені, наведений нижче код - це коміт, який додає модуль для його здійснення.

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

Як ви можете бачити в коді, він активує підтримку 32-розрядного прямого відтворення та аудіо. Він також додає пакет 'pkgs.steam ', який є основним пакетом Steam. З попередньою конфігурацією ви повинні налагодити роботу всієї системи при наступному перемикачі відновлення. Після збереження конфігурації запустіть:

$ nixos-rebuild перемикач

Для більшості з вас це дозволить продовжувати встановлення. Тепер вам потрібно переконатися, що у вас є достатньо місця на диску для встановлення. Також ігри, які ви будете встановлювати, потребують місця на диску.

апаратне забезпечення.відкритий.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: [джміль glxinfo];
nativeOnly = true; ).бігти
(пар.перевизначити withJava = true; )
];

Вищезазначений код додає залежності для багатьох випадків. Звичайно, ти сам підбереш потрібні. Ви також можете шукати інші залежності, які можуть бути відсутніми. Однак, якщо ви це зробите, ви будете самостійні, тому будьте готові використовувати термінал для запуску та відстеження його, коли звертаєтесь за допомогою до різних форумів підтримки.

Інші корисні пакети

У вас також є деякі спеціальні пакети, які можуть допомогти вам вирішити деякі проблеми.

nixpkgs.steamcmd (steamcmd)

Цей пакет додає інструменти командного рядка Steam. Ви можете використовувати це для встановлення програмного забезпечення та запуску власних серверів; деякі завдання можна автоматизувати.

У вас також є безліч інших пакетів. Щоб використовувати їх, ви додаєте їх до своїх пакунків і відновлюєте. Нижче наведені нижче:

nixpkgs.kodiPlugins.паровий пусковий пристрій (kodi-plugin-steam-launcher)

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

nixpkgs.pidgin-opensteamworks (pidgin-opensteamworks)

Плагін для Pidgin 2.x, що реалізує сумісність Steam Friends / Steam IM

nixpkgs.bitlbee-steam (бітлбі-пар)

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

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

Єдиний реєстр на базі TUI для бездротових, винних та парових ігор на Linux, доступний через меню запуску rofi

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

Двійковий аддон для регулятора пари

nixpkgs.матеріальний міст (матеріал-міст-1.18.0)

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

nixpkgs.паровий контролер (паровий регулятор)

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

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

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

Висновок

Steam представляє невелику проблему, оскільки для більшої частини платформи та деяких ігор все ще потрібні 32-розрядні бібліотеки, і це потрібно ввімкнути. Сподіваємось, ви отримали тут свою відповідь. Якщо ні, ви можете запитати на форумах! NixOS надзвичайно універсальний, але впоратися з мовою Nix - це клопотна справа. Коли ви перемикаєтесь, переконайтесь, що ви добре знаєте мову, щоб уникнути тривалих звивистих пошуків рішень. Ви самі зможете придумати багатьох із достатнім розумінням мови Nix.

Як зафіксувати та транслювати ігровий сеанс на Linux
Раніше грати в ігри вважалося лише хобі, але з часом ігрова індустрія спостерігала величезний ріст з точки зору технологій та кількості гравців. Аудит...
Найкращі ігри для гри з відстеженням рук
Нещодавно Oculus Quest представив чудову ідею відстеження рук без контролерів. Завдяки постійно зростаючій кількості ігор та заходів, які виконують пі...
Як показати накладання екранного меню в повноекранному додатку та іграх для Linux
Гра у повноекранні ігри або використання додатків у повноекранному повноекранному режимі може відключити від відповідної системної інформації, видимої...