NixOS

Como instalar o Steam no NixOS?

Como instalar o Steam no NixOS?
Ao instalar coisas no NixOS, você precisa ter um pacote no formato correto no nixos.página da web org. O Steam está disponível, mas algumas peculiaridades podem enganá-lo ao tentar instalá-lo. Você vai ouvir mais sobre isso aqui.

Em particular, é um pacote de software não livre, então você deve habilitar esta opção. Você também precisará lidar com o problema de 'glXChooseVisual falhou'. O processo funcionará de uma maneira no NixOS e de outra em outras distribuições. É mais complexo apenas com o gerenciador de pacotes Nix.

O que é Steam?

A maioria das pessoas que vem já sabe disso, mas vamos cobrir isso aqui de qualquer maneira. Steam é uma plataforma e mercado para jogos e jogadores. Tudo começou como uma forma de atualizar seu jogo da Valve. Foi o único pela primeira vez na vida. À medida que a empresa adicionava mais jogos, ela também os adicionava à plataforma. Com tantos jogos disponíveis, eles o reconstruíram para ser um mercado e uma plataforma de comunidade. Agora você pode jogar e comprar jogos e ficar em contato com outros jogadores na plataforma. Diante de tudo isso, é claro, você quer tê-lo instalado em seu sistema NixOS.

Instalando o executável principal

Houve alguns problemas com o Steam no NixOS no passado. Os problemas foram resolvidos, mas ainda requerem algumas ações extras em comparação com outros pacotes.

Um problema é que este não é um software livre. Em segundo lugar, os pacotes usam Glx da variante de 32 bits, algo que não está claramente refletido nos pacotes. Esses dois problemas precisam ser resolvidos na configuração do gerenciador de pacotes: configuração Nix ou NixOS (.nix) arquivo. A solução real era definir o valor de 32 bits do suporte dri como verdadeiro. Houve alguns outros, mas graças a um novo módulo de Maciej Krüger, agora você pode apenas adicionar o módulo com o código abaixo.

programas.vapor.ativar = verdadeiro;
nixpkgs.config.allowNonFree = true;

Este é um módulo que resolveu vários problemas com algumas peculiaridades do software Steam. Depois de definir isso corretamente, você pode executar a instalação. Se você estiver interessado, o código abaixo é do commit que adiciona o módulo para fazer acontecer.

config, lib, pkgs,…:
com lib;
deixar
cfg = config.programas.vapor;
dentro
opções.programas.vapor.enable = mkEnableOption "vapor";
config = mkIf cfg.habilitar
hardware.opengl = # isso corrige o bug "glXChooseVisual falhou", contexto:
https: // github.com / NixOS / nixpkgs / issues / 47932
ativar = verdadeiro;
driSupport32Bit = true;
;
# opcionalmente habilitar suporte para áudio de pulso de 32 bits se áudio de pulso estiver habilitado
hardware.pulseaudio.support32Bit = config.hardware.pulseaudio.habilitar;
hardware.hardware de vapor.ativar = verdadeiro;
meio Ambiente.systemPackages = [pacotes.vapor ];
;
meta.mantenedores = com mantenedores; [mkg20001];

Como você pode ver no código, ele ativa o suporte para renderização direta de 32 bits e áudio. Ele também adiciona o pacote 'pkgs.Steam ', que é o pacote principal do Steam. Com a configuração anterior, você deve ter todo o sistema instalado e funcionando na próxima opção de reconstrução. Depois de salvar sua configuração, execute:

Chave de reconstrução de $ nixos

Para a maioria de vocês, isso permitirá que a instalação prossiga. Agora você precisa se certificar de que tem espaço em disco suficiente para a instalação. Além disso, os jogos que você vai instalar também precisam de espaço em disco.

hardware.opengl.driSupport32Bit = true;

Se as coisas derem errado, use:

$ strace Steam

Existem muitos outros pacotes opcionais para instalar se você tiver alguma necessidade ou desejo especial.

nixpkgs.funcionamento a vapor (funcionamento a vapor)

Por que você precisa de um funcionamento a vapor?? O Steam-run torna possível rodar usando bibliotecas NixOS em vez das que o Steam fornece. Isso pode funcionar melhor quando você deseja executar jogos que exigem um sistema Linux regular abaixo. Alguns jogos precisam de patch para rodar, usando o ambiente Steam. A razão é que apenas os jogos fornecidos pelo Steam são construídos para um ambiente fechado. Para usá-los, adicione steam-run ou steam-run-native ao seu arquivo de configuração.

