NixOS

Comment installer Steam sur NixOS?

Comment installer Steam sur NixOS?
Lors de l'installation de choses sur NixOS, vous devez avoir un package au bon format sur le nixos.page Web de l'organisation. Steam est disponible, mais certaines bizarreries peuvent vous faire trébucher lorsque vous essayez de l'installer. Vous en saurez plus à ce sujet ici.

En particulier, il s'agit d'un progiciel non libre, vous devez donc activer cette option. Vous devrez également gérer le problème « échec de glXChooseVisual ». Le processus fonctionnera d'une manière dans NixOS et d'une autre manière sur d'autres distributions. C'est plus complexe avec juste le gestionnaire de paquets Nix.

Qu'est-ce que Steam?

La plupart des gens qui viennent le savent déjà, mais couvrons-le ici quand même. Steam est une plate-forme et un marché pour les jeux et les joueurs. Cela a commencé comme un moyen de mettre à jour votre jeu à partir de Valve. C'était le seul pour la première fois dans la vie. Au fur et à mesure que la société a ajouté plus de jeux, ils les ont également ajoutés à la plateforme. Avec autant de jeux disponibles, ils l'ont reconstruit pour en faire une place de marché et une plate-forme communautaire. Vous pouvez désormais à la fois jouer et acheter des jeux et rester en contact avec d'autres joueurs sur la plate-forme. Compte tenu de tout cela, bien sûr, vous voulez l'avoir installé sur votre système NixOS.

Installation de l'exécutable principal

Il y a eu quelques problèmes avec Steam sur NixOS dans le passé. Les problèmes ont été résolus mais nécessitent encore quelques actions supplémentaires par rapport aux autres packages.

Un problème est que ce n'est pas un logiciel libre. Deuxièmement, les packages utilisent Glx de la variante 32 bits, ce qui n'est pas clairement reflété dans les packages. Ces deux problèmes doivent être résolus dans la configuration du gestionnaire de packages : configuration Nix ou NixOS (.nix) fichier. La solution réelle consistait à définir la valeur dri support 32bit sur true. Il y en avait quelques autres, mais grâce à un nouveau module de Maciej Krüger, vous pouvez maintenant simplement ajouter le module avec le code ci-dessous.

programmes.vapeur.activer = vrai ;
nixpkgs.configuration.allowNonFree = true ;

Il s'agit d'un module qui a résolu plusieurs problèmes avec certaines bizarreries du logiciel Steam. Une fois que vous avez défini correctement ce paramètre, vous pouvez exécuter l'installation. Si vous êtes intéressé, le code ci-dessous provient du commit qui ajoute le module pour y arriver.

config, lib, paquets,…  :
avec lib;
laisser
cfg = configuration.programmes.vapeur;
dans
options.programmes.vapeur.enable = mkEnableOption "vapeur" ;
config = mkIf cfg.activer
Matériel.opengl = # cela corrige le bogue "glXChooseVisual failed", contexte :
https://github.com/NixOS/nixpkgs/issues/47932
activer = vrai ;
driSupport32Bit = vrai ;
 ;
# activer éventuellement la prise en charge de pulseaudio 32 bits si pulseaudio est activé
Matériel.son d'impulsion.support32Bit = configuration.Matériel.son d'impulsion.activer;
Matériel.vapeur-matériel.activer = vrai ;
environnement.systemPackages = [ paquets.vapeur ];
 ;
méta.mainteneurs = avec mainteneurs ; [mkg20001];

Comme vous pouvez le voir dans le code, il active la prise en charge du rendu direct 32 bits et de l'audio. Il ajoute également le paquet 'pkgs.steam', qui est le package Steam principal. Avec la configuration précédente, vous devriez faire fonctionner l'ensemble du système au prochain commutateur de reconstruction. Une fois que vous avez enregistré votre configuration, exécutez :

$ commutateur nixos-rebuild

Pour la plupart d'entre vous, cela permettra à l'installation d'avancer. Vous devez maintenant vous assurer que vous disposez de suffisamment d'espace disque pour l'installation. De plus, les jeux que vous installerez ont également besoin d'espace disque.

Matériel.opengl.driSupport32Bit = vrai ;

Si les choses tournent mal, utilisez :

$ strace vapeur

Il existe de nombreux autres packages facultatifs à installer si vous avez des besoins ou des désirs particuliers.

nixpkgs.course à la vapeur (course à la vapeur)

