Installer Bazzite

Guide d'installation de Bazzite, la distro Linux de référence dans le monde du gaming basée sur Fedora Atomic Desktops

Installer Bazzite
bazzite fedora coreos immutable immuable linux gaming steam gog wine proton

Au sommaire :

  • 1-Qu'est-ce que Bazzite ?
  • 2-Prérequis
  • 3-Création de la machine virtuelle
  • 4-Installation

1-Qu'est-ce que Bazzite ?

Bazzite est une distribution Linux communautaire (downstream) basé sur Fedora Atomic Desktops, cousin de Fedora CoreOS (côté serveur).

Les caractéristiques sont les suivantes:

  • Système d'exploitation immuable (/usr en lecture seule, /var et /etc sont lecture/écriture)
  • Gestion du rollback et mises à jour atomiques (une seule installation à la fois, si échec, revient au snapshot précédent)
  • Gestion des paquets via Flatpak et rpm-ostree et des conteneurs via distrobox
  • Intègre l'ensemble des logiciels dédiés au gaming (Steam, GOG, Epic, EA-Play, Ubisoft Connect, etc)
  • Compatible Nvidia et AMD

L'idée est de proposer une alternative plus ouverte de SteamOS (pour l'instant uniquement disponible sur SteamDeck) en offrant une expérience "console" sur n'importe quel PC tout en profitant des dernières avancées dans le domaine du jeu sous Linux (Proton, Wine).

2-Prérequis

Pour les besoins de ce tutoriel, il vous faudra :

Proxmox VE

Pour pouvoir virtualiser Bazzite, il vous faudra un serveur avec Proxmox VE d'installé. Si ce n'est pas le cas, veuillez suivre le guide ci-dessous.

Installer Proxmox VE
Guide d’installation de Proxmox VE

Bazzite

Cliquez sur le lien ci-dessous et téléchargez Bazzite.

Bazzite - The operating system for the next generation of gamers
Bazzite makes gaming and everyday use smoother and simpler across desktop PCs, handhelds, tablets, and home theater PCs.

Dans mon cas, j'opte pour la version Desktop avec environnement KDE (environnement par défaut de SteamOS, plus réactif et léger que GNOME) et compatible avec une GTX série 10xx (GTX 1050 Ti). Comme indiqué dans le message en rouge, ces GPU ne supportent pas le mode "Steam Gaming" (le lancement du système en mode Big Picture sans l'environnement bureautique, plus léger en ressources).

L'idée est de moins utiliser Windows 11, de préserver le SSD qui manque de réactivité et d'alléger ce PC vieux de 14 ans que j'ai offert à mon fils.

Remise à niveau d’un Dell Optiplex 7010 SFF
Guide de remise à niveau d’un Dell Optiplex 7010 SFF

De plus, j'ai accès qu'au SATA donc bande passante limitée (500 Mo/s), impossible d'utiliser le port PCIE x4 (le GPU occupe les 2 slots).

Pensez bien à téléverser le fichier ISO (local/ISO Images/Select File/Upload) sur votre serveur.

