Nasra's games

mint

Je reprend ici une documentation que j'avais déjà faite en septembre 2024.

Fonctionnement de SecureBoot

Dans les années 2010, les bootkits (pour “boot rootkit”) sont des menaces informatiques dangereuses. Ce sont des logiciels malveillants capables de corrompre le démarrage du système d’exploitation, de se charger très tôt (avant l'OS) et avoir des privilèges d’exécution très bas. Ils peuvent donc prendre la main sur un système informatique bien avant les antivirus pour contrôler entièrement le système. Ainsi, les attaquants gagnent en persistance sur l’appareil.

Schéma d'exécution de SecureBoot

Pour se protéger des bootkits, l’UEFI apporte entre autre le mécanisme de SecureBoot (démarrage sécurisé). SecureBoot est un mécanisme de vérification pour garantir que le code lancé par le firmware est fiable avec des clés de chiffrement.

Parcours de validation des clés

SecureBoot ne permet donc pas de lancer les pilotes tiers non singés ! Tiens ! Sans désactiver SecureBoot (ce qui poserait des soucis de sécurité)... il est possible d'utiliser des pilotes propriétaires sur Linux, en recréant des clés MOK de sécurité ! Si vous possédez du matériel Razer c'est indiqué dans leur documentation.

La solution !

Vérifier si SecureBoot est présent : mokutil --sb-state Recréer les clé SecureBoot : sudo update-secureboot-policy --enroll-key (si cela ne fonctionne pas faire : sudo update-secureboot-policy --new-key )

Configurer SecrureBoot Entrer un mot de passe temporaire Configurer SecrureBoot Mot de passe temporaire Redémarrer le PC Au démarrage, il vous propose cet écran, choisissez le second choix Enroll MOK.

Enroll MOK Entrer le mot de passe temporaire, le PC va redémarrer...

Et les pilotes Nvidia seront lancés... et les souris Razer aussi (et tout le matériel qui demande des autorisations spécifiques) !

Victory

#Nvidia #Mint #SecureBoot #Razer #Linux


Je n'ai pas souvent l'occasion de toucher à un Linux Mint, mais j'ai dû aider une personne avec son PC portable. Petit contexte : cette personne passe de Win 11 à Linux Mint, son PC dispose d'un GPU Nvidia 1050.

Contexte et premiers conseils

On migre tout ce qu'on peut sur des services cloud (kDrive, Nextcloud...), on vérifie que les logiciels qu'il utilise sont possibles sur Linux.

On passe sur une nouvelle installation mais par sécurité, on change physiquement de disque NVMe. Il range son disque Windows 11 dans une boîte et il le remplace par un nouveau disque NVMe, acheté pour la migration, pour installer Linux Mint. Ça permet de garder les données et une roue de secours au cas où, et ça rassure !

Installation

Après avoir confectionné la clé USB d'installation de Linux Mint sous Windows (héhé). On éteint le PC, débranche la batterie, ouvre le PC, enlève la batterie, on remplace le disque par le neuf, on rebranche, revisse le tout et on allume !

On sélectionne la clé USB pour le démarrage, et on installe Linux Mint ! On connecte les services cloud (kDrive, Nextcloud...), on se connecte aux service de Firefox pour retrouver mots de passe et marque-pages...

Bref, tout fonctionne bien !

Premiers soucis

Deux choses ne fonctionnent pas dès la remise en route : La souris Razer et l'affichage de son second écran externe sur le port HDMI.

Razer et OpenRazer

On se concentre sur la souris (pas cool au quotidien), on installe OpenRazer, on regarde comment ça fonctionne. On n'y arrive pas, mais on voit bien qu'il peut y avoir un soucis avec SecureBoot. Par soucis de “pouvoir retrouver Windows 11 un jour”, on ne le désactive pas et on passe notre chemin ! (même si on aurait dû creuser le truc...). Parce que, notamment pour la personne, ce n'est pas son soucis le plus bloquant pour son activité.

Écran externe

Là, on rentre dans le dur du sujet. Premier soucis, les pilotes Nvidia : ils sont installés mais ne semblent pas fonctionnels. Pire, on ne les retrouve pas dans les pilotes utilisés alors qu'ils sont bien installés dans la logithèque, qu'on a bien nvidia-settings d'installé...

Réinstallation des pilotes, redémarrage... rien n'y fait ! Quelque soit le pilote installé, on ne voit pas les settings complets dans nvidia-settings (un signe qu'il y a un soucis) et bien entendu, l'écran externe, branché en HDMI, ne fonctionne pas.