Pourquoi avez-vous besoin de vapeur? Steam-run permet de fonctionner en utilisant les bibliothèques NixOS au lieu de celles fournies par Steam. Cela peut mieux fonctionner lorsque vous souhaitez exécuter des jeux qui attendent un système Linux standard sous. Certains jeux nécessitent des correctifs pour fonctionner, en utilisant l'environnement Steam. La raison en est que seuls les jeux fournis par Steam sont conçus pour un environnement fermé. Pour les utiliser, ajoutez steam-run ou steam-run-native à votre fichier de configuration.

environnement.systemPackages = avec pkgs; [

Steam-run-native
] ;

Vous pouvez également utiliser steam-run directement en tant que commande, comme ceci :

$ vapeur ./démarrer jeu.sh

Cela lancera le jeu dans un environnement Steam directement.

Dépendances manquantes

Certains jeux peuvent nécessiter des dépendances que NixOS ne fournit pas automatiquement. Pour résoudre ce problème, vous pouvez les ajouter au fichier de configuration sous systemPackages.

environnement.systemPackages = avec pkgs; [

(vapeur.override extraPkgs = pkgs: [ mono gtk3 gtk3-x11 libgdiplus zlib ];
nativeOnly = vrai ; ).Cours
(vapeur.override withPrimus = true; extraPkgs = pkgs: [ bourdon glxinfo ];
nativeOnly = vrai ; ).Cours
(vapeur.override withJava = true; )
] ;

Le code ci-dessus ajoute des dépendances pour de nombreux cas. Vous choisirez vous-même ceux dont vous avez besoin, bien sûr. Vous pouvez également rechercher d'autres dépendances qui peuvent être manquantes. Cependant, vous serez seul si vous le faites, alors soyez prêt à utiliser le terminal pour le démarrer et le tracer lorsque vous demanderez de l'aide sur les différents forums de support.

Autres forfaits utiles

Vous disposez également de packages spéciaux qui peuvent vous aider à résoudre certains problèmes.

nixpkgs.steamcmd (steamcmd)

Ce paquet ajoute des outils de ligne de commande Steam. Vous pouvez l'utiliser pour installer des logiciels et exécuter vos propres serveurs ; certaines tâches peuvent être automatisées.

Vous avez également de nombreux autres forfaits disponibles. Pour les utiliser, vous les ajoutez à vos packages et reconstruisez. Ceux actuellement disponibles sont ci-dessous:

nixpkgs.kodiPlugins.lanceur à vapeur (kodi-plugin-lanceur-vapeur)

Lancez Steam en mode Big Picture depuis Kodi

nixpkgs.pidgin-opensteamworks (pidgin-opensteamworks)

Plugin pour Pidgin 2.x, qui implémente la compatibilité Steam Friends/Steam IM

nixpkgs.bitlbee-vapeur (bitlbee-vapeur)

Plugin de protocole Steam pour BitlBee

nixpkgs.eidolon (eidolon-1.4.6)

Un registre unique basé sur TUI pour les jeux sans drm, wine et steam sur Linux, accessible via un menu de lancement rofi

nixpkgs.kodiPlugins.contrôleur de vapeur (kodi-plugin-périphérique.contrôleur de vapeur)

Addon binaire pour le contrôleur de vapeur

nixpkgs.Matterbridge (matterbridge-1.18.0)

Le pont simple entre Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat (via XMPP), Matrix et Steam

nixpkgs.contrôleur de vapeur (contrôleur de vapeur)

Un pilote de contrôleur Steam autonome

nixpkgs.contrôleur sc (contrôleur sc-0.4.7)

Pilote en mode utilisateur et interface graphique pour le contrôleur Steam et d'autres contrôleurs

Conclusion

Steam présente un petit problème car une grande partie de la plate-forme et certains jeux nécessitent encore des bibliothèques 32 bits, et vous devez l'activer. J'espère que vous avez obtenu votre réponse ici. Sinon, vous pouvez demander sur les forums! NixOS est extrêmement polyvalent, mais maîtriser le langage Nix est une corvée. Lorsque vous changez, assurez-vous d'avoir une compréhension fondamentale de la langue pour éviter de longues recherches de solutions sinueuses. Vous devriez être capable d'en trouver beaucoup vous-même avec une maîtrise suffisante de la langue Nix.

Comment utiliser le moteur de triche GameConqueror sous Linux
L'article couvre un guide sur l'utilisation du moteur de triche GameConqueror sous Linux. De nombreux utilisateurs qui jouent à des jeux sur Windows u...
Meilleurs émulateurs de console de jeu pour Linux
Cet article répertorie les logiciels d'émulation de console de jeu populaires disponibles pour Linux. L'émulation est une couche de compatibilité logi...
Meilleures distributions Linux pour les jeux en 2021
Le système d'exploitation Linux a parcouru un long chemin depuis son apparence originale, simple et basée sur le serveur. Ce système d'exploitation s'...