Passage de NixOS à Pop!_OS sur ma machine de jeu

  1. Contexte
  2. Bugs et glitches
  3. Autres considérations

Contexte

Depuis que j'ai acquis mon nouveau PC de jeu, je n'ai rien installé d'autre dessus que Windows 11 (qui était pré-installé en fait) et NixOS. Mais face à quelques difficultés mineures, j'ai décidé d'essayer Pop!_OS.

Commençons par clarifier certains points :

  • je ne remets pas en considération NixOS ou ses qualités ; cela reste mon système d'exploitation préféré pour mes serveurs, et dans ce cadre, je n'ai aucune raison de changer pour le moment
  • les "problèmes" que je rencontre ne sont pas dus à NixOS mais à mon incapacité à comprendre ce que je dois faire pour les résoudre ; je rajoute que si l'envie me prenait d'investiguer plus avant, je finirai par trouver des solutions, mais pour l'heure, je n'ai pas envie de réfléchir : sur une machine de jeu, je veux jouer

NixOS m'a apporté le minimalisme, la configurabilité et la reproductibilité que l'on attend d'un ordinateur. Pour un serveur, ce sont des qualités cruciales, gages de stabilité et de conformité à un environnement attendu. Pour une machine desktop dont les usages sont très différents, ces qualités deviennent parfois des obstacles contre lesquels on doit se battre.

Ceci est du à une différence fondamentale de paradigme : sur un serveur, on veut que chaque service soit capable de fonctionner sans aucune interférence depuis ou vers les autres services. On ne veut pas que la mise à jour d'une librairie donnée en vue d'utiliser une version spécifique d'un service entraîne l'incompatibilité d'un autre service. Par conséquent, sur un serveur, on cherche l'atomicité : on va configurer chaque service avec soin, et NixOS nous évite de nous préoccuper des incompatibilités.

Sur un desktop, le paradigme est complètement différent : on veut (je veux) un ensemble cohérent, intégré, même si cela introduit des instabilités, des dysfonctionnements, ou des comportement inhabituels. Il est presque toujours possible d'y remédier a posteriori, là où dans le cadre d'un serveur, on se doit d'anticiper et éviter l'introduction de problèmes. Dit autrement, les exigences ne sont simplement pas les mêmes sur un serveur que sur une machine de jeu.

Bugs et glitches

Or, j'ai eu quelques problèmes sur ma machine de jeu sous NixOS, invisibles sur certains jeux (les moins exigeants) mais rédhibitoires sur d'autres. Des problèmes liés au pilote de la carte graphique et sa configuration, mais aussi, sans doute, liés à la configuration du noyau, et/ou de l'environnement de bureau. Des problèmes que j'ai souvent vu au cours de ma vie, sur tout un tas de machines différentes. Par conséquent, il est évident que le problème vient de l'interface chaise/clavier, et que je me suis révélé incapable ou trop fainéant pour jamais les résoudre.

Comme je le dis souvent, je n'aime pas qu'on me tienne la bite pour pisser, mais je me suis dit que, cette fois, j'allais essayer de faire confiance à un système d'exploitation orienté desktop, complet, mature, reposant sur des bases solides. Si possible, orienté vers le jeu-vidéo.

Évidemment, SteamOS semble être le choix le plus approprié, mais à ma connaissance, Valve ne fournit plus d'image ISO à destination d'une installation PC du système d'exploitation. La page habituelle qui permettait de télécharger l'ISO en question n'offre à télécharger que l'image de recovery de SteamOS à destination du Steam Deck.

D'autres solutions existent (Draugr semble avoir quelque notoriété) mais j'ai choisi Pop!_OS parce que c'est un système que je suis depuis longtemps et qui, du coup, me semble être un projet pérenne.

Et grand bien m'en a pris puisque la plupart des problèmes que je rencontrais avec NixOS ont disparu au passage sous Pop!_OS.

Le problème majeur qui m'a décidé à changer concerne un bug graphique que j'ai presque toujours connu sous GNU-Linux mais que je n'ai jamais réussi à résoudre, ce qui me conforte dans l'idée qu'il provient d'un problème dans la configuration du noyau Linux.

L'image ci-dessus est tirée d'une conversation sur Internet de gens que je ne connais pas concernant un jeu auquel je ne joue pas : je n'ai pas pensé à prendre une capture pour illustrer cet article puisque je ne pensais pas que j'en ferai un article... Néanmoins, c'est exactement ce à quoi ressemblent les bugs auxquels je suis moi-même confronté.

En outre, je constatais du banding et divers problèmes évoquant un gamma mal réglé sans que ce soit pour autant la cause réelle. Ces problèmes concernaient les jeux en 3D, jamais les jeux en 2D, ce qui portait les soupçons sur OpenGL, Mesa, ou l'une des multitudes de librairies existantes liées à la 3D sous GNU-Linux, d'autant plus qu'aucun réglage dans le panneau de configuration Nvidia ne semblait avoir la moindre incidence.

Au final, ce sont des problèmes bien trop complexes pour moi, et j'ai abandonné toute tentative de résolution. À la place, j'ai testé Pop!_OS, et ces problèmes n'existent plus.

Ce qui est dommage, c'est que je n'aurai pas le fin mot de l'histoire, je ne saurai peut-être jamais quelle est la cause de ces problèmes.

Autres considérations

Mis à part la résolution de ces problèmes par je ne sais quelle sorcellerie, Pop!_OS me semble être un système desktop tout à fait satisfaisant. Basé sur Ubuntu, et connaissant bien ces fondations, je suis à l'aise pour gérer les quelques points très personnels de l'environnement (c'est-à-dire, qui se gèrent exclusivement à la console). En outre, j'ai décidé de demander à cette machine un peu plus que faire tourner mes jeux : il me paraissait intéressant de pouvoir au moins rédiger quelques articles pour mon blog sans avoir à basculer sur mon Mac Mini, notamment le présent billet mais aussi mes futures critiques de jeux-vidéo.

Sur ces points, Pop!_OS rempli parfaitement son office, en plus de m'offrir une expérience visuelle un peu plus agréable que XFCE (par défaut). C'est évidemment moins minimaliste, mais c'est aussi plus confortable pour faire autre chose, de temps en temps, que du jeu vidéo.

Néanmoins, je ressens une nette différence avec NixOS sur ce point-clé que j'abordais avant. Écrire une ligne dans un fichier de configuration pour installer une application, pour s'assurer de son existence et de son fonctionnement, c'est un luxe que je n'ai pas ici. Pop!_OS me rappelle que je suis dans un environnement "traditionnel", "mainstream", et que l'installation d'un paquet a un effet immédiat, mais je n'ai pas vraiment de contrôle dessus (ou plus exactement, je ne maîtrise pas les effets de bord de son installation).

C'est un sentiment qui m'est difficile à décrire. J'ai l'impression que chaque action que j'exécute sur la machine va avoir une incidence sur les autres. Comme si, simplement en installant une application ou une librairie, même qui n'a rien à voir avec le jeu-vidéo, j'allais provoquer la réapparition des problèmes évoqués plus haut. Ce sentiment est totalement inconnu sous NixOS.

En fait, NixOS a introduit chez moi l'anxiété des environnements traditionnels (pardonnez-moi l'abus de language mais c'est une illustration : "non-reproductibles").

Comme j'essaye de le faire à chaque fois, j'écrirai un nouvel article de retour d'expérience dans quelques mois, mais pour l'heure, je vais pouvoir jouer un peu...