Nomodeset

Je me rappelle de mes anciennes expériences avec les pilotes Nvidia, notamment sur ma GTX970, il fallait utiliser le nomodeset=1 dans les paramètres de démarrage du noyau... sudo nano /etc/default/grub Puis ajouter le paramètre nomodeset=1 à la fin de la ligne (avant les “) : GRUB_CMDLINE_LINUX_DEFAULT="quiet" –> non, ce n'est pas ça... :(

Bug avec le noyau 6.8

Linux Mint 22 est livré avec la série 6.8 des noyaux Linux. Apparemment, un bug affecte le noyau 6.8 et les pilotes propriétaires Nvidia...

Ce bug cause des problèmes sur l'application d'affichage et peut-être également à d'autres endroits. C'est un problème d'Ubuntu en amont. Jusqu'à la publication d'un correctif, voici la solution de contournement. Ajouter la ligne : ACTION=="add", SUBSYSTEM=="module", KERNEL=="nvidia_drm", TEST=="/sys/devices/platform/simple-framebuffer.0/drm/card0", RUN+="/bin/rm /dev/dri/card0" Au fichier suivant : /lib/udev/rules.d/71-u-d-c-gpu-detection.rules –> toujours pas :(

Résolution !

Retour sur SecureBoot

Dans les années 2010, les bootkits (pour “boot rootkit”) sont des menaces informatiques dangereuses. Ce sont des logiciels malveillants capables de corrompre le démarrage du système d’exploitation pour se charger très tôt et avoir des privilèges d’exécution très bas. Ils peuvent donc prendre la main sur un système informatique bien avant les antivirus pour contrôler entièrement le système. Ainsi, les attaquants gagnent en persistance sur l’appareil.

Pour se protéger des bootkits, l’UEFI apporte entre autre le mécanisme de SecureBoot (démarrage sécurisé). SecureBoot est un mécanisme de vérification pour garantir que le code lancé par le firmware est fiable avec des clés de chiffrement.

Et donc la solution ! SecureBoot qui ne permet pas de lancer les pilotes tiers non singés ! Tiens ! Sans désactiver SecureBoot (ce qui permet de repasser sous Win 11 si nécessaire)... il est possible d'utiliser des pilotes propriétaires sur Linux, en recréant les clés de sécurité ! C'est la même solution qu'on aurait dû essayer depuis le début ! Comme quoi, il fallait creuser le truc !

Je vous donne la solution !

Vérifier si SecureBoot est présent : mokutil --sb-state Recréer les clé SecureBoot : sudo update-secureboot-policy --enroll-key (si cela ne fonctionne pas faire : sudo update-secureboot-policy --new-key ) Entrer un mot de passe temporaire Redémarrer le PC Au démarrage, il vous propose cet écran, choisissez le second choix Enroll MOK. Entrer le mot de passe temporaire, le PC va redémarrer...

Et l'écran sera reconnu ! (le souris aussi au passage ;) )

#Nvidia #Mint #SecureBoot #Razer #Linux