Enfin, sachez que Bazzite utilise le système BTRFS qui utilise le Copy-on-Write donc si vos machines virtuelles sont au format RAW comme moi, vous ne craignez rien mais si vous utilisez le format QCOW2 (qui utilise également le Copy-on-Write comme son nom l'indique), ça fait qu'à l'intérieur (Bazzite) et à l'extérieur de la VM (PVE), vous aurez un double CoW, ce qui ça amplifiera les entrées/sorties et donc provoquera des ralentissements.

je sors (sifflement)

3-Création de la machine virtuelle

Accédez à l'interface web de PVE puis cliquez sur "create VM".

Note : cochez la case "Advanced" pour voir l'ensemble des options disponibles.

  • VMID : par défaut, PVE vous indiquera le prochain VMID disponible
  • Name : choisissez un nom pour votre VM
  • Storage : Sélectionnez le fichier ISO de votre choix
  • Guest OS : laissez par défaut lorsque c'est un OS sous Linux
  • Graphic card : sélectionnez "none" (la configuration se fera sur votre moniteur via GPU passthrough)
  • SCSI Controller : laissez par défaut (c'est le meilleur choix possible en terme de performance).
  • BIOS et Machine : choisissez le BIOS OVMF (UEFI) et "q35" en machine (ne pas créer de partition EFI, vous allez devoir enrôler la clé au démarrage du système, une étape fastidieuse).
  • Cliquez sur Qemu Agent pour que PVE puisse recevoir des informations de la VM et lui envoyer des commandes (shutdown, reboot).
  • Bus/Device : laissez par défaut.
  • Storage : choisissez "local-lvm" pour un provisionnement dynamique.
  • Disk size (GiB) : j'ai mis 150 Go pour l'exemple car sous Linux, les shaders de vos jeux seront préchargés contrairement à Windows donc avec la taille par défaut, le stockage risque de saturer

Ici, deux options sont à cocher :

  • SSD emulation : indique au système virtualisé qu'il démarre sur un SSD et non sur un disque rotatif.
  • Discard : active le TRIM et indique à PVE quels sont les blocs non utilisés dans la VM qui peuvent être effacés.
  • Socket : laissez par défaut.
  • Cores : 4 cores (minimum) ou 8 cores (recommandé)
  • Type : laissez par défaut (voir les notes plus bas pour plus d'informations).
  • Memory (MiB) : laissez par défaut.
  • Bridge : le pont par défaut du serveur.
  • Firewall : le pare-feu de PVE (iptable) activé par défaut.
  • Model : VirtIO est installé d'office dans les distributions Linux et vous permettra de profiter des gains de performance grâce à la para-virtualisation.

Notes pour le type générique "x86-64-v2-AES" :

  • C'est le nouveau choix par défaut sur PVE depuis la version 8 et remplace le type "kvm64"
  • Il supporte le jeu d'instruction AES
  • "v2" signifie tous les processeurs d'avant 2015
  • C'est le minimum requis pour RHEL9 (incompatible avec le type "kvm64").
  • Choisissez le type "x86-64-v2-AES" si votre VM tourne sur un cluster non homogène et que vous comptez un jour la migrer.
  • Privilégiez le type "Host" pour un accès direct au processeur du serveur et des performances maximales si votre VM ne tournera que sur une seule machine.

Pour plus d'informations : https://www.reddit.com/r/Proxmox/comments/14l4iru/x8664v2aes_vs_host/?tl=fr

Vérifiez que tout est correct puis finalisez la création de la machine virtuelle.

Dans les options de la VM, pensez toujours à décocher l'option "Use tablet for pointer" qui dans le cadre d'un serveur est inutile et consomme beaucoup de ressources.

Ensuite, allez dans PCI Device, sélectionnez votre GPU et cochez "All Functions".

Si GPU Nvidia (comme dans ce tutoriel), vous n'avez pas besoin de l'isoler du système hôte car le fabricant autorise depuis 2021 l'accès à ses GPU grand public dans les machines virtuelles (option uniquement disponible en gamme professionnelle).

NVIDIA active (enfin) le GPU passthrough en virtualisation et étend Resizable BAR
NVIDIA met à jour ses pilotes avec quelques surprises à la clé. Outre la généralisation de Resizable BAR à ses dernières GeForce RTX, il met enfin un terme à la limitation du passthrough GPU sur les GeForce. De quoi ravir les adeptes de virtualisation.

Si GPU AMD, veuillez suivre mon guide à ce sujet (partie 6).

Activer le GPU Passthrough sur Proxmox VE
Guide d’utilisation du GPU Passthrough sur Proxmox VE.

Ensuite, n'oubliez pas d'ajouter les ports USB (14:0, 1a.0 et 1d.0 pour ma part). Privilégiez l'accès via PCI Device (accès exclusif à la VM) plutôt que par USB Device qui passe avant par le système hôte (PVE) car si votre périphérique est pas reconnue par ce dernier (comme les manettes Dual Shock 4 fabriqués par des fabricants tiers), elle ne le sera pas non plus dans la VM (déjà arrivé sur une VM Windows).

Enfin, suivez ce tutoriel si vous souhaitez ajouter un support de stockage en SATA ou USB.

Ajouter des disques SATA et USB sur Proxmox VE
Tutoriel pour ajouter des périphériques de stockage USB et SATA sur Proxmox VE

4-Installation

Sélectionnez "Launch Bazzite Installer" puis patientez.

Puis cliquez sur "Install Bazzite".

Choisissez la langue que vous souhaitez et le type de clavier.

Laissez tel quel et cliquez sur suivant pour les étapes 2, 3, 4

Créez le compte utilisateur, cliquez sur suivant puis 'Effacer les données et installer".

Selon la vitesse de votre connexion internet, l'installation sera plus ou moins longue (préparez vous un café).

Lorsque l'installation sera finie, cliquez sur "Quitter vers le bureau live".

5-Post-installation

Redémarrer la VM.

Vous pouvez constater que le client Virtio est bien installé par défaut (l'adresse IP apparaît sur PVE).

Au lancement de Steam, indiquez vos identifiants puis le code envoyé par mail.

Allez dans "Settings".

Vous constaterez que Proton (version modifiée de Wine) est déjà activé en version expérimentale.

Si vous avez ajouté un support de stockage dans la VM, allez dans "storage" puis cliquez sur "Add Drive".

Cliquez sur "Add".

Dans mon cas il est grisé donc il est pas par défaut (formaté en NTFS) mais lors de l'installation de vos jeux, vous pouvez choisir ce dernier.

Pour retrouver la liste de compatibilité de vos jeux avec Proton : https://www.protondb.com/

Si l'interface Big Picture saccade, C'est que l'accélération graphique via GPU n'a pas été activé donc n'oubliez pas d'activer cette option dans "Interface" puis de redémarrer Steam.

Passons à Lutris qui va vous permettre d'ajouter vos comptes GOG, Epic Games Store, EA App, Ubisoft Connect, scanner vos jeux Steam et également de configurer vos jeux installés manuellement (issus d'aucun store). C'est un logiciel incontournable désormais pour jouer dans les meilleures conditions sous Linux.

Pour installer les jeux manuellement: https://github.com/elmhadji/instal_repacks_in_Linux

Pour mettre à jour le système, cliquez sur "Konsole".

Puis tapez la commande suivante pour mettre à jour le système, les applications sous Flatpak et les conteneurs.

ujust update

N'hésitez pas à explorer les multiples options de la commande ujust avec "ujust --choose".

Tapez "S" pour retourner sur le terminal.

La commande "fastfetch" permet d'afficher les informations de votre système.

Vous pouvez également à installer les paquets suivants via rpm-ostree Dans mon cas, j'installe systématiquement Htop (monitoring).

rpm-ostree htop -y

Ensuite, vous pouvez installer vos applications via Flatpak en CLI ou GUI (via Bazaar).

J'installe systématiquement le navigateur Brave et également les launcher de Minecraft Java/Bedrock pour mon fils (copier le "Application ID" du paquet que vous souhaitez installer).

flatpak install com.brave.Browser app.xmcl.voxelum io.mrarm.mcpelauncher -y

Pour conclure, si vous avez un vieil ordinateur qui traîne, que vous souhaitez lui donner une seconde vie et découvrir l'écosystème Red Hat ainsi que les systèmes immuables, Bazzite pourrait être la meilleure porte d'entrée possible. C'est actuellement la distro de référence et la plus à jour.

Pour ceux et celles qui veulent connaitre l'historique de Fedora Atomic Desktops, lire la partie 1 de ce tutoriel rédigé en 2023 au sujet de Fedora CoreOS.

Virtualiser Fedora CoreOS sur Proxmox VE
Guide d’installation de Fedora Core OS sur Proxmox VE

Et voici deux vidéos présentant Bazzite histoire d'avoir un aperçu de cette distro.