meio Ambiente.systemPackages = com pacotes; [

nativo a vapor
];

Você também pode usar steam-run diretamente como um comando, como este:

$ steam-run ./Começar o jogo.sh

Isso irá executar o jogo em um ambiente Steam diretamente.

Dependências ausentes

Alguns jogos podem precisar de dependências que o NixOS não fornece automaticamente. Para corrigir isso, você pode adicioná-los ao arquivo de configuração em SystemPackages.

meio Ambiente.systemPackages = com pacotes; [

(vapor.substituir extraPkgs = pkgs: [mono gtk3 gtk3-x11 libgdiplus zlib];
nativeOnly = true; ).corre
(vapor.substituir withPrimus = true; extraPkgs = pkgs: [bumblebee glxinfo];
nativeOnly = true; ).corre
(vapor.substituir withJava = true; )
];

O código acima adiciona dependências para muitos casos. Você vai escolher aqueles de que precisa, é claro. Você também pode procurar outras dependências que podem estar faltando. No entanto, você estará por conta própria se o fizer, então esteja preparado para usar o terminal para iniciá-lo e rastreá-lo quando solicitar ajuda nos diferentes fóruns de suporte.

Outros pacotes úteis

Você também tem alguns pacotes especiais que podem ajudá-lo com alguns problemas.

nixpkgs.steamcmd (steamcmd)

Este pacote adiciona ferramentas de linha de comando do Steam. Você pode usar isso para instalar software e executar seus próprios servidores; algumas tarefas podem ser automatizadas.

Você também tem muitos outros pacotes disponíveis. Para usá-los, você os adiciona aos seus pacotes e reconstrói. Os atualmente disponíveis estão abaixo:

nixpkgs.kodiPlugins.steam-launcher (kodi-plugin-steam-launcher)

Inicie o Steam no modo Big Picture no Kodi

nixpkgs.pidgin-opensteamworks (pidgin-opensteamworks)

Plugin para Pidgin 2.x, que implementa compatibilidade com Steam Friends / Steam IM

nixpkgs.bitlbee-steam (bitlbee-steam)

Plug-in de protocolo Steam para BitlBee

nixpkgs.eidolon (eidolon-1.4.6)

Um único registro baseado em TUI para jogos drm-free, wine e steam no Linux, acessado por meio de um menu de inicialização rofi

nixpkgs.kodiPlugins.controlador de vapor (kodi-plugin- periférico.Steamcontroller)

Complemento binário para o controlador de vapor

nixpkgs.matterbridge (matterbridge-1.18.0)

A ponte simples entre Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat (via XMPP), Matrix e Steam

nixpkgs.Steamcontroller (Steamcontroller)

Um driver controlador autônomo do Steam

nixpkgs.sc-controller (sc-controller-0.4.7)

Driver do modo de usuário e GUI para o controlador Steam e outros controladores

Conclusão

O Steam apresenta um pequeno problema porque uma grande parte da plataforma e alguns jogos ainda requerem bibliotecas de 32 bits, e você precisa habilitá-las. Felizmente, você obteve sua resposta aqui. Se não, você pode perguntar nos fóruns! O NixOS é extremamente versátil, mas dominar a linguagem Nix é uma tarefa árdua. Quando você mudar, certifique-se de ter algum conhecimento fundamental da linguagem para evitar pesquisas demoradas de soluções. Você deve ser capaz de criar muitos com domínio suficiente da linguagem Nix.

Como baixar e jogar Sid Meier's Civilization VI no Linux
Introdução ao jogo Civilization 6 é uma versão moderna do conceito clássico introduzido na série de jogos Age of Empires. A ideia era bastante simples...
Como instalar e jogar Doom no Linux
Introdução ao Doom A série Doom teve origem nos anos 90 após o lançamento do Doom original. Foi um sucesso instantâneo e, a partir desse momento, a sé...
Vulkan para usuários de Linux
A cada nova geração de placas gráficas, vemos os desenvolvedores de jogos ultrapassarem os limites da fidelidade gráfica e se aproximarem mais do foto...