Dans les communautés linuxiennes, il y a quelques débats animés sur certains sujets (cela va parfois jusqu'aux insultes ou aux attaques ad hominem), voici celui sur la transition entre X11 et Wayland.

De quoi s'agit-il ?

Ici, il va être question de la manière d'afficher des informations sur votre PC, de gérer différents système d'entrées (clavier, souris...).

X.org, l'ancien

X est un système de fenêtrage né en 1984 qui gère l'écran, la souris et le clavier (et divers autres comme les tablettes graphiques par exemple). X11 est la version “11”. Schéma client-serveur de X Window (source : Wikipédia) Pour bien comprendre X, il s'agit d'un fonctionnement client-serveur. Le serveur X dispose de l'écran, de la souris, du clavier. Les clients (applications) lui demandent d'utiliser le matériel et l'affichage avec Xlib. Parmi les clients de X, le gestionnaire de fenêtres va gérer l'affichage, la sélection ou le redimensionnement des fenêtres…

Bibliothèques pour la programmation de X (source : Wikipédia) X est ancien, et différentes voies s'élèvent pour le remplacer. Il existe aussi différents soucis, notamment de sécurité (une application demandant un accès clavier est visible pour d'autres applications) et d'autres liés à la structure même de Xorg (les différentes extensions dont la plupart ne sont plus utilisées mais dont le code, ancien, reste toujours présent et demande toujours des dépendances).

Qu'un nouveau protocole d'affichage existe, c'est une bonne chose, une évolution importante notamment dans le support de technologies récentes. Puisque X11 est ancien, difficile à maintenir à jour, très complexe pour les développeurs...

Wayland, le protocole au développement chaotique

La première version de Wayland date de 2008. Si Xorg est âgé de 40 ans, Wayland en est déjà a 15 ans. La faute à un développement chaotique, une gouvernance “à la Gnome” (ils sont les meilleurs et les autres ce ne sont que des abrutis barbus utopistes)...

Wayland est conçu pour être léger et efficace, visant à réduire la latence et à améliorer les performances globales par rapport à Xorg. Il y parvient en éliminant certaines des fonctionnalités héritées et des mécanismes obsolètes présents dans Xorg, ce qui entraîne des interfaces utilisateur plus réactives.

Wayland a été construit avec la sécurité à l'esprit à partir de zéro. Il adopte une architecture plus sécurisée, mettant en œuvre des contrôles plus stricts sur la communication des processus et l'isolement des applications les unes des autres. Cette conception aide à atténuer certaines vulnérabilités et rend plus difficile pour les logiciels malveillants de compromettre le système.

Malheureusement, il n'y a pas de compositeur unique universellement utilisé. Chaque environnement de bureau fait le sien et, par conséquent, ce qui fonctionne dans l'un peut ne pas fonctionner dans un autre.

Pourquoi il y a débats ?

Je ne dis pas que Wayland c'est de la “merde”, mais plutôt que ce n'est pas encore prêt à être conseillé à un débutant. Xwayland, la couche qui doit permettre une compatibilité parfaite entre les applications développées avec Xorg et l'environnement Wayland ne tient pas ses promesses. Les spécifications de Wayland sont parfois de réels freins à des fonctionnalités importantes pour beaucoup d'utilisateurs (gestion des couleurs par exemple). La nouveauté de Wayland fait que toutes les applications doivent, à un moment ou un autre, se poser la question de migrer vers Wayland. Cela pose des problèmes pour des équipes de développement qui n'ont pas forcément anticipé ce genre de travail supplémentaire. Et justement, quand je vois le soucis de Discord, je ne suis pas sûr que cette boîte investisse plus d'énergies pour supporter Wayland dans un futur proche (on espère hein, mais ça reste de l'espoir). Ces développements supplémentaires, les utilisateurs vont les subir, soit en attendant que des applications, serveurs graphiques ou applications migrent, soit en se passant d'applications importantes dans leur quotidien (qui imagine utiliser son service de visio sans partage d'écran ?). Sur un marché restreint mais en devenir comme Linux, c'est un sacré handicap.

RedHat, Gnome, imposer une nouvelle technologie pour accélérer son développement.

Wayland n'est pas prêt en décembre 2023. Beaucoup de fonctionnalités manquent ou sont encore en phase de développement, pire, certaines vont devoir “hacker” le fonctionnement de Wayland pour être implantées... comme ce fut le cas avec Xorg...

Mais Wayland est poussé/financé par RedHat. Les développeurs de RedHat ont travaillé pendant des années sur Xorg, et depuis peu, presque tous ont migré vers le développement de Wayland. Gnome souhaite supprimer le support de Xorg par défaut (pour la faire réapparaître, il faudra ajouter 8 lignes de codes dans un fichier de configuration). Et Ubuntu suit le mouvement en annonçant que leur prochaine version LTS (en avril 2024) sera disponible par défaut avec Wayland.

La démarche est claire : faire migrer de force les utilisateurs pour faire bouger les développeurs, et ce, même si toutes les fonctionnalités de Xorg ne sont pas implantées dans Wayland (la gestion des couleurs par exemple).

Et clairement, ce management ne passe pas. Exemples.

GIMP

Le logiciel phare de retouche photo du monde Linux souffre depuis des années d'un développement lent. Depuis 2, 3 ans, son développement s'est accéléré (avec le passage annoncé en GTK3). Mais cette dynamique est fragile. Xwayland ne permettant pas une compatibilité efficiente avec la version de GIMP actuelle. Tous les développeurs de GIMP doivent bosser sur la version Wayland, et ils le font depuis au moins 2020. Et malheureusement, le protocole ne supporte pas encore la gestion de couleur, le drag and drop entre différentes fenêtres, une gestion unifiée des fenêtrages d'une application, le support matériel pour des dispositifs de pointage importants (stylets à pression, tablette graphique, écrans tactiles...).

Dans cette affaire, ce n'est pas seulement le développement lent de GIMP qu'il faut pointer mais bien la gouvernance de Wayland qui fait comme bon leur semble sans consulter toutes les parties concernées et qui force une migration alors que le protocole manque de fonctionnalités essentielles. Ce n'est pas aux développeurs de GIMP d'écrire les protocoles manquants (pas le temps, pas les compétences...).

PCSX2

C'est un émulateur de console PS2. Le seul valable et surtout celui qui est le plus utilisé. La version Linux fonctionne bien, surtout depuis l'ajout du rendu Vulkan (elle était en-dessous de la version Windows depuis des années). Les problèmes sont nombreux et dû au manque de support de nombreuses fonctionnalités dans GTK. Les autres DE ne semblent pas avoir ces soucis. Explications techniques ici

Alors Wayland ou pas ?

Pas encore ! Il est certain que Wayland sera à terme, le remplaçant idéal pour X11. Pour le moment, quand on passe à Wayland, on dégrade son expérience Linux. Des outils pro comme Krita avec la gestion de couleur, c'est nécessaire pour de nombreux projets, et pas seulement avec Krita, mais toute la chaîne graphique sous Linux : Inkscape, Scribus, GIMP, LibreOffice, Blender... Le support de matériel de pression, le multi-fenêtrage ce sont des fonctionnalités importantes (et bien d'autres sont listées ici). Alors, oui si vous n'utilisez pas ces logiciels, vous allez me dire que ce n'est pas grave, pour vous Wayland fonctionne bien... Pour le moment, si vous n'avez pas de carte graphique Nvidia, que vous n'utilisez pas le partage d'écran, que vous ne faites pas de la vidéo en direct ni que vous utilisiez des applications en multi-fenêtrage vous ne devriez pas avoir de problèmes. Bref, si vous êtes le mouton à cinq pattes qui n'a pas de soucis et qui remplace ses applications utilisées par d'autres, bin, tant mieux pour vous.

Pourquoi cela fait rager des gens ?

Parce que le nombre d'utilisateurs Linux est déjà restreint (2% sur la plate-forme Steam) et que les restreindre encore plus à cause d'une “mise à jour technique” (parce que c'est comme cela que c'est compris par des utilisateurs lambda), c'est encore plus se tirer une balle dans le pied. Changer d'application parce qu'elle ne fonctionne plus à cause du changement de serveur graphique c'est autant un obstacle qu'une ineptie pour les utilisateurs qui se détourneront de Linux et retourneront soit chez Win-IA-dows, soit chez App-$-le.

Petit rajout de dernière minute : Linux Mint n'incorporera Wayland définitivement qu'en 2026.

In terms of timing we don’t think we need Wayland support to be fully ready (i.e. to be a better Cinnamon option for most people) before 2026 (Mint 23.x)

https://blog.linuxmint.com/?s=wayland&submit=Search

#Wayland #Xorg #X11 #Mint #Ubuntu #Fedora